클로킹(Cloaking)은 검색 순위를 조작하고 사용자를 속일 목적으로 구글 같은 검색엔진 크롤러와 실제 방문자에게 서로 다른 콘텐츠를 보여주는 검색 스팸 기법이다.
구글은 웹 검색 스팸 정책에서 “검색 순위를 조작하고 사용자를 오도하려는 의도로 사용자와 검색엔진에 서로 다른 콘텐츠를 표시하는 행위”로 정의하고, 검색엔진에는 여행지 페이지를 보여주면서 사용자에게는 할인 의약품 페이지를 보여주는 경우를 예로 든다 (Google 검색 센터, 웹 검색 스팸 정책).
이름은 망토(cloak)에서 왔고, 한국어 검색에서는 다른 뜻이 더 많이 잡힌다. 물리학과 군사 분야의 클로킹은 레이더나 빛에 물체가 잡히지 않게 하는 은폐 기술이고 (위키백과, 클로킹 디바이스), 게임에서는 유닛을 투명하게 만드는 은신 능력이다.
이 문서는 SEO 용어로서의 클로킹만 다룬다.
서버가 요청을 보낸 쪽이 크롤러인지 사람인지 판별해 다른 응답을 돌려주는 방식이다. 판별 기준에 따라 몇 가지 변형이 있다 (Wikipedia, Cloaking).
| 방식 | 판별 기준 | 예 |
|---|---|---|
| User-Agent 클로킹 | 요청 헤더의 User-Agent 문자열 | ”Googlebot”이면 키워드 가득한 HTML, 아니면 광고 페이지 |
| IP 클로킹(IP 딜리버리) | 요청 IP가 검색엔진 대역인지 | 구글 IP 대역에만 다른 페이지 제공 |
| 자바스크립트 클로킹 | 브라우저가 JS를 실행하는지 | HTML 소스에는 A, JS 실행 후 화면에는 B |
| 리퍼러나 언어 클로킹 | Referer, Accept-Language 헤더 | 검색결과에서 유입될 때만 다른 페이지로 보냄 |
2006년 2월 구글 웹스팸팀이 BMW 독일 사이트를 색인에서 제거한 사건이 대표 사례다. 크롤러에게는 키워드가 든 정상 페이지를 보여주고 사용자의 브라우저에서는 자바스크립트로 즉시 다른 URL로 리디렉션하는 구조였고, 리코 독일 사이트도 같은 이유로 제거 예고됐다 (Matt Cutts, Ramping up on international webspam).
기준은 기술이 아니라 의도와 결과다. 크롤러와 사용자가 같은 콘텐츠를 보면 응답을 나눠 주더라도 클로킹이 아니고, 다른 콘텐츠를 보면 클로킹이다.
| 상황 | 판정 | 근거 |
|---|---|---|
| 동적 렌더링(크롤러에게 서버 렌더링본 제공) | 유사한 콘텐츠를 만드는 한 클로킹 아님. 단, 임시방편 | Google, 동적 렌더링 |
| 페이월 뒤 콘텐츠 | 구글이 전체 콘텐츠를 볼 수 있고 유연한 샘플링 지침을 따르면 클로킹 아님 | Google 스팸 정책, 위 인용 |
| A/B 테스트 | 허용. 단 Googlebot과 사용자에게 다른 URL을 주면 안 되고 302와 canonical 사용 | Google, 검색에서 A/B 테스트 영향 최소화 |
| 지역이나 언어별 콘텐츠 | hreflang과 별도 URL로 명시. IP 분석으로 콘텐츠를 바꾸면 안 됨 | Google, 다지역 다국어 사이트 관리 |
| 검색엔진 요청에만 텍스트나 키워드 삽입 | 클로킹 | Google 스팸 정책, 위 인용 |
구글은 페이월 콘텐츠에 구조화 데이터를 요구하는 이유를 “스팸 정책을 위반하는 클로킹과 페이월 콘텐츠를 구분하기 위해서”라고 밝힌다. 기사에 isAccessibleForFree를 false로 표시하고 크롤러와 사용자의 접근 정책을 같게 둬야 한다 (Google, 구독 및 페이월 콘텐츠 구조화 데이터).
동적 렌더링 문서는 반대 사례도 든다. 사용자에게는 고양이 페이지를, 크롤러에게는 개 페이지를 주면 클로킹이다 (Google, 동적 렌더링, 위 인용).
검색 순위가 내려가거나 검색결과에서 완전히 사라진다. 구글 검색 필수사항은 스팸 정책 위반이 “순위가 낮아지거나 완전히 사라지는 결과”를 부른다고 명시한다 (Google 검색 센터, 검색 필수사항).
사람이 검토하면 서치콘솔에 “클로킹 및 교묘한 리디렉션” 수동 조치가 뜬다. 구글은 URL 검사 도구로 크롤링된 내용과 사용자 화면을 비교하고, 배경색과 같은 텍스트, 검색 방문자나 특정 IP 대역만 노리는 조건부 리디렉션을 찾아 제거한 뒤 검토 요청을 보내라고 안내한다 (Google 서치콘솔 고객센터, 수동 조치 보고서).
자동 시스템도 돈다. 구글의 AI 스팸 탐지 시스템 SpamBrain은 2022년에 2021년보다 5배, 출시 시점보다 200배 많은 스팸 사이트를 잡았고, 그 결과 검색 방문의 99% 이상이 스팸 없는 방문이었다 (Google Search Central Blog, How we fought spam on Google Search in 2022).
네이버도 같은 기준이다. 네이버 서치어드바이저는 “검색 사용자에게 보여주는 내용과 검색엔진에 전달하는 내용을 의도적으로 다르게 구성하는 경우”를 스팸 사례로 들고, 리퍼러나 브라우저 에이전트명을 기준으로 특정 경로나 기기에서만 다른 내용을 보여주는 것도 포함한다 (네이버 서치어드바이저, 웹 콘텐츠 스팸사례).
있다. 사이트 소유자가 모르는 새 제3자가 심은 코드가 검색엔진이나 검색 유입 방문자에게만 스팸 페이지를 보여주는 경우다.
네이버는 해킹된 콘텐츠 유형에서 “특정 에이전트에서만 스팸 콘텐츠가 노출되도록 설계된 경우 일반 사용자는 피해 사실을 인지하기 어렵다”고 경고하고, 웹마스터 도구의 URL 검사로 검색로봇이 실제 수집하는 HTML을 점검하라고 권한다 (네이버 서치어드바이저, 위 인용).
구글 스팸 정책도 해킹된 콘텐츠를 “사이트 보안 취약점 때문에 허가 없이 올라간 콘텐츠”로 별도 항목에 두고, 클로킹과 부적절한 리디렉션을 함께 다룬다 (Google Search Central, Spam policies).
크롤러 대신 AI 에이전트를 속이는 “에이전트 인식 클로킹”이 나타났다. 2025년 10월 보안 업체 SPLX는 가상의 디자이너 포트폴리오 사이트 zerphina.xyz를 만들어, 사람에게는 정상 이력을 보여주고 ChatGPT-User나 PerplexityBot 같은 User-Agent에는 “악명 높은 제품 파괴자”라는 조작된 이력을 보여줬다 (SPLX, OpenAI’s new browser Atlas falls for AI-targeted Cloaking Attack).
OpenAI의 브라우저 Atlas, ChatGPT, 퍼플렉시티 모두 조작본을 그대로 요약했고, 채용 시나리오에서는 가장 약한 지원자가 AI 크롤러에게만 부풀린 이력을 보여줘 AI 심사 점수 1위를 차지했다 (CyberScoop, OpenAI’s Atlas browser and others can be tricked by manipulated web content).
SPLX의 결론은 “인젝션도 익스플로잇도 없이 조건부 콘텐츠 전달만으로” 수백만 명이 보는 AI 답변을 바꿀 수 있다는 것이다 (SPLX, 위 인용). 페이지 안에 지시문을 숨기는 프롬프트 인젝션과 달리, 아예 다른 페이지를 주는 것이라 탐지가 더 어렵다.
구글은 AI 개요와 AI 모드에 “추가 요구사항도 별도 최적화도 없다”며 일반 검색과 같은 검색 필수사항과 스팸 정책을 적용한다고 밝혔다 (Google 검색 센터, Google 검색의 AI 기능). AI 크롤러에게만 다른 콘텐츠를 주는 것도 구글에서는 클로킹이다.
세 가지를 비교하면 된다. 크롤러가 받은 HTML, 브라우저에 렌더링된 화면, 검색결과의 제목과 설명이 서로 같아야 한다.
크롤러 차단이나 방화벽 규칙을 잘못 걸어 Googlebot만 빈 페이지를 받게 되면, 의도가 없어도 색인에서 빠지는 결과는 같다.
구글 키워드 플래너 기준 “클로킹”은 월 평균 590회이고 2025년 12월 1,000회로 가장 높았다 (서치폴라리스, 구글 키워드 플래너 2026-09-28 조회). 네이버 검색광고 기준 PC 110회, 모바일 280회다.
다만 검색량 대부분이 SEO 뜻이 아니다. 구글 1페이지 9건 중 SEO 문서는 1건뿐이고 나머지는 은폐 기술, 클로킹 디바이스, 게임 은신이었으며, 자동완성 10건도 레이스, 고스트, 디바이스, 모드처럼 SEO와 무관하다.
“클로킹 SEO”로 좁히면 1페이지 10건이 전부 SEO 문서이고, AI 개요가 정상 예외 사례와 해킹으로 인한 클로킹을 후속 질문으로 제안한다. 그래서 이 문서는 예외 판정 표와 해킹 점검 절차를 넣었다.
영어 cloak(망토)에서 온 말로 “가려서 안 보이게 한다”는 뜻이다. SEO에서는 검색엔진에 보이는 것과 사용자에게 보이는 것을 다르게 하는 스팸 기법이고, 물리학과 게임에서는 은폐나 은신을 뜻한다.
게임에서 유닛이나 캐릭터를 상대에게 보이지 않게 만드는 은신 상태를 말한다. SEO의 클로킹과는 관계가 없다.
서버가 User-Agent, IP, 리퍼러 같은 요청 정보로 크롤러를 가려낸 뒤 다른 HTML을 돌려주는 것이다. 위 작동 방식 표에 네 가지 변형을 정리했다.
아니다. 크롤러와 사용자가 유사한 콘텐츠를 받는 한 구글은 클로킹으로 보지 않는다.
다만 동적 렌더링은 임시방편이라 서버 사이드 렌더링이나 정적 렌더링을 권한다.
문제 코드를 제거하고 서치콘솔 수동 조치 보고서에서 검토 요청을 보낸다. 구글은 검토에 며칠에서 몇 주가 걸린다고 안내한다.
서치폴라리스가 AI 검색 가시성을 진단하고 GEO 실행까지 대행합니다.