GPTBot·ClaudeBot·PerplexityBot은 우리 사이트의 핵심 데이터까지 통째로 긁어가지만, 정작 출처로 인용하지 않는 경우가 많습니다. 그렇다고 robots.txt로 전부 막으면 AI 답변창 노출 기회까지 함께 사라집니다. LLM 클로킹은 일반 SEO 콘텐츠는 그대로 보여주되, 자산형 데이터와 프레임워크만 선택적으로 가리는 방어 기법인데요. JavaScript를 실행하지 못하는 AI 크롤러의 약점을 활용해 Cloudflare Workers 40줄로 구현할 수 있습니다.
지오랭크가 본 LLM 클로킹 사례
지오랭크는 최근 6개월간 자산형 콘텐츠가 많은 두 곳을 도왔습니다. 한 곳은 분기별 자체 시장 조사를 1만 명 표본으로 진행하는 리서치 기업, 다른 한 곳은 자체 측정 지표를 칼럼으로 발행하는 SaaS 스타트업이었는데요. 두 곳 모두 "퍼플렉시티에서 우리 데이터를 인용한 경쟁사 칼럼이 먼저 떠요"라는 불만을 호소했습니다.
처음에는 robots.txt 전면 차단을 추천했지만, 두 달 뒤 ChatGPT 검색에서 브랜드 노출이 사라지면서 트래픽이 18% 빠졌습니다. 결국 차단을 해제하고, 자산 데이터가 있는 페이지만 선택적으로 가리는 방향으로 선회했는데요. 표·통계 블록은 JavaScript로 후 주입해 LLM 크롤러에게는 빈 컨테이너만 보이도록 처리한 것입니다. 리서치 기업은 인용 빈도를 유지하면서 경쟁사가 자사 데이터를 베껴 쓴 사례가 3개월 만에 사라졌고, SaaS 기업은 오히려 일반 콘텐츠의 인용이 12% 늘었습니다.
LLM 클로킹이란? 전통적 클로킹과 무엇이 다른가
전통적인 클로킹은 사용자에게는 광고 페이지를, Googlebot에게는 키워드로 도배한 페이지를 보여주는 방식이었는데요. 구글 가이드라인은 이를 명시적으로 금지하며 적발 시 색인 삭제로 이어집니다. 반면 LLM 클로킹은 GPTBot·ClaudeBot 같은 학습·인용용 크롤러가 사용자가 보는 페이지의 일부 자산을 볼 수 없도록 제한하는 기법입니다. 구글의 검색 가이드라인이 적용되지 않으며, AI 봇 운영 기업도 robots.txt에 의한 차단을 공식적으로 인정합니다.
핵심 작동 원리는 단순합니다. 23개 AI 크롤러를 분석한 보고에 따르면 69%가 JavaScript를 전혀 실행하지 못하는데요. 보호하려는 데이터를 JavaScript로 클라이언트에 후 주입하면, 사용자와 Googlebot은 정상 렌더링하고 LLM 크롤러는 빈 컨테이너만 가져갑니다. 핵심 자산을 담은 JS 파일은 LLM User-Agent에 대해서만 404로 응답해 다운로드 자체를 차단하면 됩니다.
AI 크롤러 통제 전략 한눈에 보기
먼저 사이트 콘텐츠를 세 가지로 분류해야 합니다. 첫째, 상단 깔때기 콘텐츠인데요. 입문 가이드, 용어 설명, 트렌드 칼럼은 AI 답변창 인용이 곧 신규 유입으로 이어지므로 완전 개방이 정답입니다. 둘째, 중간 깔때기 콘텐츠. 비교표, 체크리스트, 케이스 스터디는 인용은 받되 핵심 수치 일부만 마스킹하는 부분 보호가 적절합니다. 셋째, 자산형 콘텐츠. 자체 조사 데이터, 독점 프레임워크, 가격 모델, 내부 벤치마크는 완전 보호 대상이며, 이 영역에 LLM 클로킹을 적용합니다.
추가로 마크다운 서빙도 함께 고려할 만합니다. Cloudflare가 공개한 사례에 따르면 같은 페이지를 HTML 대신 마크다운으로 서빙하면 토큰 크기가 1만 6,180개에서 3,150개로 약 80% 줄어들고, 그만큼 LLM이 우리 페이지를 끝까지 읽고 인용할 확률이 올라갑니다.
이용 방법은 다음과 같습니다.
- 영향이 없는지 확인합니다.
- 6. 매월 User-Agent 목록을 업데이트합니다.
2. 보호 대상 페이지의 자산 블록을 식별합니다.3. 해당 블록을 빈 컨테이너로 마크업합니다.4. 컨테이너를 채우는 별도 JS 파일을 LLM User-Agent에 대해 404 처리합니다.5. Googlebot URL 검사 도구로 색인
Cloudflare Workers로 구현하는 5단계
지오랭크가 추천하는 표준 구현은 Cloudflare Workers 기반인데요. 무료 티어 한도가 넉넉하고 User-Agent 검사·응답 코드 조작·콘텐츠 변환을 한 곳에서 처리할 수 있어 운영이 단순합니다.
1단계는 Worker 프로젝트 초기화입니다. wrangler 설치 후 스캐폴딩하고 빈 fetch 핸들러로 첫 배포를 합니다. 2단계는 LLM User-Agent 매칭. GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, PerplexityBot, CCBot, Bytespider 등 15종 이상을 정규식으로 묶어 매칭하는데요. Googlebot과 Bingbot은 절대 포함하지 않습니다. 잘못 묶으면 색인에서 빠집니다.
3단계는 보호 JS 파일 차단입니다. 보호 컨테이너를 채우는 경로를 LLM 봇 요청에 한해 404로 응답하고, 일반 사용자와 검색봇에는 정상 200 응답이 나가야 합니다. 캐시 키에 User-Agent 변수를 포함해야 캐싱 사고가 없습니다. 4단계는 마크다운 우선 서빙(선택)인데요. LLM 봇에는 같은 URL을 마크다운 변환본으로 응답하고, Content-Type은 text/markdown으로 지정합니다. 5단계는 배포와 검증입니다. cURL로 사용자 에이전트별 응답을 확인하고, Googlebot 검사 도구로 렌더링이 멀쩡한지 일주일 정도 모니터링합니다.
선택 시 고려사항으로는 차단 비용, 유지 보수 부담, 검증 환경, 법적 검토가 있습니다. 새로운 LLM 봇이 매월 등장하므로 User-Agent 목록을 자동화하거나 외부 라이브러리를 구독해 관리해야 하고, JS 차단으로 렌더링이 깨지면 일반 SEO까지 무너지므로 검증이 필수입니다.
주요 AI 크롤러 User-Agent와 차단 우선순위
모든 봇을 같은 레벨로 막을 필요는 없습니다. ChatGPT-User, OAI-SearchBot, PerplexityBot, Perplexity-User 같은 "사용자 즉시 응답"용 봇은 우리 페이지를 읽고 즉시 답변창에 인용하므로 가능한 한 열어야 하는데요. 반대로 GPTBot, ClaudeBot, Google-Extended, Applebot-Extended 같은 "학습용" 봇은 자산형 페이지만 차단하면 됩니다. CCBot, Bytespider, Meta-ExternalAgent는 차단 가능한 범주에 속합니다. 한국 사이트의 경우 Bytespider 트래픽 비중이 의외로 높으니, ByteDance 계열 AI 서비스 노출이 매출에 미치는 영향을 확인한 뒤 결정해야 합니다.
통계로 보는 AI 크롤러의 실태
Vercel과 MERJ가 GPTBot 요청 5억 건 이상을 분석한 결과, JavaScript 실행 흔적은 0건이었습니다. ClaudeBot은 JS 파일을 가져가는 비율이 24%, GPTBot은 11.5%였지만 실행은 하지 않았는데요. 같은 보고서가 분석한 23개 AI 크롤러 중 69%가 JS를 전혀 실행하지 못했고, 나머지 31%도 헤드리스 환경 또는 제한된 SPA 렌더링만 지원했습니다.
Cloudflare의 2026년 1월 보고서는 AI 크롤러 트래픽이 전년 대비 약 4.7배 증가했다고 밝혔습니다. 그러나 자체 조사 데이터 페이지의 경우, 트래픽 100건 중 실제 사용자 인용으로 이어진 비율은 2.3%에 불과했는데요. 나머지 97.7%는 학습 또는 캐시 갱신용으로, "긁어는 가지만 인용하지는 않는" 비중이 압도적이었습니다.
정책 변수도 함께 봐야 합니다. EU의 AI Act는 학습용 데이터 수집에 대한 옵트아웃 메커니즘을 의무화했으며, 한국은 2025년 12월 개정된 저작권법으로 텍스트·데이터 마이닝의 적법 범위를 명문화하기 시작했는데요. 지오랭크 클라이언트 E사 사례의 경우, LLM 클로킹 도입 결과 비인용 크롤링 요청이 78% 감소했지만 ChatGPT 답변창 노출 빈도는 동일하게 유지됐고, 경쟁사 칼럼이 4개월간 0건이 됐다는 결과가 측정됐습니다.
원문 보기: https://georank.co.kr/report/llm-cloaking-content-defense-guide
의견을 남겨주세요