Community라이팅 & 에디팅github.com

jdevalk/skills

블로그 포스트 초안이나 페이지 카피를 검토하여 콘텐츠 수준의 SEO를 감사합니다: 검색 의도 적합성, 포커스 키프레이즈 배치, E-E-A-T 신호(경험, 전문성, 권위, 신뢰성), 유용성과 독창성, 콘텐츠 신선도, 내부 링크 등. 사용자가 "이 글이 랭크될까요?", "이 포스트 SEO 체크", "콘텐츠 SEO 감사", "검색용으로 포스트 최적화"를 요청할 때 사용하거나, 랭킹을 목표로 하는 포스트에 가독성 검사를 수행한 후 능동적으로 사용하세요. 문장 가독성은 `readability-check`, 제목과 메타 설명은 `metadata-check`, 사이트 전체 기술 SEO(사이트맵, 구조화 데이터, 정규 URL)는 `astro-seo` 또는 `static-seo`를 사용하세요.

skills란 무엇인가요?

이 스킬은 블로그 포스트나 페이지 초안이 검색 결과에서 순위를 얻을 만한 가치가 있는지 평가하는 콘텐츠 SEO 감사 도구입니다. 문장 가독성(readability-check)이나 메타데이터(metadata-check)와는 다른, '콘텐츠 자체가 클릭을 받을 자격이 있는지'에 집중합니다. 주요 검사 항목으로는 검색 의도(정보 탐색, 상업 조사, 거래, 내비게이션) 일치 여부, 포커스 키프레이즈의 자연스러운 배치, Google의 E-E-A-T(경험, 전문성, 권위, 신뢰성) 신호, 기존 상위 콘텐츠와 차별화된 유용성과 독창성, 시간에 민감한 정보의 신선도, 그리고 사이트 내 내부 링크 구조와의 조화를 확인합니다. Claude Code, Cursor, Codex 등 AI 코딩 에이전트와 함께 사용할 수 있으며, 각 항목별로 구체적인 문제점과 수정 제안을 인용문과 함께 제공하고 최종적으로 '준비 완료', '수정 가능', '쿼리에 부적합한 콘텐츠' 세 가지 평결을 내립니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jdevalk/skills/tree/HEAD/content-seo

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

문서

콘텐츠 SEO 감사

포스트나 페이지 초안이 순위를 얻을 자격이 있는지 감사합니다 — 문장이 어떻게 읽히는지가 아닌, 콘텐츠 수준의 질문을 다룹니다: 이 포스트가 실제 검색 의도와 일치하는지, 검색자가 사용하는 단어를 사용하는지, 경험과 신뢰성을 보여주는지, 검색자에게 머무를 이유를 제공하는지.

이는 작성 품질 체인의 세 번째 단계입니다. 먼저 readability-check (문장 가독성), metadata-check (제목과 메타 설명)를 실행하고, 마지막으로 이 스킬로 콘텐츠가 클릭을 받을 자격이 있는지 평가하세요. 기술 SEO — 사이트맵, 구조화 데이터, 정규 URL, 성능 — 는 astro-seo 또는 static-seo에 속합니다.

감사 전 확인 사항

두 가지 정보가 필요합니다. 사용자가 제공하지 않았다면 추론하고 가정을 명시하세요 — 잘못된 가정을 표시하는 것이 묵묵히 넘어가는 것보다 낫습니다:

  • 포커스 키프레이즈: 이 포스트가 순위를 목표로 하는 정확한 쿼리로, 검색자가 입력할 단어 그대로여야 합니다. 사용자가 직접 지정할 수 없으면 제목과 제목에서 명백한 키프레이즈를 추론하고 — 이를 첫 번째 발견 사항으로 보고하세요, 왜냐하면 타겟 쿼리 없이 작성된 포스트는 대개 어떤 쿼리도 효과적으로 서비스하지 못하기 때문입니다.
  • 대상 독자와 그들의 문제: 이 페이지에 도달하는 사람과 그들이 검색할 때 해결하려고 했던 문제.

