← Все статьи

SEO · Технический аудит

Клоакинг сайта: что это, как найти подмену и исправить

Арсений

Арсений Попов

SEO-специалист и разработчик7 минут чтения
Клоакинг сайта: что это, как найти подмену и исправить

Клоакинг — одна из самых неприятных технических проблем в SEO. На экране владельца сайт может выглядеть нормально, а поисковый робот получает другую страницу: набор спамных ссылок, дорвейный текст, рекламу казино, аптечные ключи или редирект на чужой домен.

Проблема бывает и менее очевидной. Например, пользователю показывается карточка товара, а Googlebot получает пустой HTML. Или посетители видят одну версию страницы по IP и cookie, а робот — другую из-за правила на CDN. В результате сайт теряет индексацию, получает ручные меры или постепенно теряет доверие поисковика.

В этом материале разберем, что такое клоакинг сайта, как найти подмену бесплатными инструментами, где искать причину и как исправлять проблему без попыток «замаскировать» ее еще сильнее.

Что такое клоакинг в SEO

Клоакинг — это показ разного содержания одной и той же страницы в зависимости от того, кто ее запрашивает. Сайт может анализировать User-Agent, IP-адрес, географию, cookie, реферер или параметры запроса и отдавать разные ответы.

Для поисковика это становится нарушением, когда различие используется, чтобы манипулировать выдачей и вводить пользователя в заблуждение. Например, роботу показывают полезную статью про ремонт, а человеку — страницу с азартными играми. Или в HTML для Google добавляют ключевые слова и ссылки, которых нет в обычной версии.

Важно отличать клоакинг от нормальной работы сайта:

  • мобильная и десктопная версии могут иметь разную компоновку, но должны передавать один смысл и основной контент;
  • авторизованный пользователь может видеть личный кабинет, а гость — форму входа;
  • язык и город могут меняться по настройкам пользователя, если это не подмена релевантности для робота;
  • paywall допустим, если поисковику доступен тот же материал, который получает обычный пользователь с правом просмотра;
  • защита от ботов может показать challenge, но она не должна превращаться в бесконечную блокировку реальных поисковых роботов.

Официальное определение и примеры есть в спам-политиках Google. Для Яндекса принципы проверки те же: поисковику нужен честный и доступный ответ на запрос пользователя, а не отдельная «витрина» для робота.

Как клоакинг влияет на SEO-продвижение

Последствия зависят от масштаба и причины подмены:

  1. В индекс попадает не та версия страницы, которую видят клиенты.
  2. В сниппете появляются странные заголовки, чужие ключи или неожиданные описания.
  3. Робот тратит краулинговый бюджет на спамные URL и не доходит до важных страниц.
  4. Google может прислать уведомление о ручной мере за cloaking или sneaky redirects.
  5. После взлома меняются ссылки, canonical, robots.txt, sitemap и шаблоны страниц.
  6. Пользовательский трафик уходит на чужие страницы, а поисковая репутация домена ухудшается.

Клоакинг не нужно путать с обычной просадкой позиций. Если страница медленная или не отвечает на запрос, это SEO-проблема, но не обязательно подмена. Проверять нужно именно различия между ответами и источники этих различий.

Как найти клоакинг: пошаговая проверка

1. Посмотрите уведомления поисковиков

В Google Search Console откройте раздел ручных мер и отчет по безопасности. Если Google зафиксировал cloaking, sneaky redirects или взлом, там может быть примере URL и пояснение.

Проверьте также URL через Инструмент проверки URL: сравните информацию о просканированной странице с тем, что видит обычный посетитель. Один чистый URL ничего не доказывает, поэтому проверяйте главную, шаблоны категорий, карточки товаров и недавно измененные страницы.

2. Сравните HTML для пользователя и бота

Сохраните исходный HTML в обычном браузере и тот же URL с User-Agent Googlebot или Bingbot. Сравните:

  • HTTP-код и цепочку редиректов;
  • title, description, canonical и robots;
  • заголовки H1–H3 и основной текст;
  • ссылки, iframe, скрипты и скрытые блоки;
  • размер ответа и наличие подозрительных слов.

Сам User-Agent легко подделать, поэтому такой тест — только первый шаг. Настоящий Googlebot дополнительно подтверждается по IP и обратной DNS-проверке. Не добавляйте в код правила, которые «прячут» подмену от одного инструмента: это затрудняет расследование и может ухудшить ситуацию.

3. Проверьте страницу несколькими бесплатными сервисами

Для предварительного сравнения подойдут бесплатные инструменты. У каждого свой фокус — поэтому лучше использовать два разных сервиса, а не принимать решение по одному зеленому или красному индикатору.

Инструмент Что сравнивает Когда использовать Статус
Behind the Search Cloaking Checker Googlebot User-Agent и обычный браузер Быстрый первый тест страницы 🟢 Бесплатно
TrustSEO Crawler Simulator Статус, title, robots и HTML Когда нужно увидеть конкретные различия 🟢 Бесплатно
Serpward Cloaking Checker Риск подмены и варианты ответа Для дополнительного независимого сигнала 🟡 Предварительная проверка
Pageradar Cloaking Checker Ответы для Googlebot, Bingbot и других роботов Для сравнения нескольких User-Agent 🟢 Бесплатно
CloakScan Явную подмену контента и редиректы Для быстрой проверки домена после подозрительного всплеска 🟡 Предварительная проверка

