본문으로 건너뛰기

SEO rule reference / search-access

검색 접근성: 크롤러가 페이지에 닿는 길

검사기가 검색 접근성 카테고리에서 확인하는 12개 항목의 판정 기준과 배점 근거, 그리고 이 검사가 확인하지 못하는 범위를 정리합니다.

검사 항목
12개
배점
SEO 100점 중 20점
수정
작성자
애드브랜치 편집팀

검색 접근성은 검색엔진이 이 페이지에 도달해서 내용을 읽을 수 있는가를 확인하는 카테고리입니다. SEO 100점 중 20점을 차지하며, 검사기가 가장 먼저 보여 주는 영역입니다. 제목을 잘 쓰거나 구조화 데이터를 넣는 일은 모두 이 관문을 통과한 다음에야 의미가 생기기 때문입니다.

왜 이 카테고리를 먼저 보는가

다른 카테고리의 문제는 대체로 “덜 좋아지는” 문제입니다. 제목이 길면 검색결과에서 잘리고, 구조화 데이터가 없으면 일부 리치 결과의 재료가 부족해질 수 있습니다. 그러나 검색 접근성은 페이지가 색인 후보에 들어갈 수 있는지를 먼저 봅니다. 검색엔진이 noindex를 읽어 적용했다면 다른 항목의 점수가 높아도 검색결과에서 제외될 수 있습니다.

그래서 이 카테고리 안에서도 검사 결과는 심각도 순으로 정렬됩니다. 배점 역시 같은 논리를 따릅니다. 색인을 직접 막는 meta robots 색인 허용과 robots.txt 현재 경로 허용이 각각 4점으로 가장 높고, 발견을 돕는 보조 장치인 sitemap 발견ㆍ접근이나 robots.txt Sitemap 절대 URL은 1점입니다. 배점은 “얼마나 자주 틀리는가”가 아니라 **“틀렸을 때 검색 노출이 얼마나 사라지는가”**를 기준으로 정했습니다.

다섯 단계로 읽는 12개 항목

1단계: 색인을 막고 있지 않은가

meta robots 색인 허용(4점)은 HTML <head> 안의 noindex·none 토큰을 찾습니다. X-Robots-Tag 색인 허용(3점)은 같은 지시를 HTTP 응답 헤더에서 찾습니다. 두 항목을 나눠 둔 이유는 실무에서 사고가 나는 방식이 다르기 때문입니다. HTML의 noindex는 소스를 열면 보이지만, 헤더의 noindex는 브라우저 화면에도 소스 보기에도 나타나지 않습니다. CDN 설정이나 스테이징 환경의 기본값이 그대로 운영에 넘어와 몇 달 동안 발견되지 않는 사례가 이 항목에서 잡힙니다.

2단계: 크롤을 막고 있지 않은가

robots.txt 현재 경로 허용(4점)은 robots.txt 규칙을 해석해 지금 검사 중인 경로가 차단되는지 봅니다. 여기서 자주 나오는 오해가 하나 있습니다. robots.txt의 Disallow는 색인 금지가 아니라 크롤 금지입니다. 차단된 URL도 외부 링크만으로 검색결과에 제목 없이 나타날 수 있습니다. 반대로 noindex를 적용하려고 robots.txt로 경로를 막으면, 크롤러가 페이지를 읽지 못해 noindex를 발견하지도 못하는 모순이 생깁니다.

네이버 Yeti 크롤러 접근(1점)은 한국어 사이트를 위한 항목입니다. Yeti는 네이버 검색의 크롤러이고, User-agent: *와 별개로 Yeti 전용 그룹이 선언돼 있으면 크롤러는 더 구체적인 그룹만 따릅니다. * 그룹에서 전부 허용했더라도 Yeti 그룹에 Disallow: /가 남아 있으면 네이버 유입만 조용히 닫힙니다. 배점이 1점인 이유는 이것이 Google 색인에는 영향을 주지 않는, 특정 검색엔진 한 곳의 문제이기 때문입니다.

3단계: 발견 경로가 열려 있는가

sitemap 발견ㆍ접근(1점)은 robots.txt의 Sitemap 선언이나 관례적 경로로 사이트맵을 찾아 실제로 가져올 수 있는지 확인합니다. robots.txt Sitemap 절대 URL(1점)은 그 선언이 scheme과 호스트를 포함한 절대 URL인지 봅니다. 사이트맵 표준은 상대 경로를 허용하지 않으므로 Sitemap: /sitemap.xml은 문법 오류입니다. sitemap 내 현재 URL 포함(2점)은 가져온 사이트맵 안에 지금 검사 중인 URL이 들어 있는지 확인합니다.

