Блиндер буду -:-Система статистики сайта




Разделы сайта

Каталог софта

Как создается сайт

Free hosting

Сервисы сайта

Скачать бесплатно!



Система статистики сайта

Контроль посещаемости сайта


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

Система сбора статистической информации сайта, как правило,состоит из двух главных блоков.

  1. Скрипт - счетчик, ведущий обработку поступающих запросов, систематизирующий их по определенным маркерам и производящий запись результатов в базу, или текстовый файл.

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

Как работает скрипт счетчика

Рассмотрим на примере участка скрипта, взятого из книги "Практика создания Web сайта", основные моменты обработки входящей информации. Вы можете посетить сайт www.softtime.ru, и скачать готовый дистрибьютив системы контроля за посещаемостью сайта.
Здесь, будет рассказано, об некоторых аспектах использования таких систем.

Получение информации о браузерах и системах, определение принадлежности к поисковым роботам

<?php
//Определяем IP вошедшего
    
$ip $_SERVER[`REMOTE_ADDR`];
//Определяем REFERER, т.е. откуда вошли на страницу
     
$reff urldecode($_SERVER[`HTTP_REFERER`]);
// Определяем строку USER_AGENT
     
$useragent $_SERVER[`HTTP_USER_AGENT`];
//Обрабатываем данные, полученные в строке USER_AGENT
$browser = `none`;
      
// Выясняем браузер
 
if(strpos($useragent"Mozilla") !== false)
                                      
