| name | seo |
| description | 기술 SEO, 온페이지 최적화, 구조화 데이터, Core Web Vitals, 콘텐츠 전략 전반에 걸쳐 SEO 개선을 감사, 계획, 구현합니다. 검색 가시성, 스키마 마크업, sitemap/robots, keyword mapping이 필요할 때 사용합니다. |
| origin | ECC |
SEO
꼼수가 아니라 기술적 정확성, 성능, 콘텐츠 관련성을 통해 검색 가시성을 높입니다.
사용 시점
- crawlability, indexability, canonicals, redirects를 감사할 때
- title tag, meta description, heading 구조를 개선할 때
- structured data를 추가하거나 검증할 때
- Core Web Vitals를 개선할 때
- keyword research와 URL 매핑을 할 때
- internal linking이나 sitemap / robots 변경을 계획할 때
동작 방식
원칙
- 콘텐츠 최적화 전에 기술적 blocker를 먼저 고칩니다
- 한 페이지는 하나의 명확한 검색 의도를 가져야 합니다
- 조작적 패턴보다 장기 품질 신호를 우선합니다
- 모바일 우선 인덱싱이므로 mobile-first 가정이 중요합니다
- 권고는 페이지별로 구체적이고 구현 가능해야 합니다
기술 SEO 체크리스트
Crawlability
robots.txt는 중요한 페이지를 허용하고 저가치 표면을 차단해야 합니다
- 중요한 페이지에 의도치 않은
noindex가 없어야 합니다
- 중요한 페이지는 얕은 click depth에서 도달 가능해야 합니다
- 두 홉을 넘는 redirect chain은 피합니다
- canonical tag는 자기 일관적이고 loop가 없어야 합니다
Indexability
- 선호 URL 형식은 일관돼야 합니다
- 다국어 페이지는 사용할 경우 올바른 hreflang 필요
- sitemap은 의도한 공개 표면을 반영해야 합니다
- canonical 제어 없는 중복 URL 경쟁을 피합니다
성능
- LCP < 2.5s
- INP < 200ms
- CLS < 0.1
- 일반적 수정: hero asset preload, render-blocking 작업 감소, layout space 예약, 무거운 JS 축소
Structured data
- 홈페이지: Organization / Business schema
- 에디토리얼 페이지:
Article / BlogPosting
- 상품 페이지:
Product / Offer
- 내부 페이지:
BreadcrumbList
- Q&A 섹션: 실제로 FAQ 구조일 때만
FAQPage
온페이지 규칙
Title tags
- 대략 50~60자
- 주요 키워드는 앞쪽
- 봇이 아니라 사람이 읽기 쉬워야 함
Meta descriptions
- 대략 120~160자
- 페이지를 정직하게 설명
- 주요 주제를 자연스럽게 포함
Heading 구조
- 명확한
H1 하나
H2, H3는 실제 콘텐츠 계층을 반영
- 시각 스타일만 때문에 구조를 깨지 않음
Keyword mapping
- 검색 의도 정의
- 현실적인 키워드 변형 수집
- intent match, 가치, 경쟁도 기준 우선순위화
- 하나의 primary keyword/theme를 하나의 URL에 매핑
- cannibalization 탐지 및 방지
Internal linking
- 강한 페이지에서 랭크시키고 싶은 페이지로 링크
- 설명적인 anchor text 사용
- generic anchor보다 구체적인 anchor 우선
- 새 페이지에서 관련 기존 페이지로 백링크 채움
예시
Title 공식
Primary Topic - Specific Modifier | Brand
Meta description 공식
Action + topic + value proposition + one supporting detail
JSON-LD 예시
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Page Title Here",
"author": {
"@type": "Person",
"name": "Author Name"
},
"publisher": {
"@type": "Organization",
"name": "Brand Name"
}
}
감사 출력 형태
[HIGH] Duplicate title tags on product pages
Location: src/routes/products/[slug].tsx
Issue: Dynamic titles collapse to the same default string.
Fix: Generate a unique title per product using the product name and primary category.
안티패턴
| Anti-pattern | Fix |
|---|
| keyword stuffing | 사용자 우선 작성 |
| 얇은 중복 페이지 | 통합하거나 차별화 |
| 실제 없는 콘텐츠에 대한 schema | 현실과 schema 일치 |
| 실제 페이지 확인 없는 조언 | 페이지를 먼저 읽기 |
| generic “improve SEO” 출력 | 페이지나 자산에 연결된 권고 |
관련 스킬
seo-specialist
frontend-patterns
brand-voice
market-research