Вопрос № 97502: Здравствуйте эксперты!
Вот такой вопрос: пишу свой счетчик посещений. В статистике на mail.ru можно смотреть по какому поисковому запросу был найден сайт и осуществлен переход на него и с какого поисковика. Как мне сделать тоже самое?...
Вопрос № 97.502
Здравствуйте эксперты!
Вот такой вопрос: пишу свой счетчик посещений. В статистике на mail.ru можно смотреть по какому поисковому запросу был найден сайт и осуществлен переход на него и с какого поисковика. Как мне сделать тоже самое?
Отвечает: Бородин Александр Олегович
Здравствуйте, Емельянов Данил Юрьевич !
Боюсь, что средствами JavaScript задачку Вам не решить. Тут надо кое-что посерьезнее. Я говорю про PHP.
PHP позволяет определить, с какого поисковика посетитель пришел на сайт. Собственно, и JavaScript позволяет определить, откуда Вы приползли, но это не то, что Вам нужно.
Вам нужно: чтобы когда посетитель пришел на сайт, в базу была сделана запись, с какого поисковика он пришел, когда пришел. А чтобы выцыганить поисковый запрос, надо распарсить QUERY-string - фактически, url, с которого он заявился. Я сейчас попробовал что-нибудь поискать на mail.ru и пришел к выводу, что если взять значение переменной q в нижеследующем запросе
http://go.mail.ru/search?lfilter=y&q=test
то это и будет поисковый запрос(то, что равно test). Все очень просто, но не для JavaScript`а.
Большое спасибо за хороший вопрос, не знаю, как я Вам, а Вы мне очень помогли:)На мысль навели =)
--------- Ничто не сближает людей так, как совместное преступление. Или покупка телевизора.
Отвечает: Oleg S. Mezhov
Здравствуйте, Емельянов Данил Юрьевич !
Воспользуйтесь переменной $HTTP_REFERER, она же $SERVER[HTTP_REFERER]
В ней содержится страница, с которой был совершен переход на вашу.
Если например вы ищете на Яндексе слово собака, то адрес страницы будет иметь вид:
http://www.yandex.ru/yandsearch?text=%F1%EE%E1%E0%EA%E0&clid=9582
%F1%EE%E1%E0%EA%E0 - Это ни что иное, как переданная по GET собака (ещё передан какой-то параметр clid, который трогать не надо).
Узнать браузер можно из переменной окружения $HTTP_USER_AGENT. Краткий список:
IE - содержит строку MSIE и не содержит Opera
Mozilla - содержит строку Mozilla
Netscape - содержит Netscape
Opera - содержит Opera
Раз уж вы пишете счетчик посещений, то для вас будет полезна информация, что ботов удобно отлавливать по параметру $HTTP_USER_AGENT. Вот краткий список по поисковикам, $HTTP_USER_AGENT будет содержать эту подстроку:
Rambler - StackRambler
Яндекс - Yandex
Google - Googlebot
Апорт - Aport
Ответ отправил: Oleg S. Mezhov (статус: 3-ий класс)
Ответ отправлен: 06.08.2007, 15:02
Отвечает: Flynn
Здравствуйте, Емельянов Данил Юрьевич !
Яваскрипт вам в этом скорее всего не поможет.
Для серверных же языков все просто - браузер всегда посылает в заголовках адрес страницы с которой он пришел на эту. Например в РНР это в массиве $_SERVER['HTTP_REFERER']. Т.е. просто проверяем что там было передано и если это не ваш сайт - значит пришли откуда-то снаружи. Таким образом можно и узнать по какому поисковому запросу найден был ваш сайт и даже с какой страницы поисковика.
Ответ отправил: Flynn (статус: 3-ий класс)
Ответ отправлен: 06.08.2007, 15:05