Цветовая маркировка здесь означает не «сайт чист» или «сайт заражен», а формат результата: зеленый — инструмент доступен бесплатно, желтый — его вывод нужно обязательно подтвердить логами и кодом.

Схема проверки клоакинга: Search Console, сравнение HTML для посетителя и бота, а также серверные логи

Сервисы могут использовать собственные IP, кэш, ограниченный User-Agent и один запрос к странице. Поэтому результат «чисто» не является гарантией, а тревожный результат нужно подтвердить в логах и исходном коде.

4. Проверьте логи сервера и CDN

В логах ищите один и тот же URL с разными ответами для разных User-Agent, IP, стран и рефереров. Особое внимание — всплескам запросов Googlebot, Bingbot и ЯндексБота, которые получают подозрительный статус, другой размер HTML или редирект.

Если сайт работает через Cloudflare или другой CDN, проверяйте не только Next.js, CMS или nginx, но и:

  • Worker и edge-функции;
  • Page Rules и Transform Rules;
  • кэш для разных User-Agent;
  • WAF-челленджи и bot management;
  • правила географии и редиректы по cookie.

Частая причина «клоакинга» — не SEO-специалист, а взломанный плагин, старый PHP-файл, неизвестный скрипт в шаблоне или правило, которое осталось после миграции.

Где искать причину в коде

Начинайте с изменений, которые появились незадолго до просадки или уведомления:

  1. Сравните текущие файлы с последним чистым бэкапом и Git-историей.
  2. Поиск по проекту проведите по Googlebot, bingbot, YandexBot, User-Agent, HTTP_REFERER, REMOTE_ADDR, redirect, base64_decode, eval и незнакомым внешним доменам.
  3. Проверьте шаблоны, middleware, server actions, API-роуты, плагины CMS и задачи cron.
  4. Посмотрите, не меняются ли canonical, robots, ссылки и тело страницы на уровне CDN.
  5. Проверьте администраторов, SSH/SFTP, токены деплоя, пароли базы данных и webhook-и.

Не удаляйте подозрительный файл сразу, если есть риск потерять доказательства взлома. Сначала сохраните копию логов и исходников, затем ограничьте доступ и проводите очистку в контролируемом порядке.

Как исправить клоакинг

Если это ошибка настройки

Уберите условие, которое меняет контент по User-Agent или IP, и оставьте одну логичную версию страницы для пользователя и робота. Если различие нужно для адаптивности, реализуйте его через responsive CSS, корректный серверный рендеринг или обычную локализацию, а не через скрытую SEO-версию.

Проверьте, что robots.txt не блокирует важные ресурсы, а WAF не отправляет поисковику challenge или 403. После изменений очистите кэш CDN и серверный кэш, иначе старый ответ может продолжать отдаваться части посетителей.

Если сайт взломан

  • включите временное ограничение административного доступа;
  • смените пароли, ключи и токены после очистки;
  • обновите CMS, плагины, зависимости и серверные компоненты;
  • удалите вредоносные файлы и восстановите шаблоны из проверенной версии;
  • проверьте cron, базу, пользователей, редиректы, sitemap и robots.txt;
  • просканируйте весь сайт, а не только URL из уведомления;
  • запросите повторную проверку в Search Console после устранения причины.

Просто убрать спамный текст из одной страницы недостаточно. Если в проекте остался доступ злоумышленника или вредоносный код в общем шаблоне, подмена вернется.

Как проверить, что проблема устранена

После исправления повторите проверку теми же методами и сохраните результаты. Нужно убедиться, что:

  • пользователь и подтвержденный робот получают один смысловой контент;
  • title, canonical, robots и редиректы совпадают по логике;
  • важные страницы возвращают 200, а не challenge или неожиданный 3xx;
  • в логах больше нет подозрительных ответов;
  • Google Search Console не показывает новые ручные меры;
  • страницы снова корректно сканируются и появляются в индексе.

Проверяйте несколько устройств, сетей, регионов и шаблонов. Клоакинг может быть включен только для мобильного Googlebot, только для определенной страны или только после первого визита.

Вывод

Клоакинг сайта — это не «секретный SEO-прием», а риск для индексации, трафика и доверия к домену. Он может быть намеренной манипуляцией, случайной ошибкой в CDN или следствием взлома.

Начинайте с Search Console, сравнения HTML, бесплатных bot-checker-сервисов и серверных логов. Не делайте вывод по одному онлайн-сканеру: подмену нужно подтвердить на уровне реального ответа и кода. После исправления проверьте весь сайт, смените доступы и только потом отправляйте запрос на повторную проверку.

Если нужен разбор конкретного домена, можно начать с нашего SEO-аудита и чек-листа технических проблем. Если подозрение связано со взломом, не откладывайте проверку: чем дольше спамная версия живет в индексе, тем больше страниц придется восстанавливать.

Частые вопросы

Клоакинг — это ситуация, когда один и тот же URL показывает поисковому роботу и обычному посетителю разный контент или разные ссылки. В SEO этот прием используют для манипуляции выдачей, а иногда подмена появляется из-за взлома, настроек CDN или ошибки в коде.

Связаться с нами

Опишите вашу задачу, и мы предложим решение!