Определение поискового робота по User-Agent на PHP

Данный код на PHP поможет определить, кто зашёл на сайт — поисковый робот или обычный пользователь. Если передать в функцию переменную, то в неё, в случае, если это поисковый робот, запишется название поискового робота.

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

Конечно это не 100% способ, так как User-Agent можно менять. Но настоящие поисковики этим по-моему не занимаются. Разве что кто то захочет прикинуться поисковым роботом. Короче используйте этот метод в зависимости от вашего случая.

На просторах интернета так же предлагают определять по IP, по маске адресов. Предполагается что такое то пространство IP адресов выделяется под сервера Google или какие то другие системы. Но как сами понимаете этот метод геморройный. Так как надо следить за списками, масками IP адресов.

Ну и немного оффтоп. Мой случай, в котором я всё это применял, был следующий — хотел я организовать работу запрос — ответ, используя 304 статус «Not Modified», датой модификации и всё это при работе со скриптами. В скриптах я всю эту обратботку сделал. В нужных случаях, если например новость не модифицирована, то отправлялся статус 304 и всё ок. Но!… На динамических страницах у меня присутствовали части страницы, которые менялись и выдавать 304 статус для всей страницы было бы неправильно, пользователь получал бы старые данные, или вернее в этом случае сказать что пользователь бы видел старую страницу и не получал бы новую, хотя какие то части страницы уже обновились. Вот в этом и косяк динамических страниц и 304 статуса. Короче я сделал следующий вывод — забил на этот функционал для обычных пользователей, но оставил этот функционал для поисковых систем, как раз используя для проверки эту функцию определения поискового робота. В принципе я добился своего результата, так как изначально самым главным было сделать этот функционал для поисковиков. Чтобы поисковики побыстрее индексировали сайт и не тратили время на получение контента не изменённой страницы.

Впрочем вот это вот «не тратили время на получение контента не изменённой страницы» можно добиться и составляя sitemap в виде XML, который поисковик будет скачивать и смотреть дату модификации страницы. Но у меня была задача сделать это этими двумя способами. И да, это задача исходила от SEO-шников 🙂

Ладно, начал одним, и если не остановлюсь, наверное закончу уже совсем другим. Это наверное потому что давно в блог ничего не черкал.

За сим откланиваюсь 🙂

Рубрики: PHP, SEO
Понравилось? Поделись с другими плз












Комментарии ВКонтакте





Комментарии с сайта

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

*