Как идентифицировать клиента с помощью поискового робота?


Я построил весь свой сайт с использованием AJAX (на самом деле это GWT). Я также реализовал обход AJAX, предложенный Google. Однако после внедрения я обнаружил, что ни Yahoo, ни Bing, ни Baidu не реализовали эту схему!

Мне интересно, есть ли способ определить, что веб-клиент - это поисковый робот. Если это так, им будет показан созданный мной HTML-снимок.

Будет лучше, если я смогу идентифицировать их на уровне APACHE, тогда я смогу просто сделать mod_rewrite. Но все равно ничего страшного, если я смогу сделать это на PHP или GWT.

Author: Yau Leung, 2010-12-01

2 answers

Роботы поисковых систем, с точки зрения клиента, ничем не отличаются от любого другого пользовательского агента. Действительно, стоит отметить, что многие поисковые системы (в частности, Google) могут быть недовольны, если их роботы будут обслуживать контент, отличный от контента обычных посетителей. Это означает, что они, как правило, используют общие строки агента пользователя (например, Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)), но обычно с некоторыми деталями, скрытыми глубже, как в приведенном примере.

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

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

 3
Author: Kris, 2010-12-01 10:04:12

Вы можете проверить HTTP-заголовок Агента пользователя. http://www.user-agents.org / - хорошее место для определения того, кто является искателями.

Вы также можете прочитать больше о регистрации в Apache. Например, вы можете создать специальный журнал для списка пользовательских агентов (ботов).

 1
Author: Davis Peixoto, 2010-12-01 12:36:16