Community코딩 & 개발github.com

블로그 SEO 체크

작성 완료된 블로그 포스트에 대해 포괄적인 온페이지 SEO 검증을 수행하고, 각 실패 항목에 대한 구체적인 수정 방안이 포함된 합격/불합격 체크리스트를 생성합니다.

블로그 SEO 체크란 무엇인가요?

블로그 SEO 체크는 블로그 포스트를 게시하기 전에 포괄적인 온페이지 SEO 검증을 자동화하는 AI 에이전트 스킬입니다. 사용자는 파일 경로나 URL을 제공하기만 하면 되며, 이 스킬은 제목, 메타 설명, heading 계층 구조, 내부 및 외부 링크, 정식 URL, OG 메타 태그, Twitter 카드, URL 구조 등 10가지 주요 SEO 요소를 체계적으로 점검합니다. 각 검사 항목은 구체적인 합격 기준을 가지며, 실패 시 즉시 실행 가능한 수정 제안을 제공합니다. 이 스킬은 Claude Code, Cursor, Codex 등 다양한 AI 코딩 에이전트 플랫폼에서 사용할 수 있으며, 프로젝트 디렉토리를 스캔하여 기존 블로그 콘텐츠를 찾고 양방향 링크를 확인합니다. 또한, 게시된 URL이 있고 blog-google 자격 증명이 있는 경우 Google PageSpeed Insights 점수를 리포트에 추가하여 성능 검토를 제공합니다. 각 검사 단계는 명확한 기준과 함께 표 형식으로 구성되어 있어, 개발자와 콘텐츠 작성자가 SEO 문제를 신속하게 파악하고 해결할 수 있도록 돕습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AgriciDaniel/claude-blog/tree/main/skills/blog-seo-check

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

블로그 SEO 체크 -- 작성 후 검증

완료된 블로그 포스트에 대해 포괄적인 온페이지 SEO 검증을 수행하고 각 실패 항목에 대한 구체적인 수정 방안이 포함된 합격/불합격 체크리스트를 생성합니다. 작성 후 실행하여 게시 전 문제를 발견하도록 설계되었습니다.

워크플로우

1단계: 콘텐츠 읽기

대상 파일을 읽고 다음을 추출합니다.

  • Frontmatter - 제목, 설명, 날짜, lastUpdated, 저자, 태그, canonical, og:image, slug/URL
  • Heading 구조 - 전체 텍스트가 포함된 H1, H2, H3 계층 구조
  • 링크 - 앵커 텍스트가 포함된 모든 내부 및 외부 링크
  • 메타 태그 - OG 태그, Twitter Card 태그, 정식 URL
  • 본문 콘텐츠 - 키워드 및 구조 분석을 위한 전체 텍스트

사용자가 파일 경로 대신 URL을 제공하는 경우 WebFetch를 사용하여 페이지를 검색하고 관련 요소를 추출합니다.

2단계: 제목 태그 검증

검사 항목합격 기준
문자 수40-60자 (SERP에서 잘리지 않음)
키워드 배치기본 키워드가 제목 앞부분에 위치
파워 워드하나 이상의 파워 워드 포함 (예: 가이드, 최고, 방법, 이유, 필수, 입증된, 완벽한)
잘림 위험60자에서 잘려도 중요한 의미 손실 없음
고유성일반적이지 않고 콘텐츠에 특화됨

3단계: 메타 설명

검사 항목합격 기준
문자 수150-160자
통계 포함하나 이상의 특정 숫자 또는 데이터 포인트 포함
가치 제안명확한 독자 혜택 또는 가치 제안으로 끝남
키워드 포함기본 키워드가 자연스럽게 나타남 (강제 삽입 아님)
키워드 스터핑 없음키워드가 최대 한 번만 나타남
행동 유도행동을 암시 (배우다, 발견하다, 알아보다, 보다)

4단계: Heading 계층 구조

검사 항목합격 기준
단일 H1정확히 하나의 H1 태그 (제목)
레벨 건너뛰기 없음H1 -> H2 -> H3, H1 -> H3 또는 H2 -> H4 안 됨
Heading 내 키워드2-3개의 heading에 기본 키워드 포함 (자연스럽게, 강제 아님)
질문 형식H2 heading의 60-70%가 질문 형식
H2 개수표준 블로그 포스트에서 6-8개의 H2 섹션
Heading 길이각 heading 70자 미만

5단계: 내부 링크

검사 항목합격 기준
링크 개수포스트당 3-10개의 내부 링크
앵커 텍스트설명적임 ("여기를 클릭" 또는 "더 읽기" 아님)
양방향링크된 페이지도 다시 링크하는지 확인 (그렇지 않으면 플래그)
고립 상태 없음포스트가 사이트의 다른 페이지에 최소 3개 이상 링크
링크 분포링크가 포스트 전체에 고르게 분포, 군집되지 않음
자기 링크 없음포스트가 자신에게 링크하지 않음

Grep과 Glob을 사용하여 프로젝트에서 기존 블로그 콘텐츠를 스캔하고 가능한 경우 양방향 링크를 확인합니다.

5.5단계: 링크 중복 제거

검사 항목합격 기준
중복 URL 없음각 URL이 본문에 최대 한 번만 나타남
최상의 인스턴스 유지중복이 있는 경우 가장 설명적인 앵커 텍스트를 가진 인스턴스 유지
내비게이션 예외헤더/푸터 내비게이션 링크는 본문 중복 계산에서 제외
프래그먼트 정규화다른 #프래그먼트가 있는 URL은 동일한 URL로 처리

