AI 디지털교과서 — 교과용 도서에서 빠진 자리와 교육 자료로 고를 때 붙는 두 요건
「초ㆍ중등교육법」 전문을 직접 받아 읽었어요. AI 디지털교과서를 조문이 부르는 이름은 학습지원 소프트웨어이고, 제29조 제2항 단서가 교과용 도서에서 빼낸 뒤 제29조의2가 교육 자료 쪽에 놓아요. 붙는 요건은 둘이에요.
AI 기술을 누구나 쉽게 활용할 수 있도록 실전 가이드를 작성합니다. ChatGPT, Claude, AI 자동화, SEO 분야를 전문으로 다룹니다.
챗GPT나 퍼플렉시티가 내 글을 실제로 읽고 있는지 궁금해서 검색해 보면, 대부분 "AI에게 직접 물어보세요" 수준의 답이 나와요. 그건 확인이 아니라 표본 한 개예요.
결론부터 말하면, 확인 방법은 내가 어떤 기록에 접근할 수 있느냐에 따라 셋으로 갈려요. 서버나 클라우드플레어 로그를 볼 수 있으면 봇의 User-Agent와 공개 IP 대역으로 "읽혔는가"를 잴 수 있고, 로그를 볼 수 없는 플랫폼이면 리퍼러로 "인용돼서 사람이 넘어왔는가"만 잴 수 있어요. 그리고 구글 애널리틱스만 있다면 봇 방문은 원리상 보이지 않아요.
이 셋을 섞으면 글 전체가 틀려요. 봇이 왔다는 기록은 읽었다는 증거일 뿐 답변에 인용됐다는 증거가 아니고, 리퍼러는 인용됐다는 증거일 뿐 언제 읽어 갔는지는 말해 주지 않거든요.
아래 내용은 2026년 8월 11일에 OpenAI, 퍼플렉시티, Anthropic, 구글의 공식 문서와 IP 공개 JSON을 직접 받아 확인했어요.
![]()
세 층을 먼저 갈라 두면 뒤가 간단해져요.
| 층 | 볼 수 있는 기록 | 잴 수 있는 것 | 잴 수 없는 것 |
|---|---|---|---|
| (a) 서버·클라우드플레어 로그 접근 가능 | 접근 로그의 User-Agent와 요청 IP | 어떤 봇이 언제 어느 URL을 읽었는지 | 그 방문이 답변에 인용됐는지 |
| (b) 로그 없음(티스토리·네이버 블로그 등) | 유입 경로의 리퍼러 도메인 | 답변에서 링크를 눌러 들어온 사람 | 봇 방문 전부 |
| (c) 구글 애널리틱스(GA4)만 있음 | 리퍼러 기반 유입 | 답변에서 넘어온 사람 | 봇 방문 전부 |
(b)와 (c)는 결과가 비슷해 보이지만 이유가 달라요. (b)는 기록에 접근할 수 없어서고, (c)는 기록에서 봇이 의도적으로 빠져 있어서예요. 이 이야기는 아래에서 따로 다룰게요.
로그를 볼 수 있다면 이 표가 출발점이에요. 각 벤더의 공식 문서에 적힌 문자열을 그대로 옮겼어요.
| 봇 이름 | User-Agent 원문(문서 축자) | robots.txt에 대해 문서가 적은 것 | 공개 IPv4 프리픽스 수 |
|---|---|---|---|
| GPTBot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot | disallow하면 학습에 쓰지 말라는 표시가 된다고 적음(준수 선언 문장은 없음) | 21 |
| OAI-SearchBot | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot | 옵트아웃하면 챗GPT 검색 답변에 표시되지 않지만 내비게이션 링크로는 나타날 수 있다고 적음 | 35 |
| ChatGPT-User | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot | 사용자가 시작한 동작이라 규칙이 적용되지 않을 수 있다고 명시 | 256 |
| OAI-AdsBot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-AdsBot/1.0; +https://openai.com/adsbot | 문서에 언급 없음 | 2 |
| PerplexityBot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot) | robots.txt 태그로 관리하도록 안내 | 8 |
| Perplexity-User | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user) | 대체로 무시한다고 명시 | 4 |
| ClaudeBot | 지원문서에 없음 | 봇 전체가 robots.txt 지시를 준수한다고 선언 | 20(세 봇 공통) |
| Claude-User | 지원문서에 없음 | 위와 같은 선언에 포함, 예외 문장 없음 | 20(세 봇 공통) |
| Claude-SearchBot | 지원문서에 없음 | 위와 같은 선언에 포함 | 20(세 봇 공통) |
| Googlebot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36 | 자동 크롤 시 항상 준수한다고 적음 | 169(common crawlers 공통, IPv6 146건 별도) |
| Google-Extended | 별도 User-Agent 없음(문서 명시) | robots.txt 토큰으로만 존재 | 해당 없음 |
표 캡션: 2026년 8월 11일 한국시간 기준으로 각 벤더 공식 문서와 IP 공개 JSON을 직접 조회한 값이에요. 프리픽스 수는 수시로 바뀌므로 아래 절차로 다시 세어 보세요.
표에서 세 가지가 눈에 띄어요.
첫째, Anthropic 지원문서에는 완전한 User-Agent 문자열이 없어요. 이 페이지 전문을 내려받아 Mozilla 를 검색한 결과 히트가 0건이었어요. 봇 이름과 용도, 차단 시 결과는 표로 정리돼 있는데 로그에서 찾을 문자열은 이 문서에 실려 있지 않아요. OpenAI와 퍼플렉시티가 전체 문자열을 그대로 싣는 것과 대비돼요. 다른 문서에 실려 있을 가능성까지 부정하는 건 아니고, 이 공식 지원문서 안에는 없다는 뜻이에요.
둘째, 사용자가 시작한 요청은 세 회사가 모두 예외로 두는데 Anthropic만 그 예외를 적지 않았어요. 흔히 "퍼플렉시티만 robots.txt를 무시한다"고 알려져 있지만, OpenAI도 ChatGPT-User에 대해 Because these actions are initiated by a user, robots.txt rules may not apply. 라고 적고, 구글도 사용자 발단 페처를 Because the fetch was requested by a user, these fetchers ignore robots.txt rules. 라고 적어요. 같은 회사의 사용자 발단 페처 목록 문서에는 이 문장이 these fetchers generally ignore robots.txt rules 로 적혀 있으니, 인용할 때 어느 문서를 본 것인지 밝혀 두는 편이 좋아요. 반면 Anthropic 문서는 Claude-User를 포함한 봇 전체에 대해 Anthropic's Bots respect "do not crawl" signals by honoring industry standard directives in robots.txt. 라고만 적고 사용자 발단 예외를 두지 않았어요.
셋째, 버전 번호를 문자열에 박아 두면 안 돼요. OpenAI 문서는 OAI-SearchBot과 GPTBot의 예시 문자열에 "버전 번호는 바뀔 수 있다"는 단서를 달아 두었고, 구글 문서는 Chrome/W.X.Y.Z 가 자리표시자라며 "정확한 버전 번호를 지정하지 말고 와일드카드를 쓰라"고 안내해요. 로그 검색 규칙은 GPTBot/1.4 가 아니라 GPTBot 까지만 걸어야 해요.
차단 쪽 설정을 아직 안 잡았다면 robots.txt에 AI 크롤러를 적는 순서를 먼저 보시는 편이 좋아요. 이 글은 그 반대편, 막았든 열었든 실제로 어떻게 됐는지 재는 쪽이에요.
위 표의 숫자는 조회 시점의 값이라 금방 낡아요. 그래서 숫자보다 세는 절차를 남길게요. 터미널에서 아래 한 줄이면 돼요.
curl -sL https://openai.com/gptbot.json | grep -o '"ipv4Prefix"' | wc -l
jq가 설치돼 있다면 파일이 마지막으로 만들어진 시각까지 볼 수 있어요.
curl -sL https://openai.com/gptbot.json | jq -r .creationTime
주소는 이렇게 갈려요.
| 벤더 | JSON 주소 |
|---|---|
| OpenAI GPTBot | https://openai.com/gptbot.json |
| OpenAI OAI-SearchBot | https://openai.com/searchbot.json |
| OpenAI ChatGPT-User | https://openai.com/chatgpt-user.json |
| OpenAI OAI-AdsBot | https://openai.com/adsbot.json |
| 퍼플렉시티 PerplexityBot | https://www.perplexity.com/perplexitybot.json |
| 퍼플렉시티 Perplexity-User | https://www.perplexity.com/perplexity-user.json |
| Anthropic 봇 전체 | https://claude.com/crawling/bots.json |
| 구글 common crawlers | https://developers.google.com/static/crawling/ipranges/common-crawlers.json |
| 구글 special-case crawlers | https://developers.google.com/static/crawling/ipranges/special-crawlers.json |
| 구글 user-triggered fetchers | https://developers.google.com/static/crawling/ipranges/user-triggered-fetchers.json |
직접 돌려 보면서 걸린 자리를 두 개 남길게요.
하나, 퍼플렉시티 주소는 리다이렉트돼요. www.perplexity.com 으로 요청하면 302가 돌아오고 www.perplexity.ai 로 넘어가요. curl 에 -L 을 빼면 JSON 대신 302 안내 페이지만 받고 "개수 0"으로 오판하게 돼요.
둘, 파일이 갱신되는 주기가 벤더마다 크게 달라요. 같은 날 조회했는데 creationTime 이 OpenAI GPTBot은 2025년 10월 30일, OAI-AdsBot은 2026년 5월 12일, ChatGPT-User는 조회 전날인 2026년 8월 10일이었어요. 퍼플렉시티의 PerplexityBot 쪽은 2025년 2월 7일이었고요. 구글의 세 파일은 모두 조회 전날 갱신돼 있었어요. 대역 목록을 방화벽 규칙에 넣어 뒀다면 정기적으로 다시 받아야 한다는 뜻이에요.

