Клоакинг в политике Google описан коротко: пользователям и поисковой системе показывают разный контент с намерением поднять позиции или обмануть людей. Классика жанра старая: робот получает осмысленную статью, человек попадает на страницу с навязчивой рекламой. Обнаружение давно не ручное, автоматика сравнивает версии страниц и передаёт лучших кандидатов живому проверяющему. Хуже другое: под алгоритмические сравнения регулярно попадают законные сценарии, от гео-версий до платного доступа, и разница между приёмом и нарушением иногда сводится к одной строчке разметки. Разберём, как устроено автоматическое сравнение версий, какие приёмы попадают под подозрение, как подготовить проект к проверке, чтобы мера не пришла за честный сервис, и что делать, если письмо о мере уже лежит в ящике.
Определение клоакинга из политики спама и границы дозволенного
Политика приводит характерные примеры: страница о туристических направлениях для робота и страница про сомнительные лекарства для людей, а также текст и ключевые слова, которые появляются в HTML только при запросе со стороны поисковой машины. Граница проведена не по факту различия версий, а по намерению обмануть. Поисковая система не наказывает за технологии, она наказывает за подмену: если сайт построен на JavaScript и изображениях, Google прямо рекомендует сделать контент одинаково доступным роботу и человеку, и рендеринг давно научился исполнять скрипты, так что прятать от него почти нечем. Историческая причина клоакинга исчезла ещё в двухтысячных: тогда роботы не исполняли скрипты, честный контент в графике и Flash не индексировался, и вебмастера подсовывали машине отдельную страницу. Сегодняшний спор о намерениях, а не о технических ограничениях.
Рядом в политике живёт скрытое перенаправление: десктопная аудитория видит нормальную страницу, а мобильная уезжает на посторонний домен. Бывает и обратная сторона, техническая случайность: из-за сбоя балансировщика робот раз за разом получает заглушку. Единичный инцидент мерой не заканчивается, систематическая раздача заканчивается.
Отдельное исключение сделано для платного доступа: пейвол не считается клоакингом, если робот видит полный материал так же, как человек с подпиской, а закрытые части размечены по правилам Flexible Sampling. Легальная динамика интерфейса в список нарушений не входит: аккордеоны и вкладки, всплывающие подсказки, текст для скринридеров политикой разрешены. Хакерский клоакинг упомянут отдельно: взломщики прячут спам именно от владельца, подменяя ответ по пользовательскому агенту и источнику перехода, поэтому система нередко находит взлом раньше хозяина. Отсюда практический совет: при загадочном проседании позиций сравнивают ответ сайта для робота и для человека до любых других гипотез.
Два слоя зрения, как автоматика сравнивает версии страницы
Googlebot скачивает исходный HTML, после чего сервис рендеринга исполняет JavaScript и применяет стили в актуальной версии Chromium. Текст, спрятанный через CSS, вычисляется так же, как исчезает в браузере пользователя. Дальше сравниваются исходник и отрендеренное дерево: содержимое, которое есть в коде, но не видно на странице, помечается как кандидат на манипуляцию.
Сравнение идёт по нескольким осям: текст, ссылки, статус-коды и цепочки перенаправлений. Подмена не обязана быть текстовой: роботу отдают код 200 с полной страницей, человеку 302 на другой адрес, и фиксация мгновенная.
Второй слой: повторные запросы к одной странице в разных условиях. Другой User-Agent, другой IP, переход из результатов поиска против прямого захода, с куками и без. Так находят подмены по географии, источнику перехода и пользовательскому агенту. Настоящего робота проверяют обратным DNS-запросом в обе стороны: