2026. 06. 07. · 정예준
GPTBot·ClaudeBot·PerplexityBot은 우리 사이트의 핵심 데이터까지 통째로 긁어가지만, 정작 출처로 인용하지 않는 경우가 많습니다. 그렇다고 robots.txt로 전부 막으면 AI 답변창 노출 기회까지 함께 사라집니다. LLM 클로킹은 일반 SEO 콘텐츠는 그대로 보여주되, 자산형 데이터와 프레임워크만 선택적으로 가리는 방어 기법인데요. JavaScript를 실행하지 못하는 AI 크롤러의 약점을 활용해 Cloudflare Workers 40줄로 구현할 수 있습니다. 이 글에서 GEO 노출은 유지하면서 도용은 막는 실전 전략을 정리했습니다.

벤치마크 데이터 한 페이지를 보호한 뒤, 경쟁사 인용이 3개월 만에 0건이 됐습니다.
지오랭크는 최근 6개월간 자산형 콘텐츠가 많은 두 곳을 도왔습니다. 한 곳은 분기별 자체 시장 조사를 1만 명 표본으로 진행해 공개하는 리서치 기업, 다른 한 곳은 자체 측정 지표를 칼럼으로 발행하는 SaaS 스타트업이었는데요. 두 곳 모두 "퍼플렉시티에서 우리 데이터를 인용한 경쟁사 칼럼이 먼저 떠요"라는 동일한 불만을 호소했습니다.
처음에는 robots.txt에 User-agent: GPTBot Disallow: / 같은 전면 차단을 추천했습니다. 하지만 두 달 뒤 ChatGPT 검색에서 브랜드 노출이 사라지면서 트래픽이 18% 빠졌는데요. 결국 차단을 해제했고, 그 대신 자산 데이터가 있는 페이지만 선택적으로 가리는 방향으로 선회했습니다. 일반 가이드 콘텐츠는 풀로 노출, 표·통계 블록은 JavaScript로 후 주입해 LLM 크롤러에게는 빈 컨테이너만 보이도록 처리한 것입니다.
결과는 분명했는데요. 리서치 기업은 ChatGPT·Perplexity 인용 빈도는 그대로 유지하면서, 경쟁사가 자사 데이터를 베껴 쓴 인용 사례가 3개월 만에 사라졌습니다. SaaS 기업은 오히려 일반 콘텐츠의 인용이 12% 늘었는데, "보호된 자산"이 있다는 신호 자체가 페이지의 권위를 높였다는 가설을 세우고 있습니다. 시행착오도 있었는데요. 초기에 Googlebot의 IP 대역을 LLM 크롤러로 오인 분류해 일부 페이지가 사흘간 색인에서 빠지는 사고가 있었습니다. User-Agent 매칭 로직을 다시 짜고서야 안정화됐습니다.
같은 단어를 쓰지만 방향이 정반대입니다. 전통 클로킹은 검색엔진을 속이는 행위였고, LLM 클로킹은 크롤러에게 정당한 권리만큼만 보여주는 통제입니다.
전통적인 클로킹은 사용자에게는 광고 페이지를, Googlebot에게는 키워드로 도배한 페이지를 보여주는 방식이었는데요. 구글 가이드라인은 이를 명시적으로 금지하며, 적발 시 색인 삭제·수동 조치로 이어집니다. 반면 LLM 클로킹은 GPTBot·ClaudeBot 같은 학습·인용용 크롤러가 사용자가 보는 페이지의 일부 자산을 볼 수 없도록 제한하는 기법입니다. 구글의 검색 가이드라인이 적용되지 않는 영역이며, AI 봇 운영 기업도 robots.txt에 의한 차단을 공식적으로 인정합니다.
핵심 작동 원리는 단순합니다. 23개 AI 크롤러를 분석한 보고에 따르면 69%가 JavaScript를 전혀 실행하지 못하는데요. 보호하려는 데이터를 JavaScript로 클라이언트에 후 주입하면, 사용자와 Googlebot은 정상 렌더링하고 LLM 크롤러는 빈 컨테이너만 가져갑니다. 핵심 자산을 담은 JS 파일은 LLM User-Agent에 대해서만 404로 응답해 다운로드 자체를 차단하면 됩니다.
| 구분 | 전통적 클로킹 | LLM 클로킹 |
|---|---|---|
| 대상 봇 | Googlebot·Bingbot | GPTBot, ClaudeBot, PerplexityBot 등 |
| 가이드라인 위반 | 위반 (수동 조치) | 비위반 (공식 인정) |
| 목적 | 검색 순위 조작 | 자산 콘텐츠 도용 방지 |
| 노출 차이 | 사용자 vs 검색봇 | 일반 사용자·검색봇 vs LLM 봇 |
| GEO 영향 | 부정적 | 자산 보호 + 노출 유지 |
전부 막거나, 전부 열거나가 아니라 콘텐츠 유형별 차등 노출이 핵심입니다.
먼저 사이트 콘텐츠를 세 가지로 분류해야 합니다. 첫째, 상단 깔때기 콘텐츠인데요. 입문 가이드, 용어 설명, 트렌드 칼럼 같은 콘텐츠는 AI 답변창 인용이 곧 신규 유입과 브랜드 노출로 이어지므로 완전 개방이 정답입니다. 둘째, 중간 깔때기 콘텐츠. 비교표, 체크리스트, 케이스 스터디 같은 콘텐츠는 인용은 받되 핵심 수치 일부만 마스킹하는 부분 보호가 적절합니다. 셋째, 자산형 콘텐츠. 자체 조사 데이터, 독점 프레임워크, 가격 모델, 내부 벤치마크 같은 콘텐츠는 완전 보호 대상이며, 이 영역에 LLM 클로킹을 적용합니다.
전략을 표로 정리하면 다음과 같습니다.
| 콘텐츠 유형 | 노출 정책 | 구현 방식 | 사례 |
|---|---|---|---|
| 입문 가이드·트렌드 | 전면 개방 | 별도 처리 없음 | "GEO란 무엇인가" |
| 비교·체크리스트 | 부분 보호 | 핵심 수치 JS 후 주입 | 가격 비교표 |
| 자체 조사 데이터 | 전면 보호 | JS 클로킹 + JS 파일 차단 | 분기별 리서치 |
| 독점 프레임워크 | 전면 보호 | 마크다운 미제공 + JS 클로킹 | 진단 모델 |
| 회원 전용 | 인증 차단 | 로그인 게이트 | 컨설팅 보고서 |
추가로 마크다운 서빙도 함께 고려할 만한데요. Cloudflare가 공개한 사례에 따르면 같은 페이지를 HTML 대신 마크다운으로 서빙하면 토큰 크기가 1만 6,180개에서 3,150개로 약 80% 줄어들고, 그만큼 LLM이 우리 페이지를 끝까지 읽고 인용할 확률이 올라갑니다. 핵심 데이터는 가리되, 가리지 않은 영역은 더 잘 읽히게 만드는 두 축이 함께 가야 합니다.
<div data-llm-protected> 같은 빈 컨테이너로 마크업합니다.구현 비용은 생각보다 낮습니다. Cloudflare 무료 플랜 안에서 40~80줄 코드면 시작할 수 있습니다.
지오랭크가 클라이언트에 추천하는 표준 구현은 Cloudflare Workers 기반인데요. 다른 CDN도 가능하지만 무료 티어 한도가 넉넉하고, User-Agent 검사·응답 코드 조작·콘텐츠 변환을 한 곳에서 처리할 수 있어 운영이 단순합니다. 다섯 단계로 나눠보겠습니다.
1단계: Worker 프로젝트 초기화. 로컬에 npm install -g wrangler 후 wrangler login, wrangler init llm-cloaker로 스캐폴딩합니다. 첫 배포는 빈 fetch 핸들러로 충분합니다.
2단계: LLM User-Agent 매칭. GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, anthropic-ai, PerplexityBot, Perplexity-User, CCBot, Bytespider, Meta-ExternalAgent, Amazonbot, Applebot-Extended, Google-Extended, Diffbot, cohere-ai 등 15종 이상을 정규식으로 묶어 매칭합니다. 이때 절대 Googlebot과 Bingbot은 포함하지 않습니다. 잘못 묶으면 색인에서 빠집니다.
3단계: 보호 JS 파일 차단. 보호 컨테이너를 채우는 /js/protected-content.js 같은 경로를 LLM 봇 요청에 한해 404로 응답합니다. 일반 사용자와 검색봇에는 정상 200 응답이 나가야 합니다. 캐시 키에 User-Agent 변수를 포함해야 캐싱 사고가 없습니다.
4단계: 마크다운 우선 서빙(선택). LLM 봇에는 같은 URL을 마크다운 변환본으로 응답합니다. 사전 생성한 .md 파일을 매핑하거나 런타임 변환을 쓰는데요. 헤더는 Content-Type: text/markdown, X-Robots-Tag: noindex, nofollow, Cache-Control: public, max-age=3600을 추천합니다. 토큰 절약이 곧 인용 확률 향상으로 이어집니다.
5단계: 배포와 검증. wrangler deploy 후 cURL로 사용자 에이전트별 응답을 확인합니다. Googlebot 검사 도구로 렌더링이 멀쩡한지, 검색 콘솔에서 색인 상태가 떨어지지 않는지 일주일 정도 모니터링합니다.
모든 봇을 같은 레벨로 막을 필요는 없습니다. 답변창 노출 영향이 큰 순서대로 정교하게 다뤄야 합니다.
| User-Agent | 운영 주체 | 용도 | GEO 영향 | 권장 처리 |
|---|---|---|---|---|
| GPTBot | OpenAI | 모델 학습 | 중 | 자산만 차단 |
| ChatGPT-User | OpenAI | 사용자 즉시 응답 | 상 | 개방 권장 |
| OAI-SearchBot | OpenAI | 검색 인덱싱 | 상 | 개방 권장 |
| ClaudeBot | Anthropic | 학습·요약 | 중 | 자산만 차단 |
| PerplexityBot | Perplexity | 검색 인덱싱 | 상 | 개방 권장 |
| Perplexity-User | Perplexity | 즉시 응답 | 상 | 개방 권장 |
| Google-Extended | Gemini 학습 | 중 | 자산만 차단 | |
| Applebot-Extended | Apple | Apple Intelligence 학습 | 중 | 자산만 차단 |
| CCBot | Common Crawl | 공개 학습 데이터 | 하 | 차단 가능 |
| Bytespider | ByteDance | 학습 | 하 | 차단 가능 |
| Meta-ExternalAgent | Meta | 학습 | 하 | 차단 가능 |
표가 시사하는 점이 분명합니다. "사용자 즉시 응답"용 봇은 우리 페이지를 한 번 읽고 즉시 답변창에 인용하므로 가능한 한 열어야 합니다. 반대로 "학습용" 봇은 인용 보장 없이 데이터를 빨아가기만 하므로 자산형 페이지만 정교하게 차단하면 됩니다. 한국 사이트의 경우 Bytespider 트래픽 비중이 의외로 높은데, 도우인·체리타·기타 ByteDance 계열 AI 서비스 노출이 매출에 미치는 영향을 확인한 뒤 결정해야 합니다.
"AI 봇은 다 JS 못 읽는다"는 통념은 절반만 맞습니다. 클로킹 설계 전에 수치를 정확히 알아야 합니다.
Vercel과 MERJ가 GPTBot 요청 5억 건 이상을 분석한 결과, JavaScript 실행 흔적은 0건이었는데요. ClaudeBot은 JS 파일을 가져가는 비율이 24%, GPTBot은 11.5%였지만 실행은 하지 않았습니다. 같은 보고서가 분석한 23개 AI 크롤러 중 69%가 JS를 전혀 실행하지 못했고, 나머지 31%도 헤드리스 환경 또는 제한된 SPA 렌더링만 지원했습니다. Googlebot·Bingbot이 풀 렌더링을 지원하는 것과는 본질적으로 다른 환경입니다.
이커머스 데이터도 흥미로운데요. Cloudflare의 2026년 1월 보고서는 AI 크롤러 트래픽이 전년 대비 약 4.7배 증가했다고 밝혔습니다. 그러나 같은 보고서가 분석한 자체 조사 데이터 페이지의 경우, 트래픽 100건 중 실제 사용자 인용으로 이어진 비율은 2.3%에 불과했는데요. 나머지 97.7%는 학습 또는 캐시 갱신용으로, "긁어는 가지만 인용하지는 않는" 비중이 압도적으로 컸습니다.
여기에 정책 변수도 함께 봐야 합니다. EU의 AI Act는 학습용 데이터 수집에 대한 옵트아웃 메커니즘을 의무화했으며, 한국은 2025년 12월 개정된 저작권법으로 텍스트·데이터 마이닝의 적법 범위를 명문화하기 시작했습니다. 클로킹은 단순한 기술 트릭이 아니라 이 법적 옵트아웃을 기술 레이어에서 강제하는 수단으로 자리 잡는 분위기입니다.
지오랭크 클라이언트인 E사(에듀테크 스타트업) 사례도 데이터로 남아있는데요. 자체 학습 데이터셋 5만 건을 6개월간 공개해온 페이지에 LLM 클로킹을 도입한 결과, 비인용 크롤링 요청이 78% 감소했지만 ChatGPT 답변창 노출 빈도는 동일하게 유지됐습니다. 동시에 같은 데이터셋을 재가공해 자사 블로그에 올리던 경쟁사 칼럼이 4개월간 0건이 됐다는 결과도 함께 측정됐습니다.
LLM 클로킹은 GEO 기술 인프라의 한 축인데요. 봇 접근 통제와 답변창 인용 전략을 함께 보면 그림이 더 선명해집니다.
자산형 콘텐츠가 많은 기업이라면 클로킹은 선택이 아닌 필수 인프라가 되는 흐름인데요. 지오랭크는 자산 식별·정책 설계·Workers 코드 운영까지 전 과정을 한 팀에서 처리하는 GEO 컨설팅을 제공합니다.
브랜드의 현재 상황과 목표를 알려주시면, 지오랭크가 GEO 전략과 예상 로드맵을 제안해 드립니다. 지금 문의하면 3개월 안에 AI 답변에서의 변화를 함께 확인할 수 있습니다.