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

Author Роман Чернышов    Category PHP     Tags , , Комментариев 2 Дата 11 Июл

search1 Как узнать запрос по которому пришлиНа днях поступила просьба от администратора сайта построенного на моей CMS. суть просьбы очень проста, ему нужно было организовать на сайте статистику по переходам с поисковых систем и вообще с других сайтов в целом. По каждому рефералу выводить подробную статистику, типа: его IP, дату и время перехода, совершал ли он покупки и на какую сумму, и самое главное по какому ключевому запросу он пришел.

Такого рода статистика несомненно поможет ему в продвижении своего проекта по тому или иному направлению, с учетом самых конвертируемых ключевых запросов. Именно тех запросов по которым больше всего люди совершают покупки.
(Кроме всего, желаемый модуль статистики должен иметь возможность вывода информации за указанный период, день, месяц и год)

В основном все это реализовать довольно таки просто, за исключение отслеживания ключевых запросов поисковых систем по которым пришел к нам посетитель и сделал покупку. Как оказалось в последствии эта задача решается так же просто, как и все остальное, достаточно лишь распарсить урл передаваемый в переменной окружение сервера $_SERVER[‘HTTP_REFERER’].

Ссылка (url) с google имеет следующий вид:

http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBcQFjAA&url=http%3A%2F%2Fsportwinner.ru%2F&rct=j&q=ключевая фраза&ei=u_waTsOkNIWAOprR3fUI&usg=AFQjCNFjbt1U9_QHcRGdp3rtVWPu48grlQ&sig2=VPt_hc0CVu9CVwrQmeODbg

В данном случаи ключевик передается в переменной q=, остается только распарсить url.

Ссылка (url) с yandex имеет следующий вид:

http://yandex.ru/yandsearch?text=ключевая фраза&clid=46510&lr=41

Яшка же передает ключевик в переменной text=

Скрипт для обработки и вывода ключевого запроса для яндекса

if(isset($_SERVER['HTTP_REFERER']) and preg_match('~^http://(?:www\\.)?yandex\\.ru/yandsearch\\?(.*)$~i', $_SERVER['HTTP_REFERER'], $m))
    foreach(explode('&', $m[1]) as $v){
        list($name, $value) = explode('=', $v, 2);
        if($name == 'text'){
            $yand_query = urldecode($value);
            echo 'Вы нашли нас по запросу: ' . htmlspecialchars($yand_query);
            break;
        }
    }

Далее правим все под свои нужны, возможно что-то следует заменить, дополнить и подправить. Я же написал для этих целей несколько иной скрипт, который был заточен под мою CMS, его код выкладывать не буду, т.к. думаю уже выложенного вполне достаточно. Да и цель поста не заключается в этом.

2 комментария to “Как узнать запрос по которому пришли”

  • Владимир 23.12.2013 в 11:13 дп

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

  • Алексей 24.12.2013 в 12:19 дп

    $_SERVER[‘HTTP_REFERER’]. в хроме и опере НЕ РАБОТАЕТ!! вернее передает только название сайта — без хвоста !!!!!

    FF — все норм — но от этого не легче

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

О блоге и авторе

Добро пожаловать на блог веб-разработчика! На протяжении многих лет, начиная с 2009 года, я занимаюсь созданием специализированных сайтов, сервисов и крупных веб-порталов. Мною было создано несколько сотен сайтов, большинство из которых работают на ПО созданном под заказ, а также на готовом ПО которое я разрабатываю на протяжении всего периода моей деятельности. Это: CMS "Совместные покупки", CMS "osRealty", CMS "Спорт прогнозы" и многое другое.

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

Поиск по блогу
Категории
Архив
Новое на сайте
Блогеры пишут
  • Роман Чернышов: Для работы капчи на PHP 5.6, замените в файле class.captcha.php строку 264 $ifunc( $this -> i [...]
  • Роман Чернышов: Схема такая: 1) На сайте есть виртуальные кошельки (далее ВК) 2) При пополнении пользователем ВК, [...]
  • Александр: Может скрипт комментариев блокирует сообщения с кодом? Или как длинный текст не проходит?
  • Александр: Пытаюсь в который раз здесь показать код, но страница обновляется, и не сообщения, ни любого оповеще [...]
  • Роман Чернышов: Лично у меня интерес к продаже ссылок пропал уже давно. Преимущество сапы, это то - что ссылки можно [...]
Портфолио Все работы

www.detskiy-mir.net
www.detskydoctor.ru
www.betelit.ru
www.all-alliance.ru
www.videogonok.ru
www.carpfishing.by
www.property-greek.com
www.domcons.ru

с 2009 года по сегодняшний день, создано более 300 сайтов...