발견된 각 중복에 대해:

  1. URL 정규화 (후행 슬래시, 쿼리 파라미터, 프래그먼트 제거)
  2. 앵커 텍스트 설명력에 따라 각 인스턴스 점수 매기기 (키워드 풍부 > 일반)
  3. 가장 높은 점수의 인스턴스 유지, 나머지 제거 권장
  4. 중복당 SEO 최적화 점수에서 1점 차감

Google은 페이지당 URL당 1-2개의 앵커 텍스트를 기록합니다 (Zyppy 2023). 최적: 본문에서 동일한 URL에 한 번 링크; 2,000단어당 5-10개의 내부 링크; 페이지당 최대 ~50개의 총 링크.

6단계: 외부 링크

검사 항목합격 기준
소스 계층Tier 1-3 소스에만 링크 (권위 있는 소스, SEO 블로그 아님)
끊어진 링크WebFetch를 사용하여 주요 외부 링크가 접근 가능한지 확인
Rel 속성외부 링크에 적절한 rel 속성 있음 (스폰서/UGC의 경우 nofollow)
링크 개수권위 있는 소스에 최소 3개의 외부 링크
경쟁사 링크 없음불필요하게 직접 경쟁사에 링크하지 않음

7단계: 정식 URL

검사 항목합격 기준
존재 여부Frontmatter 또는 메타 태그에 정식 URL이 정의됨
올바른 형식전체 절대 URL (https://도메인.com/경로)
후행 슬래시사이트 규칙과 일치 (혼합된 후행 슬래시 없음)
자기 참조정식 URL이 페이지 자체를 가리킴 (의도적인 교차 도메인인 경우 제외)

8단계: OG 메타 태그

검사 항목합격 기준
og:title존재하며, 제목 태그와 일치하거나 보완함
og:description존재하며, 150-160자, 소셜 공유에 매력적임
og:image존재하며, 최소 1200x630 픽셀, 절대 URL
og:type블로그 포스트의 경우 "article"로 설정
og:url존재하며, 정식 URL과 일치
og:site_name존재하며, 사이트/브랜드 이름과 일치

9단계: Twitter 카드

검사 항목합격 기준
twitter:card블로그 포스트의 경우 "summary_large_image"로 설정
twitter:title존재하며, 70자 미만
twitter:description존재하며, 200자 미만
twitter:image존재하며, og:image와 같거나 유사
twitter:site사이트에 Twitter/X 계정이 있는 경우 존재

10단계: URL 구조

검사 항목합격 기준
길이짧음 - 경로 부분이 75자 미만
키워드 포함URL 슬러그에 기본 키워드 또는 유사 변형 포함
날짜 없음URL에 /2025/ 또는 /2026/ 날짜 세그먼트 포함 안 됨
특수 문자 없음소문자, 숫자, 하이픈만 사용
소문자전체 URL 경로가 소문자
불용어 없음슬러그에서 "the", "a", "and", "of" 최소 사용
파일 확장자 없음URL에 .html 또는 .php 없음 (클린 URL)

11단계: 보고서 생성

다음 형식의 포괄적인 SEO 검증 보고서를 출력합니다.

## SEO 검증 보고서: [제목]

**파일**: [경로 또는 URL]
**날짜**: [검사 날짜]
**전체**: [X/Y 검사 통과] - [통과/개선 필요/실패]

### 결과

| # | 검사 항목 | 상태 | 세부 정보 | 수정 방안 |
|---|-------|--------|---------|-----|
| 1 | 제목 길이 | 통과 | 52자 | - |
| 2 | 제목 키워드 | 통과 | "키워드"가 앞부분에 위치 | - |
| 3 | 제목 파워 워드 | 실패 | 파워 워드 없음 | "가이드", "필수", 또는 "완벽한" 추가 |
| 4 | 메타 설명 길이 | 통과 | 155자 | - |
| 5 | 메타 설명 통계 | 실패 | 숫자 없음 | 포스트의 주요 통계 추가 |
| ... | ... | ... | ... | ... |

### 요약

**통과**: [N]개 검사
**실패**: [N]개 검사

### 우선 수정 사항
1. [가장 영향력 있는 수정 - 변경할 내용 및 위치]
2. [두 번째로 영향력 있는 수정]
3. [세 번째로 영향력 있는 수정]

### 참고 사항
- [전반적인 SEO 상태에 대한 관찰 사항]
- [체크리스트 외 개선 제안 사항]

상태 값:

  • 통과 - 기준 충족
  • 실패 - 기준 미충족, 수정 방안 제공
  • 경고 - 기준을 부분적으로 충족하거나 경계 사례, 권장 사항 제공
  • 해당 없음 - 적용 불가 (예: 사이트에 X 계정이 없는 경우 Twitter Card 태그 없음)

선택 사항: 실시간 성능 확인 (blog-google)

게시된 URL이 있고 blog-google 자격 증명을 사용할 수 있는 경우:

  1. 자격 증명 확인: python3 skills/blog-google/scripts/run.py google_auth --check --json
  2. Tier 0+인 경우 PageSpeed 실행: python3 skills/blog-google/scripts/run.py pagespeed_check <url> --json
  3. 보고서에 추가:
    • Lighthouse 성능, 접근성, 모범 사례, SEO 점수
    • CWV 필드 데이터 (LCP, INP, CLS)와 신호등 등급
    • 예상 절감액이 포함된 상위 3개 기회
  4. 자격 증명을 사용할 수 없거나 URL이 게시되지 않은 경우 자동으로 건너뜁니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

관련 스킬