세 항목의 배점이 모두 낮은 것은 의도적입니다. 사이트맵은 색인의 필수 조건이 아닙니다. 사이트맵이 없어도 링크로 발견되면 색인되고, 사이트맵에 넣었다고 색인이 약속되지도 않습니다. 사이트맵은 발견을 빠르게 하는 장치이지 색인을 결정하는 장치가 아니며, 배점은 그 실제 역할에 맞춰 두었습니다.

sitemap lastmod 제공(1점)은 현재 URL 항목의 수정일을 봅니다. 사이트맵을 확인하지 못하면 확인 불가, sitemapindex이거나 현재 URL 항목이 없으면 해당 없음입니다. 항목은 있지만 날짜가 없거나 W3C Datetime으로 해석되지 않거나 미래 날짜이면 개선 권장으로 표시하고, 나머지는 통과입니다. Google은 값이 일관되고 실제 수정과 맞을 때 lastmod를 활용한다고 안내합니다. 형식 통과만으로 수정일의 진실성까지 확인한 것은 아닙니다. Google 사이트맵 작성 지침

RSS·Atom 피드 알림은 점수 미반영 진단입니다. HTML의 alternate 링크에 application/rss+xml 또는 application/atom+xml 형식이 선언돼 있으면 통과, 없으면 참고로 표시합니다. 피드 본문이나 제출 여부까지 확인하지는 않습니다. Google은 RSS·Atom을 사이트맵으로 받고 네이버도 RSS 제출을 지원하지만, 글이 쌓이지 않는 사이트에 피드가 꼭 필요한 것은 아닙니다. 네이버 사이트맵·RSS 제출 안내

4단계: 읽을 본문이 있는가

초기 HTML 본문 존재(1점)는 JavaScript를 실행하기 전의 최초 HTML 응답에 본문이 있는지 봅니다. 검색엔진과 AI 크롤러는 먼저 이 응답을 읽습니다. Google은 이후 별도의 렌더링 단계에서 JavaScript를 처리하지만, 이 단계는 지연되거나 제한적으로 진행될 수 있어 초기 HTML에 본문을 두는 쪽이 더 안전합니다(Google JavaScript SEO 안내). 본문 전체가 클라이언트에서만 그려지는 구조라면 첫 번째 독자에게는 빈 껍데기가 전달됩니다. GEO의 geo-a01과 콘텐츠 구조의 body-text-amount도 초기 HTML 본문을 중요하게 확인하므로 기존 2점 중 1점을 lastmod 항목으로 옮겼습니다. 카테고리 합계는 20점 그대로입니다.

이 항목은 검사기 자신에게도 해당되는 이야기라 덧붙입니다. 이 사이트의 검사 도구 화면은 브라우저에서 동작하는 부분이 있지만, 도구가 무엇을 검사하는지와 결과를 어떻게 읽는지는 서버에서 렌더링된 정적 본문으로 제공합니다.

5단계: 링크를 따라갈 수 있는가

크롤러가 따를 수 있는 링크(1점)는 href가 없는 <a>나 javascript:로 시작하는 링크를 찾습니다. 크롤러는 클릭 이벤트를 실행하지 않으므로 이런 링크 너머의 페이지는 다른 경로로 발견되지 않는 한 존재를 모르게 됩니다. 탐색은 실제 URL을 가진 링크로, 동작은 button으로 나누는 것이 해법입니다.

AI 크롤러 접근 지시(1점)는 AI 관련 토큰의 용도를 구분합니다. 학습·사용 통제용 토큰만 막았다는 이유로 감점하지 않으며, 검색·사용자 요청용 토큰의 접근 지시를 별도로 확인합니다. 다만 Google-Extended는 학습뿐 아니라 Gemini의 grounding도 제어하므로, 학습군 차단이 모든 AI 서비스에 영향이 없다는 뜻은 아닙니다. robots.txt를 따르는 방식도 사업자와 요청 유형마다 다릅니다.

이 검사가 확인하지 못하는 것