독자가 품질을 결정합니다, 작성자가 아닙니다. 아래 각 검사는 하나의 질문으로 귀결됩니다: 이 콘텐츠가 이미 순위에 있는 콘텐츠보다 쿼리를 입력한 사람에게 더 잘 서비스합니까?

확인할 항목

전체 포스트를 읽고, 아래 각 기준에 대해 보고하세요. 각 문제에 대해 구체적인 텍스트를 인용하고, 위치를 참조하며, 문제를 설명하고, 구체적인 수정을 제안하세요.

1. 검색 의도 적합성

검색자는 네 가지 의도 중 하나로 도착하며, 콘텐츠 유형이 일치해야 합니다:

  • 정보 탐색 ("X는 어떻게 작동하나요") — 가이드나 설명을 원하며, 제품 홍보가 아닙니다.
  • 상업 조사 ("Y에 가장 좋은 X", "X vs Z") — 비교와 정직한 장단점을 원합니다.
  • 거래 ("X 구매", "X 가격") — 구매로 가는 명확한 경로가 있는 제품 또는 카테고리 페이지를 원합니다.
  • 내비게이션 ("X 로그인", 브랜드명) — 특정 페이지를 원합니다. 블로그 포스트로 가로채지 마세요.

확인사항:

  • 키프레이즈의 지배적인 의도를 식별하고 콘텐츠 유형이 일치하는지 확인하세요. 정보 탐색 쿼리를 타겟으로 한 판매 페이지는 방문자를 두 번째 문단이 나오기 전에 잃습니다 — 그들은 답을 원했지만 홍보를 받았습니다.
  • 클릭 유도 문구는 의도와 일치해야 합니다. 정보 탐색 페이지 → 소프트 CTA (관련 읽을거리, 뉴스레터); 거래 페이지 → 제품으로 가는 직접적인 경로. 정보 탐색 포스트에서 강한 판매를 지적하세요.
  • 검색자의 질문에 대한 답변은 800단어의 서론이 아닌 초반에 나타나야 합니다. 답변을 위해 스크롤해야 하는 검색자는 검색 결과로 돌아갑니다 — 그리고 그 복귀는 순위를 떨어뜨리는 부정적 신호입니다.

2. 포커스 키프레이즈 배치

키프레이즈는 검색자와 검색 엔진 모두에게 이 페이지가 그들의 질문에 답변한다는 것을 확인시켜줍니다. 양쪽이 가장 중요하게 여기는 위치에 자연스럽게 나타나야 합니다:

  • 페이지 제목과 첫 번째 문단. 검색자는 방문 후 몇 초 안에 자신의 쿼리를 인식할 수 있어야 합니다.
  • 어색하지 않은 범위 내에서 하나 또는 두 개의 제목.
  • 여러 핵심 문장 (문단의 첫 번째 문장). 주제를 벗어나지 않는 잘 구성된 포스트에서는 이는 자연스럽게 발생합니다 — 강제로 넣어야 한다면 포스트가 주제에서 벗어난 것이며, 그것이 실제 발견사항입니다.
  • 검색자의 말을 사용하고, 내부 전문 용어는 사용하지 마세요. 대상 독자가 "사이트 속도"를 검색하는데 포스트 전체가 "성능 최적화"라고만 한다면, 그 포스트는 자신의 독자에게 보이지 않습니다.

그리고 반대 확인사항:

  • 절대 강제로 넣지 마세요. 키프레이즈가 문장을 어색하게 만든다면, 문장이 이깁니다. 검색 엔진은 동의어와 단어 형태를 인식합니다; 독자는 어색한 문장을 용서하지 않습니다.
  • 다양하게 사용하세요. 정확한 구문을 기계적으로 반복하는 것은 독자와 검색 엔진 모두에게 키워드 스터핑으로 읽힙니다. 동의어와 관련 구문은 더 많은 쿼리를 포괄하고 읽기도 좋습니다.

3. E-E-A-T 신호

