Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

  Раздел: Компьютерная документация -> Интернет технологии -> PHP

 

Cкрипт статистики поисковых запросов

В данной статье представлен PHP скрипт на базе которого легко можно будет создать модуль статистки поисковых запросов для своего сайта. Такой модуль может выуживать из поискового запроса по которому пользователь попал на ваш сайт название поисковой машины и собственно сам поисковый запрос

Все это можно накапливать в текстовой или другой базе с последующим выводом на какую либо страницу сайта находящуюся в админпанели. Такая статистика очень полезна для админа сайта, поскольку дает полную картину посещаемости сайта из поисковиков. В дальнейшем все можно развить и привязать запросы к страницам сайта, что даст картину посещаемости каждой отдельной страницы из поисковых систем. Можно еще много рассуждать по этому поводу. Если короче то вот сам скрипт:

Как известно переход на сайт из поисковой машины хранится в суперглобале $_SERVER['HTTP_REFERER'] Поэтому запрос можно загрузить в $refer

$refer = !empty($_SERVER['HTTP_REFERER'] ? strtolower($_SERVER['HTTP_REFERER']): 'None')

Далее будем работать с $refer из которой нужно выудить поисковый запрос и определить поисковую машину из которой был выполнен переход на сайт. Прежде чем выудить сам запрос нужно определить машину, поскольку только тогда станет ясно в какой переменной переданной с запросом хранится сам текст запроса. Это легко сделать имея на вооружении матрицу или список поисковых машин. Такой список можно найти в Интернете в разных вариантах. Но мое внимание привлекла матрица поисковых машин такого вида:

$searchEngines=array(
'images.google.'=>array('q','prev'),
'bing.com'=>'q',
'.alot.'=>'q',
'a993.com'=>'q1',
'abcsok.'=>'q',
'alltheweb.'=>'q',
'altavista.'=>'q',
'aol.'=>array('q','query','encquery'),
'aolsvc.'=>'query',
'avantfind.com'=>'keywords',
'bonvote.com'=>'search',
'bonweb.com'=>'search',
'comcast.net'=>'q',
'conduit.'=>'q',
'eniro.se'=>'search_word',
'excite.'=>'search',
'google.'=>array('q','as_q'),
'gogo.ru'=>'q',
'yandex.'=>array('text','query'),
'ya.ru'=>'text',
'hotbot.'=>'query',
'icerocket.com'=>'q',
'icq.com'=>'q',
'isheyka.com'=>'q',
'midco.net'=>'q',
'live.com'=>'q',
'msn.'=>'q',
'yahoo.'=>array('p','k'),
'search.'=>'q',
'kvasir.no'=>'q',
'myway.com'=>'searchfor',
'netscape.'=>array('q','query'),
'oceanfree.net'=>'as_q',
'qip.ru'=>'query',
'sweetim.com'=>'q',
'tut.by'=>'query',
'ukr.net'=>'search_query',
'search.oboz.ua'=>'k',
'search.www.infoseek.co.jp'=>'qt',
'.setooz.com'=>'query',
'toile.com'=>'q',
'vinden.nl'=>'q',
'.i.ua'=>'q',
'.mail.ru'=>array('q','tag'),
'.onru.ru'=>'q',
'aport.ru'=>'r',
'find.ru'=>'text',
'gde.ru'=>array('keywords','query','t','search_query','id'),
'go.km.ru'=>'sq',
'meta.ua'=>'q',
'metabot.ru'=>'st',
'nerus.ru'=>'query',
'nigma.ru'=>array('s','pq'),
'nova.rambler.ru'=>'query',
'poisk.ru'=>'text',
'protonet.ru'=>'q',
'rambler.ru'=>'words',
'tyndex.ru'=>'pnam',
'webalta.ru'=>'q',
'exactseek.com'=>array('q','query'),
'lycos.' => 'query',
'ask.' => 'q',
'cnn.' => 'query',
'looksmart.' => 'qt',
'about.' => 'terms',
'mamma.' => 'query',
'gigablast.' => 'q',
'voila.' => 'rdata',
'virgilio.' => 'qs',
'baidu.' => 'wd',
'alice.' => 'qs',
'najdi.' => 'q',
'club-internet.' => 'q',
'mama.' => 'query',
'seznam.' => 'q',
'netsprint.' => 'q',
'szukacz.' => 'q',
'yam.' => 'k',
'pchome.' => 'q',
);

Если внимательно присмотреться то данная матрица устроена очень грамотно. В качестве ключей строки из части названий поисковых машин, а параметры - название (названия) переменных в окторых передается текст запроса. Задача скрипта состоит в том, чтобы на базе содержимого $refer и выше представленной матрицы получить текст поискового запроса и название поисковой машины откуда был выполнен переход на ваш сайт. Ниже и представлен такой простейший скрипт, в котором в $site будет находиться название поисковика, а в $s_word текст поискового запроса.

$tmp = parse_url(urldecode(trim($refer)));
$site = $tmp['host'];
$str = $tmp['query'];
parse_str($str,$arr);
foreach ($searchEngines as $key=>$value)
{
if(substr_count($site, $key))
{
foreach ($arr as $k=>$v)
{
if(is_array($value))
{
if(in_array ("$k",$value))
{$s_word = $v; break;}
}
elseif("$k" == $value) {$s_word = $v; break;}
else {$s_word = "None"; break;}
}
break;
}
}

Подобная методика и статистика поисковых запросов успешно реализована на php движке без баз Acvarif-CMS. Работает статистика без нареканий и дает кроме всего прочего, много всяких полезностей, типа статистики посещения из поисковиков страниц и др. Достоинство такого варианта в его простоте и скорости работы

Автор: Yury Gusin
Источник: www.webscript.ru



  Добавить закладку на материал: 


Ссылки по теме
Внутренние функции
Обработка строк в РНР
PHP и всё такое...
Пишем PHP код, устойчивый к ошибкам
Полезные скрипты на PHP
Почтовые функции в РНР
Полезные функции для работы с файловой системой

Вся документация PHP

 

Компьютерная документация от А до Я - Главная

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100