KEENT GUIDE
AI 크롤러 점검: robots.txt부터 실제 접근 확인까지
AI 검색에 사이트가 보이지 않을 때 확인할 기술 점검 순서. 검색용·학습용 봇, robots.txt, noindex, 접근 보호, 본문과 Google AI 포함 설정을 구분합니다.
표는 좌우로 이동해 볼 수 있습니다.
접근 가능, 검색 색인, AI 인용은 다른 상태입니다
AI가 사이트를 추천하지 않는다고 해서 크롤러가 차단됐다고 단정할 수는 없습니다. 먼저 로그인 없이 페이지를 읽을 수 있는지 확인하고, 검색 색인 상태와 실제 답변의 인용 여부를 따로 살펴보세요. 이 글은 첫 단계인 기술적인 접근과 발견 준비를 점검하는 순서입니다.
Google은 AI 검색 기능에 표시되려면 페이지가 색인되고 검색 스니펫 표시 자격을 갖춰야 한다고 설명합니다. 모든 요건을 충족해도 실제 수집·색인·노출이 보장되지는 않습니다. 아래 항목의 통과는 “추천 점수 상승”이 아니라 기술적인 장애를 확인하거나 해소했다는 의미입니다. Google 공식 AI 검색 지침
검색용 봇과 학습용 봇을 구분하세요
같은 회사가 운영하는 봇도 목적과 제어 방식이 다릅니다. 검색 노출을 원한다는 결정과 모델 학습에 콘텐츠를 제공한다는 결정은 별개로 내려야 합니다.
| 서비스 | 검색·검색 기능 접근 | 학습 관련 제어 | 사용자 요청에 따른 접근 |
|---|---|---|---|
| OpenAI | OAI-SearchBot |
GPTBot |
ChatGPT-User |
| Anthropic | Claude-SearchBot |
ClaudeBot |
Claude-User |
Google Search의 수집은 Googlebot |
Google-Extended 정책 토큰 |
서비스와 요청 방식에 따라 다름 |
OpenAI는 OAI-SearchBot과 GPTBot 설정이 독립적이라고 설명합니다. ChatGPT-User는 자동 검색 크롤러가 아니며, 사용자가 시작한 요청에는 robots.txt 규칙이 적용되지 않을 수 있습니다. 따라서 ChatGPT-User의 접근 성공을 ChatGPT 검색 노출의 증거로 삼지 않습니다. OpenAI 봇 문서
Anthropic은 검색용·학습용·사용자 요청용 봇을 구분하며 robots.txt를 준수한다고 설명합니다. Google-Extended는 실제 HTTP 요청의 사용자 에이전트 이름이 아니라 콘텐츠 사용을 제어하는 정책 토큰입니다. Gemini 등의 학습과 일부 검색 근거 사용에 관련되며, Google Search의 검색 포함과 순위 제어를 대신하지 않습니다. Anthropic 크롤러 안내, Google 크롤러 목록
외부 방문자의 경로를 따라 점검합니다
개발 환경에서 잘 보이는 페이지도 배포 주소에서는 로그인을 요구하거나 다른 페이지로 이동할 수 있습니다. 로그인하지 않은 새 세션에서 실제 공개 주소를 열고, 아래 순서로 결과를 기록하세요. “문제없음” 대신 확인한 URL과 날짜를 함께 남기면 나중에 다시 비교할 수 있습니다.
| 순서 | 확인할 것 | 문제가 있을 때 먼저 할 일 |
|---|---|---|
| 1. 공개 접근 | HTTPS 접속, 인증서, 로그인·비밀번호·CAPTCHA 요구 여부 | 공개할 배포의 접근 보호 설정과 방화벽 규칙 확인 |
| 2. 최종 응답 | 의도한 URL에 도착하고 정상 본문이 반환되는지 | 오류 페이지, 반복 이동, 오래된 임시 주소 연결 수정 |
| 3. 크롤링 규칙 | 도메인 루트의 /robots.txt와 대상 봇에 적용되는 규칙 |
공개 페이지를 차단하는 규칙이 있는지 확인 |
| 4. 색인 지시 | HTML의 robots 메타 태그와 응답의 X-Robots-Tag |
공개 페이지에 남은 noindex 등 의도하지 않은 제한 확인 |
| 5. 읽을 본문 | 제목, 설명, 핵심 문장이 최초 HTML에 포함되는지 | 이미지나 사용자 조작 뒤에만 있는 핵심 정보를 본문에도 제공 |
| 6. 대표 주소 | canonical, 내부 링크, sitemap이 같은 공개 URL을 가리키는지 | 개발 도메인과 중복 주소를 정리하고 일관된 주소 사용 |
정상 상태 코드 하나만으로 검사를 끝내지 마세요. 로그인 화면이나 “준비 중” 화면을 정상 응답으로 반환하는 사이트도 있습니다. 최종 응답의 제목과 주요 문장이 실제 공개하려는 내용인지 확인해야 합니다. 하위 가이드 페이지도 메인 화면과 별도로 점검합니다.
자바스크립트 사용 자체가 차단 사유는 아닙니다. 다만 구현과 엔진에 따라 처리 방식이 다르므로, 핵심 설명이 초기 HTML에 있으면 단순한 요청으로도 내용을 확인하기 쉽습니다. 다른 정보를 봇에게만 제공하기보다 사람과 크롤러가 같은 본문을 읽도록 구성하세요.
robots.txt와 배포 보호는 따로 확인해야 합니다
robots.txt는 크롤러에 접근 규칙을 전달합니다. 계정 인증이나 방화벽을 해제하는 파일이 아니며, 비밀 정보를 보호하는 장치도 아닙니다. Allow: /가 있어도 배포에 로그인 보호가 남아 있다면 본문을 읽지 못할 수 있습니다.
특정 봇의 규칙과 모든 봇에 대한 규칙이 함께 있을 때는 파일 전체를 확인하세요. 한 줄만 복사해서 추가하면 기존의 더 구체적인 그룹을 놓칠 수 있습니다. sitemap에도 실제로 공개하려는 정상 URL만 넣고, 오류·비공개 페이지를 발견 대상으로 안내하지 않습니다.
또한 robots.txt로 페이지를 막으면 검색 엔진이 그 페이지의 noindex 지시를 읽지 못할 수 있습니다. 크롤링 제어와 색인 제외를 같은 기능으로 취급하지 마세요. Google의 robots.txt 설명, noindex 적용 조건
Google AI 검색 포함 설정도 확인합니다
Google Search Console에는 Search generative AI 포함 제어가 있습니다. 기본값은 포함이며, 하위 속성은 상위 속성의 설정을 상속할 수 있습니다. AI Overviews·AI Mode 등에 노출하려는 사이트라면 실제 속성에 제외 설정이 적용돼 있지 않은지 확인하세요. 이 설정은 모델 학습 허용 여부와도 다릅니다. Google의 포함 제어 설명
계정 접근 권한 없이 외부에서 사이트만 읽었다면 이 설정을 확인했다고 기록해서는 안 됩니다. “기본값은 포함”이라는 공식 설명과 “우리 계정의 현재 설정을 확인함”은 다른 증거입니다. Search Console의 URL 검사와 색인 보고서도 접근 가능한 범위에서 별도로 확인합니다.
모의 요청과 실제 봇 방문을 구별합니다
봇 이름을 사용자 에이전트에 넣어 요청하는 검사는 특정 이름에 대한 단순 차단을 찾는 데 도움이 됩니다. 그러나 요청자의 IP와 실제 실행 환경이 공식 크롤러와 다르므로, 응답이 성공해도 실제 봇이 방문했다거나 방화벽을 통과한다고 확정할 수 없습니다.
실제 방문을 확인하려면 서버나 호스팅 로그에서 요청 날짜·경로·응답 상태를 확인하고, 제공사가 공개한 검증 방법이나 IP 범위와 대조해야 합니다. 이름만 봇처럼 적힌 요청도 있을 수 있습니다. 확인 가능한 로그가 없다면 “실제 봇 방문 미확인”으로 남기는 것이 맞습니다.
기술 점검의 결과는 항목마다 확인됨, 문제 발견, 미확인으로 남기세요. 예를 들어 “로그인 없이 본문 확인, noindex 없음, 실제 Googlebot 방문과 검색 색인은 미확인”이라고 적으면 무엇이 끝났고 다음에 무엇을 봐야 하는지 분명해집니다.
접근 문제가 없다면 같은 설정을 반복해서 추가하기보다 제품 설명과 콘텐츠를 점검하고 AI 노출 측정을 시작하세요. 킨트에 실제 적용한 항목과 확인 범위는 공개 실험 기록에 연결합니다.