정직하게 범위를 밝힙니다.

  • 단일 페이지 검사입니다. 한 URL과 robots.txt·sitemap·llms.txt, 무작위 경로의 404 응답을 확인합니다. 리디렉션을 포함한 전체 요청 예산은 6회이며, robots.txt와 sitemap 리디렉션은 각 홉의 대상 주소가 안전한지 다시 검사합니다. 예산이 부족한 보조 항목은 확인 불가로 남깁니다. 사이트 전체의 내부 링크는 조사하지 않습니다.
  • 초기 HTML 기준입니다. JavaScript 실행 후의 DOM은 보지 않습니다. 렌더링 후에 달라지는 값은 검사 결과와 다를 수 있습니다.
  • robots.txt 해석에 한계가 있습니다. 같은 User-agent 그룹이 파일 안에서 떨어져 여러 번 선언된 경우를 하나로 합쳐 해석하지 않습니다.
  • sitemap 색인 파일의 하위 사이트맵을 따라가지 않습니다. 최상위 sitemap이 색인 파일이면 그 안의 개별 사이트맵까지 내려가 URL을 찾지는 않습니다.
  • 판정은 애드브랜치의 우선순위입니다. 배점과 심각도는 이 검사기가 정한 기준이며, Google의 색인 여부나 순위 판정 그 자체가 아닙니다.

이어서 읽기

항목별 수정 방법과 코드 예시는 아래 표에 정리돼 있습니다. 개념을 더 깊이 보려면 robots.txt 작성법과 흔한 실수, sitemap.xml 만들기와 제출하기, AI 크롤러 접근 설정을 함께 읽어 보세요.

항목별 판정 기준과 수정 방법

아래 12개 항목은 검사기가 이 카테고리에서 실제로 실행하는 검사입니다. 배점과 문구는 검사 코드에서 그대로 가져옵니다.

meta robots 색인 허용

4점 · meta-robots-indexability

왜 중요한가
noindex 가 있으면 이 페이지는 검색결과에서 제외됩니다. 다른 어떤 최적화보다 먼저 확인해야 합니다.
수정 방법
공개해야 하는 페이지라면 noindex/none 토큰을 제거하거나 index,follow 로 바꾸세요.

문제 예시

<meta name="robots" content="noindex, nofollow">

고친 예시

<meta name="robots" content="index, follow">

관련 가이드 읽기 →

X-Robots-Tag 색인 허용

3점 · x-robots-tag-indexability

왜 중요한가
HTTP 헤더의 noindex 는 HTML 에 보이지 않아 놓치기 쉽지만 meta robots 와 동일하게 색인을 막습니다.
수정 방법
서버·CDN 설정에서 X-Robots-Tag 헤더의 noindex/none 을 제거하거나 공개 경로에서 제외하세요.

문제 예시

X-Robots-Tag: noindex, nofollow

고친 예시

X-Robots-Tag: index, follow

관련 가이드 읽기 →

robots.txt 현재 경로 허용

4점 · robots-txt-path-allowed

왜 중요한가
robots.txt 에서 막힌 경로는 크롤러가 내용을 읽지 못해 검색결과 품질이 떨어지거나 노출되지 않을 수 있습니다.
수정 방법
이 경로를 공개하려면 해당 Disallow 를 제거하거나, 더 구체적인 Allow 규칙을 추가하세요.

문제 예시

User-agent: *
Disallow: /blog/

고친 예시

User-agent: *
Allow: /blog/
Disallow: /admin/

관련 가이드 읽기 →

sitemap 발견ㆍ접근

1점 · sitemap-discovery

왜 중요한가
sitemap 은 색인의 필수 조건은 아니지만, 새 URL 과 갱신을 검색엔진에 빠르게 알리는 통로입니다.
수정 방법
XML sitemap 을 생성해 공개 경로에 두고 robots.txt 에 Sitemap 줄로 선언하세요.

문제 예시

# robots.txt 에 Sitemap 선언 없음
User-agent: *
Allow: /

고친 예시

User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml

관련 가이드 읽기 →

robots.txt Sitemap 절대 URL

1점 · robots-sitemap-absolute-url

왜 중요한가
robots.txt 의 Sitemap 값은 절대 URL 이어야 합니다. 상대 경로는 크롤러가 sitemap 을 찾지 못하는 원인이 됩니다.
수정 방법
Sitemap 줄에 scheme 과 호스트를 포함한 전체 URL 을 적으세요.

문제 예시

User-agent: *
Allow: /
Sitemap: /sitemap.xml

고친 예시

User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml

관련 가이드 읽기 →

sitemap 내 현재 URL 포함

2점 · sitemap-page-inclusion

