PHP класс SearchWord предназначен для определения поискового запроса и страницы результатов поиска в самых популярных поисковых системах.
Для определения поискового запроса нужно создать экземпляр php класса SearchWord и функцией SearchWords произвести анализ переменной $HTTP_REFERER.
Основная сложность в разработке и реализации данного PHP-класса заключается в том, что каждый поисковый сервер использует свои названия для переменных, в которых содержатся все сведения о запросе пользователя (текст запроса, страница в результатах выдачи, другие параметры). Поэтому есть единственно правильное решение – писать для каждой поисковой системы свой анализатор поисковых запросов, отсюда и сложности – в мире существует более 50 популярных поисковых систем, а сколько их существует вообще – никто не знает.
Еще одной проблемой является невозможность получения точной страницы результатов поиска, т.к. количество ссылок в выдаче поисковой системы пользователь может определять сам, поэтому можно узнать только приблизительную страницу результатов поиска.
К проблемам можно еще отнести особенности некоторых поисковых систем, например Google и MSN – используют у себя UTF-8, а Яндекс – KOI8-R (при поиске не на первой странице результатов).
Несмотря на все сложности, которые описаны выше, у меня получился php класс для более-менее корректного анализа поисковых запросов для следующих поисковых систем:
Google (
http://google.ru) [все домены google]
Яндекс (
http://yandex.ru/) [все основные]
Рамблер (
http://rambler.ru/) [все поисковые]
Mail.Ru (
http://go.mail.ru/)
Апорт (
http://aport.ru/)
Нигма (
http://nigma.ru/)
WebAlta (
http://webalta.ru/)
Yahoo (
http://yahoo.com/)
MSN (
http://search.msn.com/)
Poisk.Ru (
http://poisk.ru)
Findme.Ru (
http://findme.ru/)
Altavista
Aol
всего 13 поисковиков.
статья об этом классе:
http://wm-help.net/?my-articles/article/word-stat.class.htm
значительно урезанный вариант класса:
http://wm-help.net/download/word-stat.class.php.zip