검색 품질 평가자는 경험, 전문성, 권위, 신뢰성을 평가합니다. 이는 추상적인 미덕이 아닙니다 — 각각은 텍스트에서 보이거나(또는 없거나) 드러납니다:

  • 경험: 포스트가 실제로 해본 사람만이 알 수 있는 첫 번째 경험을 보여주나요? 실제 숫자, 실제 결과의 스크린샷, 무엇이 잘못되었는지, 저자를 놀라게 한 것. 다른 포스트에서 조립한 포스트는 이것이 전혀 없으며, 그 차이가 드러납니다.
  • 전문성: 저자가 식별되고, 이 주제에 대해 신뢰할 이유가 있나요? 주장이 출처가 있는지 — 단순히 주장하는 것이 아니라 신뢰할 수 있는 참고 자료에 연결되어 있는가?
  • 권위: 포스트가 해당 분야의 인정된 출처를 인용하거나 연결하나요? 이는 대부분의 사이트에서 가장 약한 요소입니다 — 적용되지 않는다면 그렇게 말하고 나머지 세 가지에 가중치를 두세요; 가짜로 꾸미지 마세요.
  • 신뢰성: 이 콘텐츠에 책임이 있는 사람과 연락 방법이 명확한가요? 주장이 정확하고 최신인가요? YMYL(건강, 금전, 안전, 법률) 주제의 경우 모든 주장을 가장 엄격한 기준으로 평가하세요; 출처가 없는 의학 또는 금융 주장은 ⚠가 아닌 ✗입니다.

4. 유용성과 독창성

사람 우선 테스트: 검색 엔진이 없었다면 이 포스트가 존재했을까요?

  • 포스트가 현재 상위 결과에 없는 무언가를 추가하나요 — 직접 데이터, 더 날카로운 각도, 실제 예제, 정직한 한계? 이미 순위에 있는 내용의 유능한 재구성은 검색자에게 선호할 이유를 주지 못하고 엔진에게 순위를 매길 이유를 주지 못합니다.
  • 답변이 완전한가요? 검색자는 작업을 완료하기 위해 검색 결과로 돌아갈 필요가 없어야 합니다. 포스트가 제기했지만 답변하지 않은 질문과 언급했지만 설명하지 않은 단계를 지적하세요.
  • 독자의 문제가 명시적으로 이름 지어지고 끝까지 해결되나요? 주제에 대해 이야기하지만 아무것도 해결하지 않는 포스트는 독자가 아닌 작성자에게 서비스합니다.

5. 신선도

  • 시간이 지나면 낡을 콘텐츠를 지적하세요: 버전 번호, 가격, UI 스크린샷, "작년" / "최근" 표현, 현재 사건 언급. 항상 최신 상태로 유지하거나, 명시적으로 날짜를 표시하여 낡은 것이 눈에 띄도록 만드세요.
  • 이미 낡은 콘텐츠를 지적하세요: 오래된 사실, 더 이상 사용되지 않는 도구, 대체된 조언.
  • 시간에 민감한 주제의 경우 검토 주기를 권장하세요. 오늘은 맞지만 6개월 후에 틀릴 포스트는 단순한 게시 버튼이 아니라 일정 관리가 필요합니다.

6. 내부 링크 및 사이트 적합성

포스트는 단독으로 순위를 매기지 않습니다 — 사이트의 일부로 순위를 매깁니다:

  • 포스트는 같은 사이트의 관련 콘텐츠, 특히 해당 주제의 초석이 되는 글에 설명적인 앵커 텍스트("키워드 연구 가이드", 결코 "여기를 클릭"이 아님)로 링크해야 합니다.
  • 관련 포스트는 다시 링크되어야 합니다. 인바운드 내부 링크가 없는 새 포스트는 고아입니다 — 이를 지적하고, 사용자가 사이트나 콘텐츠 인벤토리에 접근 권한을 주었다면 해당 포스트에 링크해야 할 기존 포스트를 명명하세요.
  • 카니발리제이션 확인: 동일한 사이트의 기존 포스트가 이미 이 키프레이즈를 타겟으로 하고 있나요? 하나의 쿼리를 두 개의 포스트가 경쟁하면 각각의 힘이 분산됩니다; 병합, 차별화, 또는 하나의 재타겟팅을 권장하세요.

점수

