Как “правильно” определять гугльбота на PHP

Некоторое время назад на официальном блоге гугла для вебмастеров был размещен пост о том, как правильно распознавать гугльбота среди посетителей сайта. Сразу у меня родилась эта несложная функция на пхп.

Фактически, Мэт Катс намекнул, как правильно делать клоакинг по IP-адресу, но что-то мне подсказывает, что он немного-таки лукавит, и гугль может ходить и из других сеток.

Функция вот. Думаю, тему не палю, т.к. подобную методику, думаю, многие давно применяли.

function is_googlebot($ip=false)
// возвращает true или false
// $ip - айпишник либо можно без параметра, тогда берется REMOTE_ADDR
{
if ($ip===false) $ip = $_SERVER['REMOTE_ADDR'];
if (empty($ip)) return false;
$hostname = gethostbyaddr($ip);
if (strtolower(substr($hostname, -14)) !== '.googlebot.com') return false;
$ip2 = gethostbyname($hostname);
if ($ip===$ip2) return true;
return false;
}

· Добавьте на news2.ru

Похожие записи:


3 Комментариев »

  1. elliot said,

    Февраль 1, 2007 @ 04:08

    Спасибо за статью. Оцень кстати. Как раз встала проблема такого рода.

  2. Mikhail said,

    Февраль 3, 2007 @ 18:28

    По совету Павла, ссылка по теме на ekstreme.com: PHP Search Engine Bot Authentication

  3. Az есьм Blog » Blog Archive » Как “правильно” определять гугльбота на PHP said,

    Апрель 4, 2007 @ 11:30

    […] Спалил эту тему http://turenko.com Она не нова, но раньше как-то о ней не писали, а тут я воспользуюсь что это не мой пост. Я ничего не палил […]

RSS feed for comments on this post · TrackBack URI.

Прокомментируйте