Community라이팅 & 에디팅github.com

페이지 내 SEO 최적화

한 페이지의 제목, 메타 설명, H1, 헤딩 개요, 공유 태그, 콘텐츠 깊이 및 키워드 배치를 자체 어조로 재작성하고 결과를 측정합니다. 사용자가 "제목과 메타 설명을 다시 써주세요", "헤딩을 수정해주세요", "이 페이지를 [키워드]에 최적화해주세요", "페이지 제목이 잘렸어요" 또는 "내용이 부족해요, 무엇을 추가해야 하나요"라고 말할 때 사용하세요. 사이트 전체 크롤링 문제에는 사용하지 마세요(대신 `technical-seo-audit` 사용).

페이지 내 SEO 최적화란 무엇인가요?

페이지 내 SEO 최적화 스킬은 단일 웹 페이지의 온페이지 요소를 분석하고 재작성하여 검색 엔진 가시성과 사용자 참여를 개선합니다. 이 스킬은 제목, 메타 설명, H1 및 H2 헤딩 개요를 최적화하고, 공유 태그(og:title, og:description, og:image, twitter:card)를 추가하거나 수정합니다. 또한 `page_audit.py`와 `text_stats.py`라는 두 가지 Python 스크립트를 사용하여 기존 콘텐츠를 측정하고 키워드 배치를 확인합니다. 주요 기능으로는 제목 길이를 30~60자, 메타 설명을 70~160자로 조정하고, 기본 키워드가 헤딩과 처음 100단어 내에 자연스럽게 포함되도록 합니다. 이 스킬은 페이지의 고유 어조를 유지하며, 과도한 키워드 사용을 방지하고, 읽기 용이성을 원본보다 악화시키지 않습니다. Cursor, Claude Code, Codex와 같은 AI 에이전트 플랫폼에서 사용할 수 있으며, 사용자가 특정 페이지의 SEO 요소를 개선하려 할 때 특히 유용합니다. 사이트 전체 문제나 키워드 그룹화에는 적합하지 않습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/FinnTech3/growth-stack/tree/HEAD/agensi/growth-stack/skills/on-page-seo

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

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

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

문서

페이지 내 SEO 최적화은(는) 무엇을 하나요?

필요 사항: Python 3.10+. page_audit.py는 라이브 페이지에 네트워크 액세스가 필요합니다. text_stats.py는 오프라인에서 작동하며 하나의 파일을 읽습니다.

제가 가장 먼저 변경할 사항은 다음과 같습니다: 제목, 그다음 설명, 그다음 H1. 이들은 비용이 적게 들고, 검색 결과에서 사람들이 가장 먼저 보는 요소이며, 스크립트로 쉽게 잘못된 부분을 찾을 수 있습니다.

입력

  • 페이지 URL과 하나의 기본 쿼리, 최대 두 개의 보조 쿼리. 사용자가 제공하지 않으면 text_stats.py의 상위 구문을 가져와 하나를 제안하고 사용자에게 확인을 요청합니다.
  • 현재 콘텐츠 사본. 새 콘텐츠가 페이지의 고유 어조를 유지하도록 하기 위함입니다.

스크립트 실행

각 스크립트(shared/scripts/page_audit.py, shared/scripts/text_stats.py)를 변경하지 않고 임시 파일에 작성하고 실행한 후 삭제합니다. page_audit.py는 지정한 페이지만 읽기 위해 네트워크를 사용하며 로컬 파일은 읽지 않습니다. text_stats.py는 네트워크 호출을 하지 않으며 텍스트 파일이나 stdin을 읽습니다.

A="$(mktemp "${TMPDIR:-/tmp}/page_audit.XXXXXX")"   # shared/scripts/page_audit.py를 변경 없이 붙여넣음
T="$(mktemp "${TMPDIR:-/tmp}/text_stats.XXXXXX")"   # shared/scripts/text_stats.py를 변경 없이 붙여넣음
python3 "$A" https://example.com/page --json                # 증거: snippet, content, links-images, basics
python3 "$T" copy.md --keyword "기본 구문" --top 15          # 어조, 가독성, 키워드 배치
rm -f "$A" "$T"

