Web Art Solutions
 
robots.txt: стандарт, расширения, аспекты применения
RSS в продвижении сайта
Кривые зеркала или о склейке сайтов
Что такое клоакинг
Составление файла robots.txt

Главная / Статьи / Клоакинг

Клоакинг

Автор:

Глава для книги по оптимизации от «Ашманов и Партнеры»

Что такое клоакинг? Почему его относят к методам поискового спама?

Определение и описание клоакинга

Термин клоакинг (cloaking) происходит от английского глагола to cloak — маскировать, прикрывать, прятать, скрывать. Клоакинг — это методика отображения роботу поисковой системы оптимизированной страницы, в отличие от страницы, которую увидит обычный пользователь. Иногда страницы делают не просто оптимизированными, а в корне отличными от оригинальной. Например, выдают поисковому роботу страницу со списком популярных музыкальных композиций с расширением mp3, в то время как обычному пользователю предлагают посетить магазин музыкальных компакт-дисков. Таким методом в интернет-магазины компакт-дисков заманивают пользователей, которые искали в поисковой системы ссылки на свежие хиты в формате mp3.

Клоакинг реализуется с помощью программ и скриптов, выполняющихся на стороне веб-сервера. Серверные скрипты формируют выходные данные в зависимости от изменяющихся параметров: параметры в адресе запроса, доступные системные переменные веб-сервера и окружения, некоторые параметры запроса. По ряду данных можно определить от кого исходит запрос — от робота или обычного пользователя и сформировать для каждого отдельную результирующую страницу.

Выполнить клоакинг с помощью обычного HTML или JavaScript не получится.

С первого взгляда может показаться, что клоакинг нельзя «отловить», ведь надо быть пользователем, чтобы увидеть обычную страницу, и роботом — чтобы увидеть оптимизированную версию страницы. Тем не менее есть возможность определить наличие клоакинга, не являясь при этом сотрудником поисковой системы, ниже мы расскажем, как это делается.

Как же определить робота поисковой системы? Есть две возможности:

  1. Проверять поле User-agent
  2. Проверять IP-адрес, откуда приходит запрос

Клоакинг по User-agent

Самый простой метод, основанный на проверке данных User-agent, где при запросе в большинстве случаев передается имя робота и некоторые дополнительные данные. Вот примеры данных в User-agent для некоторых поисковых роботов:

  • Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
  • Yandex/1.01.001 (compatible; Win16; I)
  • Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)

У скрипта, выполняющего «подмену», есть список таких строк, чаще даже подстрок, если подстрока есть в User-agent, скрипт выдает оптимизированную страницу, а может выдавать каждому роботу свою оптимизированную страницу специально для него.

Такой клоакинг довольно просто «отловить» — достаточно с помощью специальных программ или расширений к веб-браузерам, представиться роботом, и, вуаля! Получаем оптимизированную страницу вместо обычной.

Клоакинг по IP-адресу

Более хитроумный метод, основанный на проверке IP-адреса, откуда приходит запрос. IP-адрес практически невозможно подделать. Зная корпоративные подсети (диапазоны адресов) поисковых систем, можно выдавать оптимизированные страницы всем веб-клиентам из указанных подсетей. В этом случае даже сотрудник поисковой системы с обычным браузером увидит тот же список mp3, что и робот, а не рекламу магазина дисков, как все остальные.

Но и в этом случае определить клоакинг достаточно просто. Сотруднику поисковой системы достаточно запросить страницу через прокси-сервер из другого диапазона адресов, можно воспользоваться каким-нибудь анонимным прокси, расположенным где-нибудь в Новой Зеландии, или воспользоваться сервисом, аналогичным WebWarper.net.

Обычному пользователю достаточно посмотреть сохраненную копию страницы в базе поисковой системы, в большинства поисковых систем есть такие сервисы. Следует только обращать внимание на даты изменения страницы и ее индексации, поскольку можно спутать клоакинг еще с одним методом — свопингом (swapping).

Комбинированный метод

При определении робота можно пользоваться одновременно двумя вышеописанными методами — сначала определять запрос из определенной сети адресов, сразу после чего выполнять проверку данных в User-agent.

А если не спам?

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

Отдельно следует отметить поисковую систему Google, которая при заходе пользователя на www.google.com, в зависимости от языковых и региональных настроек перенаправляет пользователя на соответствующую локализованную версию главной страницы.

Резюме

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

Еще надо отметить, что робот поисковой системы будет получать только одну из всех возможных версий документа. Например, при выдаче разных языковых версий, GoogleBot скорее всего получит англоязычную версию страницы и не догадается о русскоязычной, а робот Яндекса проиндексирует русскоязычную и не увидит остальных версий, если на них явно не сослаться.