#1 Online pharmacy affiliate program! Инвайты в ICQ 400*276*143


T3leads - выжми максимум из финансового трафика. Payday, debt, insurance, etc.

Продвинутый клоакинг: как роботы индексируют платный контент

04.09.2007 SEO

Google bot spiderВоспользовавшись как-нибудь поиском Google и кликнув по понравившейся ссылке, вы можете попасть на страницу, которая спросит пароль для просмотра контента. Как пользователей, нас всех это может только раздражать, и последнее что мы хотим - это получить новый ник и пароль, чтобы просмотреть одну страницу. Но для контент провайдера это отличный ход. Платный/премиум контент - хорошая тактика монетизации, если ваш контент достаточно для этого хорош. Пример такого премиум контента - на seomoz.org.

Это также интересный вопрос для SEO. Как именно Google индексирует платный контент?

Запускаем механизм клоакинга

Чтобы добиться индексации запароленного контента, нужно использовать клоакинг. Перед тем, как говорить, что клоакинг - это прием из арсенала black hat SEO и что вы не хотите, чтобы ваш сайт забанили/песимизировали, нужно знать, что Google штрафует не за всякий клоакинг. Все зависит от намерения. Давайте я объясню концепцию, а потом уже буду углубляться в технические детали.

Ваш платный или закрытый контент (например для определенного круга пользователей) может быть защищен вашим веб-сервером или веб-приложением (скриптом каким-нибудь). Давайте назовем это охранником. Этот охранник решает, можно ли пройти посетителю или нет в зависимости от того, какой это посетитель.

В нашем случае мы должны научить охранника отличать роботов поисковых систем от простых серферов, чтобы он не спрашивал пароль у роботов.

Вообще клоакинг (cloaking) - это когда роботу поисковой системы выдается одна страница сайта, а пользователю - другая. Например можно подсунуть роботу страницу, битком набитую ключевиками по нужной теме, и заиметь много трафика с поисковика на свой сайт, причем юзер будет видеть правильную страницу с “человеческим” текстом. Такой клоакинг относится к поисковому спаму.

Традиционно используются две стратегии для разделения трафика на роботов и людей: по user agent и по IP адресу. Первый способ заключается в проверке серверной переменной HTTP_USER_AGENT на наличие в ней названия бота (например Googlebot, Yahoo Slurp и так далее). Второй способ - проверка IP на наличие в списке IP адресов ботов. Список юзер-агентов роботов поисковых систем можно найти здесь: http://www.user-agents.org/, а список IP адресов, с которых приходят боты, здесь: http://iplists.com/.

Оба способа достаточно просты в реализации, но имеют свои недостатки и их легко обойти. Для продвинутого юзера не составит труда получить доступ к запароленному контенту бесплатно. Например можно гулять по Интернету под любым юзер-агентом, используя User Agent Switcher для Firefox. С его помощью вы можете заставить простую защиту думать, что вы - поисковый бот, если замените свой юзер-агент агентом робота. Метод идентификации по IP более стойкий, но отследить все обновления IP адресов трудно, да и публично доступные IP - лишь малая часть действительно бегающих по нету роботов.

А вот стратегия получше

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

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

Обратите внимание

Чтобы вся эта работа не пропала даром, будет мудрым решением запретить поисковой системе сохранять кеш страницы с платным контентом.

Как знают мои постоянные читатели, сделать это достаточно просто, использую мета тег для робота, который называется “noarchive”. Либо вы можете установить значение noarchive в переменной X-Robots-Tag HTTP-заголовка (подробнее), но это на данный момент будет работать только с Google. Не стоит забывать и о других поисковых системах.

Теперь о технических деталях

Если ваш “охранник” - это веб-сервер, использующий HTTP аутентификацию, то вы можете использовать mod_rewrite для установки правила идентификации ботов и статус-кода 401 (Authorization Required), если реферер - не поисковый бот (то есть серфер). Ну а чтобы рассказать, как создать более сложную систему “охранника”, нужна специальная статья.

Определение робота по user agent или IP адресу

Код просто должен проверить несколько переменных, значения которых устанавливает веб-сервер для каждого запроса. Это HTTP_USER_AGENT и REMOTE_ADDR.

Большинство скриптовых языков, такие как Python, Php и Ruby имеют специальный класс или модуль под названием CGI, который дает доступ к этим переменным. Если вы используете framework вроде Django, Ruby on Rails или Cake Php, посмотрите соответствующую документацию, чтобы узнать, как организовать программный доступ (чтение, изменение) к HTTP заголовкам. Нужно помнить, что любой код, который изменяет заголовки, должен быть выполнен до того, как следующий запрос достигнет браузера.

Реверсивные DNS запросы

Суть в том, что нужно послать запрос на DNS кеш или name server. На низком уровне это организуется вызовом системных функций уровня С, которые доступны в любой BSD-based TCP/IP реализации (большинство серверов как раз управляются Unix-подобными системами). Это функции gethostbyaddr() и gethostbyname(). Первым запросом ваш скрипт производит поиск имени, используя IP адрес, сохраненный в переменной REMOTE_ADDR. Следующим запросом скрипт проверяет результат первого шага, чтобы убедиться, что сервер с данным DNS действительно отвечает с данного IP (чтобы определить виртуальные сервера). Чтобы все это работало, очень важно то, что поисковые системы поддерживают точные значения прямой (A) и обратной (PTR) записей DNS для IP адресов своих пауков.Также очень важно иметь свой постоянный DNS кеш, если ваш сайт получает много трафика.

Я не думаю, что это плохо, но многие вебмастера не любят эти C - функции. Но полезно знать, что эти API портированы и доступны для использования в программировании функций/методов на любом современном скриптовом языке, таких как Php, Python, Ruby и Perl.

Надеюсь этот материал будет вам полезен. А непонятные слова ищем в Гугле :) .

Оригинал статьи: Advanced Cloaking Technique: How to feed password-protected content to search engine spiders

Еще почитать:

    Ничего похожего не найдено.

Комментариев (8) на «Продвинутый клоакинг: как роботы индексируют платный контент»

  1. Verych пишет:

    Спасибо автору. Очень помогла в работе.

  2. egorych пишет:

    На здоровье :) . Рад за вас.

  3. Оптимизатор пишет:

    Спасибо.

  4. Леонид пишет:

    И это решение можно обойти и читать ваш платный контент бесплатно :)

    Из вашей ссылки:

    I don’t think just doing a reverse DNS lookup is sufficient, because a spoofer could set up reverse DNS to point to crawl-a-b-c-d.googlebot.com

  5. egorych пишет:

    У меня нет платного контента :)

    Обойти такой вариант конечно можно, но опять же трудность с DNS, так же как и с IP роботов. В статье описан принцип и его простая реализация, но подобные коммерческие защиты будут просто сложнее для обхода.

    Сломать ведь можно все что угодно, но нет смысла это делать если затраты на взлом не окупятся.

  6. hunter пишет:

    Интересная статья,прояснила многие моменты,в закладки.

  7. Паланик пишет:

    Отличная статья, многое уточнил для себя, спасибо. а вот если кому нужно наполнение грамотное контентом: http://www.e-generator.ru/packs/content/

  8. Skill00 пишет:

    Как раз в скрипте делаю определение ботов и юзеров, статья здорово помогла. Спасибо автору :)

Comments RSS Feed

Оставьте свой комментарий



Click to hear an audio file of the anti-spam word