종료 코드 0과 1은 감사를 따릅니다(1은 높은 또는 심각한 격차를 의미). 종료 코드 2는 잘못된 입력을 의미합니다. text_stats.py는 파일 누락, 빈 입력 또는 바이너리 입력, 범위를 벗어난 옵션에 대해 종료 코드 2를 반환합니다.

단계

  1. 감사를 실행합니다. snippet, content 및 basics 증거를 인용합니다: 제목 및 설명 길이, H1 개수, 단어 수.
  2. text_stats.py로 기존 콘텐츠를 측정합니다. 읽기 용이성, 문장당 단어 수, '당신' 대 '우리' 사용 횟수를 기록하고 이를 일치시킵니다.
  3. 제목을 작성합니다: 30~60자, 기본 구문을 앞부분에, 클릭할 이유를 제시하고, 브랜드를 마지막에 배치합니다. 사이트 내에서 고유해야 합니다.
  4. 설명을 작성합니다: 70~160자, 답변 또는 약속, 하나의 증거 포인트, 따옴표 없음. 패턴을 참조하세요.
  5. 방문자의 언어로 주제를 명시하는 H1을 하나 작성합니다. H2는 페이지가 답하는 질문 순서로 구성하고, 레벨을 건너뛰지 않아야 합니다.
  6. 공유 태그(og:title, og:description, og:image, twitter:card)와 lang 및 viewport가 누락된 경우 추가하거나 수정합니다.
  7. --keyword를 사용하여 배치를 확인합니다: 구문이 제목, H1 및 처음 100단어 내에 나타나야 하며 자연스럽게 읽혀야 합니다.
  8. 두 스크립트를 다시 실행합니다. 변경 전후의 누락된 부분을 비교합니다.

출력

변경 전후 비교표(제목, 설명, H1 및 H2 개요, 문자 수 포함); 붙여넣을 정확한 head 마크업; 대체 문장으로 표시된 본문 편집 내용; text_stats.py 변경 전후 판독값; 감사에서 복구된 부분.

종료 기준

  • 제목 3060자, 설명 70160자, 정확히 하나의 H1, 두 개 이상의 H2, 건너뛴 헤딩 레벨 없음.
  • --keyword가 헤딩과 처음 100단어 내에 기본 구문이 있음을 보고함.
  • 구문이 지나치게 반복되지 않음. 경험상 100단어당 3회 이상 사용은 키워드 스터핑입니다.
  • 읽기 용이성이 사용자가 다른 레지스터를 요청하지 않는 한 원본보다 악화되지 않음.
  • 재감사 결과 snippet 및 content 부분이 복구되었으며 다른 부분에서 회귀가 없음.

예외 사항 및 오류

  • 가격, 연락처 또는 로그인 페이지인 경우: 300단어 기준이 적용되지 않을 수 있습니다. 단어 수 부분은 경험상의 지침이며 생략한다고 말하세요.
  • 제목이 이미 순위에 오르고 사용자가 불안해하는 경우: 한 번에 하나의 요소만 변경하고 날짜를 기록하세요.
  • 두 페이지가 동일한 구문을 대상으로 하는 경우: 중단하고 keyword-clusters를 사용하세요. 둘 다 재작성하지 마세요.
  • 비영어 페이지: 스크립트의 질문 및 동사 목록은 영어입니다. 해당 부분은 적용되지 않는다고 보고하세요.
  • 검색 엔진이 제목과 스니펫을 재작성할 수 있습니다. 새 요소는 엔진이 재정의할 수 있는 제안이라고 말하세요.

규칙

  • 페이지의 어조를 일치시키세요. 페이지가 "당신"이라고 말하면 "당신"이라고 말하세요.
  • 설명에 사실, 가격 또는 증거를 허위로 만들어 내지 마세요. 페이지에 있거나 사용자가 제공한 내용만 사용하세요.
  • 키워드 개수는 스터핑을 감지하기 위한 것이며 목표가 아닙니다. 밀도를 맞추려 하지 마세요.
  • 순위를 약속하지 마세요. 무엇을 변경했고 무엇을 더 명확하게 해야 하는지만 말하세요.

Individual skills in this repo

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

관련 스킬