Как определить откуда и по какому запросу зашли на сайт?

Как определить откуда и по какому запросу зашли на сайт?

Как определить откуда и по какому запросу зашли на сайт?

Встал такой вопрос — как определить откуда и по какому запросу зашли на сайт? Заодно и определить IP адрес зашедшего и запрошенный адрес. На основе эти данных можно написать счетчик, по аналогии с тем, что используется в Метрике от Яндекса.

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

Итак, скрипт выглядит следующим образом:

$R=$_SERVER['HTTP_REFERER'];
$A=$_SERVER['REMOTE_ADDR'];
$U=$_SERVER['REQUEST_URI'];
$R=urldecode ($R);
$S=iconv('utf-8', 'windows-1251',$R );
echo "Ваш IP - ".$A."<br>";
echo "Страница входа - ".$U."<br>";
if (strpos($S, "yandex") != 0) {
preg_match('"text=(.*?)[^&]*"', $S, $arr);
echo "Вы пришли с Яндекса по запросу ".$arr[1];
}
elseif (strpos($S, "google") != 0) {
preg_match('/q=(.*)&/sei', $S, $arr);
echo "Вы пришли с Google по запросу ".$arr[1];
}
elseif (strpos($S, "rambler") != 0) {
preg_match('"query=(.*?)[^&]*"', $S, $arr);
echo "Вы пришли с Rambler по запросу ".$arr[1];
}
else {echo "Вы пришли с ".$R;}

Все очень просто — IP адрес берется из суперглобального массива $_SERVER (элемент REMOTE_ADDR), адрес вхождения — элемент REQUEST_URI. Данные о том, откуда пришел пользователь берем из элемента HTTP_REFERER, который для поисковиков содержит также строку запроса. В дальнейшем эти данные преобразовываются в читабельное представление, примитивным способом определяем с какого поисковика к нам пришли и выделяем строку запроса.


Метки: , , , , , ,

Похожие записи
Запись опубликована в рубрике PHP, Программирование с метками , , , , , , . Добавьте в закладки постоянную ссылку.

7 комментариев: Как определить откуда и по какому запросу зашли на сайт?

  1. Александр говорит:

    Куда его вставить?

  2. Александр говорит:

    Куда его писать???

  3. Владимир говорит:

    у меня запрос в нечитабельном виде. подскажите, пожалуйста, что не так?
    Вы пришли с Google по запросу &esrc=s&source=web&cd=2&ved=0CDIQFjAB&url=http://ncity.by/&ei=YTO4UrrzB4jFtQbS-YHgCw&usg=AFQjCNG5YyeCKcwkKFXkiORIDzvvzyZhKQ

  4. Russian_SmiLe говорит:

    Сдается мне гугль не отдает текст запроса :(

  5. Вадим говорит:

    Мне тоже интересно куда его писать?
    Вывести куда угодно или в гугл таблицу пусть передает, или еще куда нибудь чтоб можно было посмотреть эффективность по ключевикам

    • kumatoz говорит:

      Писать систему типа Яндексовской Метрики или Аналитики Гугла у меня в планах нет ) Эффективность по ключевикам с их помощью нетрудно отследить.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>