접근 로그가 있다면 순서는 단순해요.
1번과 2번은 이렇게 할 수 있어요.
grep -aiE 'GPTBot|OAI-SearchBot|ChatGPT-User|OAI-AdsBot|PerplexityBot|Perplexity-User|ClaudeBot|Claude-User|Claude-SearchBot' access.log | cut -d' ' -f1 | sort | uniq -c | sort -rn
여기서 놓치기 쉬운 자리가 하나 있어요. OpenAI 문서는 robots.txt 파일을 가져갈 때 User-Agent에 표식을 하나 더 붙일 수 있다고 적어요. 예시는 ...OAI-SearchBot/1.4; robots.txt; +https://openai.com/searchbot 이에요. 문서가 밝힌 이유는 "로그에 경로가 남지 않는 사이트에서도 robots.txt 요청과 다른 요청을 구분할 수 있게 하려는 것"이에요. 그러니까 봇 방문 건수를 셀 때 이 표식이 붙은 줄이 섞여 있으면 본문을 읽은 방문이 아니라 규칙 파일을 확인하러 온 방문이에요. 둘을 같이 세면 숫자가 부풀어요.
반영 시차도 알아 두면 좋아요. OpenAI 문서는 검색 결과에 대해 "사이트의 robots.txt 업데이트가 시스템에 반영되기까지 약 24시간이 걸릴 수 있다"고 적고, 퍼플렉시티 문서도 "변경 사항이 반영되기까지 최대 24시간이 걸릴 수 있다"고 적어요. 파일을 고친 직후 로그를 보고 판단하면 이른 판단이 돼요.
티스토리나 네이버 블로그처럼 서버 접근 로그를 열어 볼 수 없는 곳이라면, 잴 수 있는 것은 답변을 보고 눌러 들어온 사람뿐이에요. 유입 경로 통계에서 아래 도메인을 찾아보세요.
| 서비스 | 리퍼러에서 볼 도메인 |
|---|---|
| 챗GPT | chatgpt.com |
| 퍼플렉시티 | perplexity.ai, www.perplexity.ai |
| 클로드 | claude.ai |
| 제미나이 | gemini.google.com |
여기서 반드시 갈라 둘 것이 있어요. 리퍼러가 잡혔다는 것은 "AI가 내 글을 읽었다"의 증거가 아니라 "답변에 링크가 실렸고 누군가 그걸 눌렀다"의 증거예요. 인용은 됐는데 아무도 안 눌렀다면 리퍼러는 0이에요. 반대로 봇 로그가 잔뜩 쌓였어도 답변에 한 번도 인용되지 않았을 수 있고요. 두 기록은 같은 것을 재지 않아요.
그래서 (b) 층에 있는 분이 "인용 여부"를 직접 확인하고 싶다면, 남는 방법은 실제로 질의를 던져 답변에 내 도메인이 나오는지 보는 수동 확인이에요. 표본이 작다는 한계는 그대로 남지만, 적어도 그 한계를 알고 쓰는 것과 모르고 쓰는 것은 달라요. 질의를 정해 두고 주기적으로 같은 문장으로 물어 기록을 쌓는 방식은 브랜드 언급 모니터링 자동화에서 다룬 얼개와 같아요.
이 자리가 가장 많이 오해돼요. 구글 애널리틱스 도움말은 이렇게 적어요.
Google 애널리틱스 속성에서 알려진 봇 및 스파이더의 트래픽은 자동으로 제외됩니다. 이렇게 하면 애널리틱스 데이터에 알려진 봇의 이벤트가 포함되지 않습니다. 현재는 알려진 봇 트래픽 제외를 사용 중지하거나 알려진 봇 트래픽이 얼마나 제외되었는지 확인하는 것이 불가능합니다.
두 문장이 각각 다른 것을 막아요. 앞 문장은 봇이 데이터에 안 들어온다는 것이고, 뒷 문장은 그 제외를 끌 수도 없고 얼마나 제외됐는지 볼 수도 없다는 것이에요. 그러니 GA4 보고서에서 "AI 크롤러 방문 수"를 찾는 시도는 설정을 아무리 뒤져도 답이 안 나와요.
구조적으로도 그래요. GA4는 페이지에서 측정 스크립트가 실행돼야 이벤트가 쌓이는 방식이라, HTML만 받아 가는 크롤러는 애초에 이벤트를 만들지 않아요. 도움말의 제외 정책과 측정 방식이 같은 방향을 가리키고 있는 셈이에요.
정리하면 GA4에서 보이는 AI 관련 숫자는 전부 사람 클릭이에요. 획득 보고서의 리퍼러에서 chatgpt.com 이 보인다면 그건 봇이 아니라 챗GPT 답변을 읽고 링크를 누른 사람이에요. 이걸 "AI가 내 글을 N번 읽었다"로 옮겨 적으면 틀린 문장이 돼요.
참고로 이 도움말 페이지 하단에는 "이 페이지에는 AI 기술을 사용하여 번역된 콘텐츠가 포함되어 있을 수 있으며, AI 번역에는 오류가 있을 수도 있습니다"라는 고지가 붙어 있어요. 위 인용은 한국어판 문언 그대로예요.