$browser = `mozilla`;
 if(
strpos($useragent"MSIE")!== false)$browser = `msie`;
if(
strpos($useragent"MyIE")!== false
                                      
$browser = `myie`;
if(
strpos($useragent"Opera")!== false
                                     
$browser = `opera`;
if(
strpos($useragent"Netscape")!== false
                                     
$browser = `netscape`;
if(
strpos($useragent"Firefox") !== false
                                     
$browser = `firefox`;
      
// Выясняем операционную систему
$os = `none`;
if(
strpos($useragent"Win") !== false)$os = `windows`;
if(
strpos($useragent"Linux")!== false ||
strpos($useragent"Lynx")!== false || 
strpos($useragent"Unix")!== false)   $os = `unix`;
if(
strpos($useragent"Macintosh")!== false
                                      
$os = `macintosh`;
if(
strpos($useragent"PowerPC")  !== false
                                      
$os = `macintosh`;
// Выясняем принадлежность к поисковым роботам
if(strpos($useragent"StackRambler")!== false
                             
$os = `robot_rambler`;
if(
strpos($useragent"Googlebot")!== false)  
                             
$os = `robot_google`;
if(
strpos($useragent"Mediapartners-Google") !== false
                              
$os = `robot_google`;
if(
strpos($useragent"Yandex") !== false)     
                              
$os = `robot_yandex`;
if(
strpos($useragent"Aport") !== false
                               
$os = `robot_aport`;
if(
strpos($useragent"msnbot") !== false)
                               
$os = `robot_msnbot`;
$search = `none`;
// Выясняем принадлежность к поисковым системам
if(strpos($reff,"yandex"))$search = `yandex`;
if(
strpos($reff,"rambler")$search = `rambler`;
if(
strpos($reff,"google"))$search = `google`;
if(
strpos($reff,"aport")) $search = `aport`;
if(
strpos($reff,"mail") && strpos($reff,"search"))   
                          
$search = `mail`;
if(
strpos($reff,"msn") && strpos($reff,"results"))   
                          
$search = `msn`;
$server_name $_SERVER["SERVER_NAME"];
if(
substr($_SERVER["SERVER_NAME"],0,4) == "www."
$server_name substr($_SERVER["SERVER_NAME"],4);
if(
strpos($reff,$server_name)) $search = `own_site`;
//Данные в переменных $search, $browser, $useragent, 
//$reff,  $ip - готовы для записи в базу данных
?>

Дальше идет участок скрипта, выделяющий поисковые запросы:

<?php
//Нам просто необходимы поисковые запросы 
//при анализе посещаемости ресурса
if(!empty($reff) && $search!="none" && $search != "own_site")
 {
 switch(
$search)
 {
   case `
yandex`:
 {
eregi("text=([^&]*)"$reff."&"$query); 
if(
strpos($reff,"yandpage")!=null)
$quer=convert_cyr_string(urldecode($query[1]),"k","w");
else 
$quer=$query[1];
break;
  }
   case `
rambler`:
  {
eregi("words=([^&]*)"$reff."&"$query); 
$quer $query[1];
break;
   }
   case `
mail`:
   {
eregi("q=([^&]*)"$reff."&"$query); 
$quer $query[1];
break;
   }
   case `
google`:
   {
   
eregi("q=([^&]*)"$reff."&"$query); 
   
$quer utf8_win($query[1]); 
   break;
   }
   case `
msn`:
   {
eregi("q=([^&]*)"$reff."&"$query); 
$quer utf8_win($query[1]);
break;
   }
         case `
aport`:
   {
eregi("r=([^&]*)"$reff."&"$query); 
$quer $query[1];
break;
   }
   }
//конец для switch
$symbols = array(""", "`", "(", ")", "+", ",", "-"); 
$quer = str_replace($symbols, " ", $quer); 
$quer = trim($quer); 
$quer = preg_replace(`|[s]+|`,` `,$quer); 
?>

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

Делаем все каталоги белыми

<?php
//используя переменную окружения $_SERVER[`HTTP_REFERER`]
$reff urldecode($_SERVER[`HTTP_REFERER`]);
if(
substr($reff,0,7) == "http://"
$reff substr($reff,7);
//вычисляем имя ресурса
$reff strtok($reff".");
//ищем в базе, соответствие с названиями каталогов
$query ="SELECT * FROM 
optimize WHERE name_cat LIKE "
%$reff%";
$res = mysql_query($query);
if(mysql_num_rows(
$res)==1)
   {    
$row=mysql_fetch_array($res);
//Выдаем ссылку на каталог
$optimize = $row[`body`];
    }
//если в базе соответствий нет, то выводим
else 
$optimize = "Здесь может быть Ваша рекламная информация";
?>

Предпочтительнее определять пришедшего по IP адресу.
Работа с одним HTTP_REFERER может не дать результата, в связи с легкой подменой этого значения в заголовках, при автоматической проверке ссылок.
Некоторые неудобства с созданием базы с лихвой компенсируются качеством ссылок и поисковым продвижением Вашего сайта.

Сортируем поисковый траф

Вы имеете ресурс, с определенной посещаемостью.
Однако, анализ поисковых запросов, показывает, что точка входа на ваш сайт, не соответствует тематике запроса.
Может ли это принести выгоду?

Используя возможности скрипта счетчика, анализируем и сортируем поисковый траф, создаем базу со стоп - словами, запросы по которым не соответствуют тематике Вашего ресурса.
Дальше, есть несколько путей использования полученной информации:

  • Создать, страницу, которая будет соответствовать поисковым запросам, а с точки входа, делать внутренний редирект на созданную страницу, тем самым удовлетворяя пользователя.

  • Сливать траф тем, кто заинтересован в этих целевых посетителях, путем внешнего редиректа.

<?php
//Что необходимо при внешнем редиректе на PPC
// собрать все ключевые слова в кучу
$quer str_replace(" ""+"$quer); 
// сделать редирект  на адрес PPC
echo "<HTML><HEAD>
<META HTTP-EQUIV=`Refresh` CONTENT=`0;
URL=http://PPC.com/index.php?id_article=
$quer`>
</HEAD></HTML>"
;
?>

Некоторые дополнения к стандартному варианту.

Создайте в базе данных таблицу, и в конце счетчика разместите нижележащий код. Это позволит Вам, собирать дополнительную информацию о посещаемости ресурса, собирать статистику по поисковым ботам.

<?php
//Создаем таблицу
CREATE TABLE `robots` (
  `
idint(11NOT NULL auto_increment,
  `
ip_adrtinytext NOT NULL,
  `
bottinytext NOT NULL,
  
PRIMARY KEY  (`id`)
ENGINE=MyISAM
//Вставляем в счетчик код
if ($os==`none`)
$query "INSERT INTO robots VALUES (0,`$ip_adr`,`$bot`)"
@
mysql_query($query);
//Дальше только остается сделать админ страницу, и снимать результаты.
?>


Партнеры

Valid HTML 4.01 Transitional