(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

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

Источник: webscript
Yury Gusin

В данной статье представлен 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. Работает статистика без нареканий и дает кроме всего прочего, много всяких полезностей, - статистику посещения из поисковиков в количественном виде, статистику поисковых запросов по сайту вцелом и по каждой странице в отдельности и др. Достоинство такого варианта в его простоте и скорости работы. 

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 10.08.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Windows Professional 10, Электронный ключ
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft 365 Apps for business (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
Windows и Office: новости и советы
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100