> Главная > Продукты и услуги > Купить > Компания
English / Русский

Сбор статистики сайта счетчиками посещений. Типы счетчиков.

Задача данного материала рассказать про различные типы счетчиков посещений и про основные принципы их работы. А также помочь Вам выбрать подходящий тип счетчика.

Анализ статистики сайта проводится на основе данных о посетителях сайта. Данные о посетителях собираются веб-сервером (и затем записываются в лог-файлы) или счетчиками посещений (и затем записываются в базы данных). В рамках данного материала рассмотрим принципы работы разных типов счетчиков.

Общий принцип.

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

Параметры вызова или QUERY_STRING передаются через знак вопроса ? после адреса страницы и разделяются знаком амперсанда &, например:

/cgi/test.php?i=34344&resolution=1024&color=32

Вызов внешней программы может быть осуществлен разными способами, самый распространенный способ - использование картинки.

Счетчик посещений - картинка.

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

Картинка вставляется в страницу следующим образом:

... text of html page...
<img src=http://www.myserver.com/img/picture.gif width=468 height=60>
... text of html page...

Браузер, отрисовывая страницу на Вашем экране, формирует запрос по адресу http://www.myserver.com/img/picture.gif и в ответ сервер посылает браузеру файл картинки.

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

Таким образом, мы не сможем посчитать пользователей с отключенной загрузкой картинок и не сможем контролировать деятельность роботов на сайте.

Методика подсчета статистики на основе счетчика-картинки.

Вместо ссылки на картинку мы вставляем вызов внешней программы, которая "прикидывается" картинкой:

<img src=http://www.myserver.com/counter.php height=1 width=1>

Программа counter.php формирует файл картинки, который отдается браузеру. Таким образом, для браузера вызов программы выглядит как загрузка обычной картинки.

Картинка, которую формирует программа, может быть любой. Например, прозрачный GIF размером 1х1, или может быть картинка счетчика размером 88х31 с числами посещений сайта (всего просмотров сайта, сегодня просмотров, сегодня пользователей), или любая другая.

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

<img src=http://www.myserver.com/counter.php?screen=1024 height=1 width=1>

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

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

Счетчик посещений - программная вставка.

Большинство сайтов сейчас динамические - их страницы генерируются на лету по запросу посетителя сайта. Страницы динамических сайтов написаны с использованием языка программирования, в основном это PHP, ASP, JSP. То есть страницы сайта сами являются программами и имеют свои переменные окружения. Мы можем написать код на языке сайта, например PHP, который будет собирать информацию о посетителе и складывать ее в базу данных, но не выводить в результате работы никакой видимой информации. Для удобства вставки такого кода в страницы, его обычно оформляют отдельным файлом, а затем вставляют в страницы сайта.

Например, код счетчика программной вставки (PHP-Include) у CNStats выглядит примерно так:

... php-code ...
include "/usr/www/users/www.myserver.com/cnstats/cnt.php";
... php-code ...

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

Счетчик посещения - комбинированный - программная вставка плюс картинка.

Идея такова - в страницы динамического сайта вставляется код программной вставки, который при выполнении будет выводить код счетчика посещения картинки! Что же получается?

  1. В момент генерации страницы вызывается код программной вставки и полученная из переменных окружения информация записываются в базу данных.
  2. В результате работы программной вставки на генерируемой странице появляется java-скрипт код счетчика-картинки.
  3. При просмотре страницы браузером срабатывает java-скрипт и вызывается счетчик-картинка с дополнительно собранной информацией.
  4. Дополнительная информация собранная java-скриптом об этом же посетителе дописывается в базу данных.

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

Заключение.

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

20 октября 2005 года
Влад Герасимов
www.cn-software.com

При полном или частичном копировании обязательна ссылка на автора и www.cn-software.com