왜 중요한가
sitemap 에 없는 URL 도 색인될 수 있지만, 포함하면 크롤러가 갱신을 더 빨리 발견합니다.
수정 방법
sitemap 생성 규칙에 이 URL 을 포함하고 lastmod 를 실제 수정 시각으로 채우세요.

문제 예시

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://example.com/</loc></url>
</urlset>

고친 예시

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://example.com/</loc></url>
  <url><loc>https://example.com/blog/post</loc><lastmod>2026-09-03</lastmod></url>
</urlset>

관련 가이드 읽기 →

sitemap lastmod 제공

1점 · sitemap-lastmod

왜 중요한가
Google 은 lastmod 가 일관되고 검증 가능하게 정확할 때 이 값을 사용합니다. 값이 없거나 형식이 틀리면 수정 사실을 알리는 통로 하나를 잃습니다.
수정 방법
현재 URL 항목에 실제 마지막 수정일을 W3C Datetime 형식(예: 2026-09-23 또는 2026-09-23T10:00:00+09:00)으로 넣고, 배포할 때마다 오늘 날짜로 덮어쓰지 마세요.

문제 예시

<url>
  <loc>https://example.com/blog/post</loc>
</url>

고친 예시

<url>
  <loc>https://example.com/blog/post</loc>
  <lastmod>2026-09-23</lastmod>
</url>

관련 가이드 읽기 →

초기 HTML 본문 존재

1점 · initial-html-content

왜 중요한가
검색엔진과 AI 크롤러는 최초 HTML 을 먼저 읽습니다. 본문이 JavaScript 로만 그려지면 내용이 없는 페이지로 읽힐 수 있습니다.
수정 방법
핵심 본문과 제목을 서버 렌더링(SSR/SSG)으로 초기 HTML 에 포함하세요.

문제 예시

<div id="root"></div>
<script src="/app.js"></script>

고친 예시

<main>
  <h1 class="page-title">페이지 제목</h1>
  <p>핵심 내용을 초기 HTML 에 포함합니다.</p>
</main>
<script src="/app.js"></script>

관련 가이드 읽기 →

AI 크롤러 접근 지시

1점 · ai-crawler-directive

왜 중요한가
AI 크롤러를 막으면 AI 검색이 이 페이지를 읽지 못할 수 있습니다. 다만 허용해도 인용·노출이 보장되지는 않습니다.
수정 방법
AI 검색이 읽기를 원하면 robots.txt 에서 해당 봇의 Disallow 를 지우고, 원치 않으면 그대로 두세요. Google-Extended 는 크롤러가 아니라 Gemini 학습·grounding 사용을 제어하는 제품 토큰이며 Google Search 색인·순위에 영향이 없으므로 따로 결정하세요.

문제 예시

User-agent: OAI-SearchBot
Disallow: /

고친 예시

User-agent: OAI-SearchBot
Allow: /

관련 가이드 읽기 →

크롤러가 따를 수 있는 링크

1점 · crawlable-anchor-href

왜 중요한가
href 가 없거나 javascript: 로 시작하는 링크는 크롤러가 따라가지 못해 연결된 페이지가 발견되지 않을 수 있습니다.
수정 방법
탐색용 링크는 실제 URL 을 가진 <a href> 로 만들고, 동작이 필요하면 button 요소를 쓰세요.

문제 예시

<a href="javascript:void(0)" onclick="go()">다음 글</a>

고친 예시

<a href="/blog/next-post">다음 글</a>

관련 가이드 읽기 →

RSS·Atom 피드 알림

점수 미반영 진단 · feed-discovery

왜 중요한가
피드는 새 글과 갱신을 알리는 보조 통로입니다. Google 은 RSS 2.0·Atom 1.0 피드를 사이트맵으로 받고, 네이버 서치어드바이저도 RSS 제출을 받습니다. 점수에는 넣지 않는 안내 항목입니다.
수정 방법
블로그·뉴스처럼 글이 쌓이는 사이트라면 피드를 만들고 <head> 에 alternate 링크로 알리세요.

고친 예시

<link rel="alternate" type="application/rss+xml" title="사이트 이름" href="https://example.com/rss.xml">

관련 가이드 읽기 →

내 페이지는 이 항목들을 통과할까

URL 하나를 넣으면 이 카테고리의 12개 항목을 포함해 110개 검사 항목을 한 번에 판정하고, 문제마다 근거와 수정 코드를 보여 줍니다.

다른 카테고리