구글 문서는 크롤러 목록 바로 위에 경고를 하나 붙여 두었어요. Caution: The HTTP user agent string can be spoofed. 문자열은 헤더일 뿐이라 누구나 흉내 낼 수 있다는 뜻이에요. 실제로 자기 크롤러에 유명 봇 이름을 붙여 다니는 사례가 있고, 그런 요청을 그대로 세면 "AI가 우리 사이트를 열심히 읽고 있다"는 잘못된 결론이 나와요.
확인은 두 갈래예요.
하나, 공개 IP 목록과 대조하기. 위 표의 JSON을 받아 요청 IP가 그 대역에 들어가는지 보는 방법이에요. 퍼플렉시티 문서도 방화벽 설정 안내에서 User-Agent 일치와 IP 확인을 함께 쓰라고 권해요. 다만 한계가 있어요. 2026년 8월 11일 조회 기준으로 OpenAI, 퍼플렉시티, Anthropic의 JSON에는 ipv6Prefix 항목이 하나도 없었어요. 구글 파일에는 IPv4와 IPv6가 함께 들어 있고요. IPv6로 들어온 요청은 이 목록으로는 대조가 안 된다는 뜻이에요.
둘, 역방향 DNS 확인하기. 구글은 이 방법을 문서로 안내해요. 요청 IP를 역방향 조회해 도메인이 googlebot.com, google.com, googleusercontent.com 중 하나인지 보고, 나온 도메인을 다시 정방향 조회해 원래 IP와 같은지 확인하는 두 단계예요. 구글 문서가 든 예시 형태는 crawl-***-***-***-***.googlebot.com 과 geo-crawl-***-***-***-***.geo.googlebot.com 이에요.
Anthropic 문서에는 반대 방향의 주의가 하나 더 있어요. IP 차단으로 옵트아웃을 대신하지 말라는 문장이에요. 이유는 IP를 막으면 robots.txt 파일 자체를 읽지 못하게 되기 때문이라고 적어요. 재는 용도의 IP 대조와 막는 용도의 IP 차단은 다른 이야기라는 점을 갈라 두는 편이 좋아요.
"챗GPT랑 퍼플렉시티는 로그에 찍히는데 구글 AI만 안 보인다"는 이야기가 자주 나와요. 원인이 있어요. 구글 공식 문서가 이렇게 적어요.
Google-Extended doesn't have a separate HTTP request user agent string. Crawling is done with existing Google user agent strings; the robots.txt user-agent token is used in a control capacity.
Google-Extended는 별도의 HTTP User-Agent 문자열이 없어요. 크롤은 기존 구글 User-Agent로 이뤄지고, robots.txt의 토큰은 제어 용도로만 쓰여요. 그러니 로그에서 이 이름을 찾아 0건이 나오는 것은 정상이고, 그 0건은 "구글이 안 왔다"는 뜻이 전혀 아니에요.
바꿔 말하면 로그에서 갈라 볼 수 있는 것은 Googlebot 계열까지고, 그 방문이 검색 색인용인지 제미나이 학습이나 그라운딩용인지는 로그만으로 구분되지 않아요. 구글 문서가 적은 Google-Extended의 효력 범위도 학습과 그라운딩이고, 같은 문서가 이 토큰은 구글 검색 포함 여부에 영향을 주지 않으며 순위 신호로도 쓰이지 않는다고 밝혀요.
검색 결과 화면 쪽에서 AI 답변이 어떻게 붙고 어떻게 걷히는지는 구글 AI 개요와 웹 필터 쪽에 정리해 두었어요. 이 글이 서버 쪽 기록을 본다면 그 글은 화면 쪽을 봐요.
GPTBot 까지만 걸어야 해요.Google-Extended 를 찾아 0건이 나왔다고 "구글은 안 온다"로 적지 않았나요? 그 이름은 애초에 찍히지 않아요.솔직하게 남길게요.
첫째, 각 AI 서비스의 답변 링크가 어떤 리퍼러를 실제로 붙여 보내는지는 직접 측정하지 않았어요. 위 표의 도메인은 각 서비스의 웹 주소이고, 실제 클릭에서 리퍼러 헤더가 어떤 값으로 남는지는 서비스마다 정책이 다를 수 있어요. 이 글은 "그 도메인을 찾아보라"까지만 적고, "반드시 그 값으로 남는다"고는 적지 않았어요.
둘째, Anthropic 봇의 완전한 User-Agent 문자열이에요. 위에 적은 대로 공식 지원문서에서는 찾지 못했어요. 다른 경로에 공개돼 있을 가능성까지 부정하지는 않아요.
셋째, 벤더가 공개한 IP 목록이 실제 크롤 트래픽을 얼마나 덮는지예요. 자체 로그로 교차 검증하지 않았어요.
curl 한 줄로 직접 세는 절차를 남겨 두세요.읽혔는지와 인용됐는지를 갈라 두면, 지금 내 손에 있는 기록으로 무엇까지 말할 수 있는지가 분명해져요. 재지 못하는 것을 재려고 설정을 뒤지는 시간이 가장 크게 줄어요.
확인한 자료: OpenAI 「Overview of OpenAI Crawlers」(developers.openai.com/api/docs/bots) 및 gptbot.json, searchbot.json, chatgpt-user.json, adsbot.json. 퍼플렉시티 「Bots」(docs.perplexity.ai/guides/bots) 및 perplexitybot.json, perplexity-user.json. Anthropic 「Does Anthropic crawl data from the web, and how can site owners block the crawler?」(support.claude.com, 문서 상단 표기 2026년 4월 7일) 및 claude.com/crawling/bots.json. 구글 「List of Google's common crawlers」(문서 하단 최종 갱신 2026년 7월 14일)와 「Verify requests from Google crawlers and fetchers」, common-crawlers.json, special-crawlers.json, user-triggered-fetchers.json. 구글 애널리틱스 도움말 「알려진 봇 트래픽 제외」. 전부 2026년 8월 11일에 직접 조회했어요.
무엇을 재려는지부터 갈라야 해요. '읽혔는가'는 서버 접근 로그에서 봇의 User-Agent 문자열을 찾아 확인하고, '인용돼서 사람이 넘어왔는가'는 리퍼러에서 chatgpt.com이나 perplexity.ai 같은 도메인을 찾아 확인해요. 두 기록은 서로 다른 것을 재요. 봇이 왔다는 기록은 읽었다는 증거일 뿐 답변에 인용됐다는 증거가 아니고, 리퍼러는 답변에 링크가 실려 누군가 눌렀다는 증거일 뿐 봇이 언제 읽었는지는 말해 주지 않아요. 서버 로그에 접근할 수 없는 플랫폼이라면 리퍼러 쪽만 가능해요.
볼 수 없어요. 구글 애널리틱스 도움말은 '알려진 봇 및 스파이더의 트래픽은 자동으로 제외됩니다'라고 적고, 이어서 '현재는 알려진 봇 트래픽 제외를 사용 중지하거나 알려진 봇 트래픽이 얼마나 제외되었는지 확인하는 것이 불가능합니다'라고 적어요. 즉 제외 여부를 끌 수도 없고 얼마나 제외됐는지 볼 수도 없어요. 구조적으로도 GA4는 페이지에서 측정 스크립트가 실행돼야 이벤트가 쌓여요. 그래서 GA4에서 보이는 것은 봇 방문이 아니라 chatgpt.com이나 perplexity.ai에서 넘어온 사람의 리퍼러예요. 이 둘을 섞으면 글 전체가 틀려요.
OpenAI 문서 기준으로 용도가 달라요. OAI-SearchBot은 챗GPT의 검색 기능에서 사이트를 결과로 띄우는 데 쓰이고, 문서는 'OAI-SearchBot을 옵트아웃한 사이트는 챗GPT 검색 답변에 표시되지 않지만 내비게이션 링크로는 여전히 나타날 수 있다'고 적어요. GPTBot은 생성형 AI 파운데이션 모델 학습에 쓰일 수 있는 콘텐츠를 크롤하는 쪽이고, 문서는 'GPTBot을 disallow하면 그 사이트 콘텐츠를 학습에 쓰지 말라는 표시가 된다'고 적어요. 둘은 독립 설정이라 하나를 허용하고 하나를 막을 수 있어요. 다만 문서는 두 봇을 모두 허용한 사이트에 대해서는 한 번의 크롤 결과를 두 용도에 쓸 수 있다고도 적어요.
퍼플렉시티 공식 문서는 지키지 않을 수 있다고 스스로 적어요. Perplexity-User 설명 끝에 'Since a user requested the fetch, this fetcher generally ignores robots.txt rules'라는 문장이 있어요. 사용자가 요청한 가져오기이므로 이 페처는 대체로 robots.txt 규칙을 무시한다는 뜻이에요. 다만 같은 성격의 예외는 퍼플렉시티만의 것이 아니에요. OpenAI 문서도 ChatGPT-User에 대해 'Because these actions are initiated by a user, robots.txt rules may not apply'라고 적고, 구글도 사용자 발단 페처에 대해 'these fetchers ignore robots.txt rules'라고 적어요. 구글의 사용자 발단 페처 목록 문서 쪽에는 같은 문장이 'these fetchers generally ignore robots.txt rules'로 적혀 있어요. 반면 Anthropic 지원문서에는 사용자 발단 봇을 예외로 두는 문장이 없었어요.
정상이에요. 구글 공식 문서가 'Google-Extended doesn't have a separate HTTP request user agent string'이라고 적어요. 크롤은 기존 구글 User-Agent 문자열로 이뤄지고 robots.txt의 토큰은 제어 용도로만 쓰인다는 설명이에요. 그러니까 로그에서 이 문자열을 찾아 0건이 나온 것은 '구글이 안 왔다'는 뜻이 아니라 '이 이름으로는 애초에 찍히지 않는다'는 뜻이에요. 로그에서 갈라 볼 수 있는 것은 Googlebot 계열까지이고, 그 방문이 검색 색인용인지 AI 학습이나 그라운딩용인지는 로그만으로 구분되지 않아요.
안 돼요. 구글 문서는 크롤러 목록 바로 위에 'The HTTP user agent string can be spoofed'라는 경고를 붙여 두었어요. 문자열은 누구나 흉내 낼 수 있으니 요청 IP를 벤더가 공개한 목록과 대조하거나, 구글의 경우 역방향 DNS 조회로 확인하는 절차가 필요해요. 구글 문서가 안내하는 방법은 요청 IP를 역방향 조회해 googlebot.com, google.com, googleusercontent.com 중 하나인지 보고, 나온 도메인을 다시 정방향 조회해 원래 IP와 같은지 확인하는 두 단계예요. 다만 벤더가 공개한 IP 목록으로 대조하는 방법은 IPv6로 들어온 요청에는 쓸 수 없는 경우가 있어요. 2026년 8월 11일 조회 기준으로 OpenAI, 퍼플렉시티, Anthropic의 JSON에는 ipv6Prefix 항목이 하나도 없었어요.
각 벤더가 JSON 파일로 공개해요. 다만 개수는 수시로 바뀌므로 글에 적힌 숫자를 그대로 믿기보다 직접 세는 편이 정확해요. 터미널에서 curl 로 해당 JSON 주소를 받아 ipv4Prefix 라는 문자열이 몇 번 나오는지 세면 대역 개수가 나오고, jq 가 설치돼 있다면 creationTime 값을 뽑아 그 파일이 마지막으로 만들어진 시각까지 볼 수 있어요. 본문에 실행할 수 있는 한 줄을 그대로 적어 두었어요. 한 가지 주의할 점은 퍼플렉시티 주소가 www.perplexity.com 에서 www.perplexity.ai 로 리다이렉트된다는 거예요. curl 에 리다이렉트를 따라가는 옵션을 빼면 302 응답만 받고 끝나서 개수를 0으로 오판하게 돼요.
서버 접근 로그를 볼 수 없는 플랫폼이라면 리퍼러 쪽만 가능해요. 즉 '누가 답변을 보고 눌러 들어왔는가'는 유입 경로 통계에서 chatgpt.com, perplexity.ai, claude.ai 같은 도메인을 찾아 확인할 수 있지만, '봇이 언제 몇 번 읽어 갔는가'는 볼 수 없어요. 이건 설정 문제가 아니라 기록에 접근할 수 없는 구조라서 그래요. 자체 도메인에 직접 올린 사이트이거나 클라우드플레어 같은 앞단을 두고 있다면 그 로그에서 봇 방문을 볼 수 있어요.