144 lines
3.8 KiB
Markdown
144 lines
3.8 KiB
Markdown
---
|
|
name: verify-seo-geo
|
|
description: |
|
|
Nuxt 프로젝트를 SEO · AEO · GEO 3계층으로 자동 감사하고
|
|
useSeoMeta, useSchemaOrg 기반 메타/구조화 데이터 코드를 자동 생성합니다.
|
|
AI 검색(ChatGPT, Perplexity, Google AI Overview) 대응까지 포함합니다.
|
|
|
|
다음 상황에서 반드시 사용하세요:
|
|
- "SEO 검증해줘", "메타 태그 확인해줘", "AEO/GEO 대응해줘"
|
|
- Schema.org 구조화 데이터가 필요할 때
|
|
- AI 검색 노출을 높이고 싶을 때
|
|
---
|
|
|
|
# SEO · GEO · AEO 검증 (verify-seo-geo)
|
|
|
|
Nuxt 프로젝트 → SEO / AEO / GEO 3계층 자동 감사 → 메타 + Schema 코드 생성.
|
|
|
|
## 언제 사용하는가
|
|
|
|
- 배포 전 SEO 메타 누락 여부를 확인할 때
|
|
- AI 검색 엔진(ChatGPT, Perplexity 등)에 콘텐츠 인용률을 높이고 싶을 때
|
|
- Schema.org 구조화 데이터를 처음 적용할 때
|
|
|
|
## 3계층 정의
|
|
|
|
| 계층 | 목표 | 핵심 기술 |
|
|
|---|---|---|
|
|
| **SEO** | 전통 검색 엔진 노출 | 메타 태그, Open Graph, sitemap |
|
|
| **AEO** (Answer Engine Optimization) | 검색 결과 직접 답변(Featured Snippet) | FAQ Schema, HowTo Schema |
|
|
| **GEO** (Generative Engine Optimization) | AI 검색 인용 | 구조화 데이터, 명확한 문서 구조 |
|
|
|
|
---
|
|
|
|
## 작업 순서
|
|
|
|
### Phase 1: 현황 감사
|
|
|
|
1. 대상 페이지 파일을 읽어 아래 항목을 체크한다.
|
|
|
|
#### SEO 기본 체크리스트
|
|
- [ ] `useSeoMeta()` 사용 여부
|
|
- [ ] `title`, `description` 설정 여부 (title 50~60자, description 150~160자)
|
|
- [ ] `ogTitle`, `ogDescription`, `ogImage` 설정 여부
|
|
- [ ] `canonical` URL 설정 여부
|
|
- [ ] `<NuxtImg>` 사용 + `alt` 텍스트 여부
|
|
- [ ] H1 태그 존재 및 키워드 포함 여부
|
|
- [ ] 페이지 로딩 속도 (verify-perf 연계)
|
|
|
|
#### AEO / GEO 체크리스트
|
|
- [ ] FAQ, HowTo, Article 등 Schema.org 적용 여부
|
|
- [ ] 구조화 데이터 JSON-LD 유효성
|
|
- [ ] 콘텐츠 답변 가능성 (질문 → 명확한 답변 구조)
|
|
|
|
### Phase 2: SEO 코드 생성
|
|
|
|
```ts
|
|
// pages/product/[id].vue
|
|
useSeoMeta({
|
|
title: `${product.name} | 브랜드명`,
|
|
description: product.description.slice(0, 155),
|
|
ogTitle: `${product.name} | 브랜드명`,
|
|
ogDescription: product.description.slice(0, 155),
|
|
ogImage: product.imageUrl,
|
|
ogType: 'product',
|
|
twitterCard: 'summary_large_image',
|
|
})
|
|
|
|
useHead({
|
|
link: [{ rel: 'canonical', href: `https://example.com/product/${product.id}` }],
|
|
})
|
|
```
|
|
|
|
### Phase 3: Schema.org 구조화 데이터
|
|
|
|
#### FAQ Schema (AEO)
|
|
```ts
|
|
useSchemaOrg([
|
|
defineQuestion({
|
|
name: '자주 묻는 질문 1',
|
|
acceptedAnswer: { text: '답변 내용' },
|
|
}),
|
|
])
|
|
```
|
|
|
|
#### HowTo Schema
|
|
```ts
|
|
useSchemaOrg([
|
|
defineHowTo({
|
|
name: '사용 방법',
|
|
step: [
|
|
{ name: '1단계', text: '설명' },
|
|
{ name: '2단계', text: '설명' },
|
|
],
|
|
}),
|
|
])
|
|
```
|
|
|
|
#### Article Schema (GEO)
|
|
```ts
|
|
useSchemaOrg([
|
|
defineArticle({
|
|
headline: article.title,
|
|
description: article.summary,
|
|
datePublished: article.publishedAt,
|
|
dateModified: article.updatedAt,
|
|
author: [{ name: article.author }],
|
|
}),
|
|
])
|
|
```
|
|
|
|
### Phase 4: GEO 콘텐츠 구조 개선 제안
|
|
|
|
AI 검색 인용을 높이기 위한 콘텐츠 구조 권고:
|
|
- 명확한 소제목(H2/H3)으로 콘텐츠 분절
|
|
- 핵심 개념은 첫 단락에 요약
|
|
- 테이블/리스트로 스캔 가능한 정보 구조화
|
|
- 정의·비교·절차 형식의 콘텐츠 우선 작성
|
|
|
|
---
|
|
|
|
## 출력 형식
|
|
|
|
```
|
|
## SEO/GEO/AEO 검증 리포트: <페이지명>
|
|
|
|
### SEO 현황
|
|
- title: 있음 / 없음 / 글자수 초과
|
|
- description: 있음 / 없음
|
|
- OG 태그: NN/6 항목 적용
|
|
- Schema.org: 없음 / FAQ / Article / ...
|
|
|
|
### 🚨 Critical
|
|
- [누락된 필수 메타 항목]
|
|
|
|
### ⚠️ Warning
|
|
- [개선 권장 항목]
|
|
|
|
### 생성된 코드
|
|
[useSeoMeta + useSchemaOrg 코드]
|
|
|
|
### GEO 개선 제안
|
|
[콘텐츠 구조 개선 방향]
|
|
```
|