카테고리별 상태 — 위 6개 검사 각각에 대해 다음 중 하나를 할당:

  • ✓ 통과 — 의미 있는 문제 없음.
  • ⚠ 개선 필요 — 몇 가지 수정 가능한 문제; 아래에 나열.
  • ✗ 문제 — 포스트 전반에 걸친 체계적 문제.

전체 평결 — 세 가지 중 하나:

  • 준비 완료 — 현재 상태로 게시 가능; 사소한 문제만 있음.
  • 수정 가능 — 쿼리에 적합한 콘텐츠이지만 나열된 문제가 개선을 방해함.
  • 쿼리에 부적합한 콘텐츠 — 의도 불일치 또는 독창성 부족이 편집으로 해결될 수 없음; 포스트는 다른 각도 또는 다른 타겟 키프레이즈가 필요합니다. 사실일 때 명확히 말하세요 — 잘못된 쿼리를 타겟으로 한 포스트를 다듬는 것은 작성자의 시간을 낭비합니다.

출력 형식

## 콘텐츠 SEO 감사: [포스트 제목]

### 타겟
- 포커스 키프레이즈: [구문] ([사용자 명시 / 추론 — 가정])
- 의도: [정보 탐색 / 상업 조사 / 거래 / 내비게이션]
- 평결: [준비 완료 / 수정 가능 / 쿼리에 부적합한 콘텐츠]
- 카테고리별: 1. ✓  2. ⚠  3. ✓  4. ✗  5. ✓  6. ⚠

### 요약
[한 단락: 이 포스트가 어떤 쿼리를 서비스하며, 얼마나 잘 서비스하는지, 가장 큰 변화를 줄 하나 또는 두 가지 변경사항.]

### 발견된 문제
[카테고리별로 그룹화. 각 항목: 위치, 인용된 텍스트, 문제 이유, 구체적인 수정 제안.]

### 잘 작동하는 부분
[순위를 얻는 데 기여하는 특정 요소 — 진정한 첫 번째 예제, 초반에 배치된 완전한 답변, 잘 연결된 초석 참조. 작성자가 조정할 수 있도록 인용하세요.]

Individual skills in this repo

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

jdevalk/skills

Sets up GitHub Actions CI/CD workflows for Astro sites — `astro check` (TypeScript + content schema), ESLint, Prettier, build verification, Vitest testing, Lighthouse CI, link checking, npm audit, and automated deployment to GitHub Pages, Cloudflare Pages, Netlify, or Vercel. ALWAYS use this skill when a user wants to create, add, set up, or configure GitHub Actions, CI/CD, automated checks, or deployment workflows for an Astro site — even if they don't use the exact phrase "GitHub Actions". This includes any request to: add automated type-checking or linting to an Astro repo; set up `astro check` in CI; add Lighthouse or accessibility checks to PRs; configure Vitest in CI for an Astro project; auto-deploy an Astro site to GitHub Pages, Cloudflare Pages, Netlify, or Vercel from GitHub; add link checking or broken-link detection; add security scanning to an Astro pipeline; or generally "add CI", "add automated checks", "set up workflows", or "automate" anything related to an Astro site's GitHub repository. ...

jdevalk/skills

Audits and improves SEO for Astro sites. Use when the user asks to audit, set up, or improve SEO on an Astro site, or mentions head metadata, structured data, JSON-LD, sitemaps, IndexNow, Open Graph images, schema endpoints, NLWeb, hreflang, or search engine indexing in an Astro project. Produces drop-in code routed through `@jdevalk/astro-seo-graph` and chains into `metadata-check` for generated SEO strings.

jdevalk/skills

Audits and improves SEO for static HTML sites. Use when the user asks to audit, set up, or improve SEO on a static site (Hugo, Jekyll, 11ty, Gatsby, Next.js static export, hand-rolled HTML, or `wp-static-clone` output), or mentions head metadata, structured data, JSON-LD, sitemaps, IndexNow, Open Graph images, schema endpoints, NLWeb, hreflang, or search engine indexing for a static site. For Astro projects, use `astro-seo` instead — its recipes produce less hand-rolled boilerplate by routing through `@jdevalk/astro-seo-graph`.

관련 스킬