cms4site™ :: Статистика Лайт. Общее руководство
cms4site™ система построения сайтов и управления контентом 3.6.2
 C31RU 



cms4site™ :: Статистика Лайт. Общее руководство
[2]



ОГЛАВЛЕНИЕ

НАЗНАЧЕНИЕ 3
СТРАНИЦА СТАТИСТИКИ 3
1. Заголовок 3
2. Диаграмма посещаемости по дням 3
3. Сегодняшнее значение отношения визиты/посетители 4
4. Диаграммы посещений за день и за неделю 4
5. Посещаемость по страницам 4
6. Ссылки за последние дни 4
7. Суммарные ссылки 4
8. Журнал посещений 5
9. Показатели популярности сайта 5
СЧЕТЧИК НА СТРАНИЦЕ 5
ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ И ХАРАКТЕРИСТИКИ 5
УСТАНОВКА И НАСТРОЙКА СИСТЕМЫ 6
Модуль сбора статистики 6
Определение имени хоста по IP-адресу 7
Модуль показа статистики 7
ЗАМЕЧАНИЯ ПО ПРИМЕНЕНИЮ 8
ИДЕНТИФИКАТОР СТРАНИЦЫ 8
©2000-2010 cms4site group. All rights reserved


cms4site™ :: Статистика Лайт. Общее руководство
[3]




НАЗНАЧЕНИЕ


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

Статистика Лайт работает как в среде cms4site™, так и на любом другом сайте. Однако, для динамического сайта потребуется лишь небольшая настройка системы, а для статического - более значительная.

СТРАНИЦА СТАТИСТИКИ




Все собранные данные по сайту выводятся на одну страницу. Для больших сайтов (сотни страниц) рекомендуется задавать сокращенный вывод (выводятся только наивысшие результаты), для сайтов из нескольких десятков страниц - полный вывод.

Страница статистики состоит из нескольких информационных блоков:

  1. Заголовок.
  2. Диаграмма посещаемости по дням с подсчетом отношения визиты/посетители.
  3. Сегодняшнее значение отношения визиты/посетители
  4. Диаграммы посещений за день (по часам) и за неделю (по дням), выходные дни - отдельно.
  5. Посещаемость по страницам.
  6. Ссылки за последние дни.
  7. Суммарные ссылки.
  8. Журнал посещений.
  9. Показатели популярности сайта.

1. Заголовок

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

2. Диаграмма посещаемости по дням

Показывает динамику посещаемости сайта по суммарным загрузкам страниц и количеству посетителей. Диаграмма накапливается за указанное в настройках количество дней. Красным цветом показаны выходные, зеленым - текущий день.


cms4site™ :: Статистика Лайт. Общее руководство
[4]



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

При наведении курсора на столбец диаграммы показывается дата, реальное количество посещений и результат усреднения. Для сегодняшнего дня показывается прогнозируемое количество посещений.

3. Сегодняшнее значение отношения визиты/посетители

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

4. Диаграммы посещений за день и за неделю

Показывают среднее количество посещений в день (по часам) и за неделю (по дням). Выходные дни считаются отдельно.

5. Посещаемость по страницам

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

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

Отслеживается динамика посещаемости, суммарная и каждой страницы по вчерашним результатам, показываемая цветными стрелками: вверх (растет), вниз (падает) и знаком равенства (сохраняется).

Здесь же переключается показ всех/наивысших результатов. При сортировке по страницам выводятся все страницы, независимо от способа показа всех/наивысших.

Названия страниц являются ссылками на них (открываются в новом окне).

6. Ссылки за последние дни

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

Показываются полные ссылки за заданное в настройках количество дней. Текст ссылок (но не сами ссылки) модифицируется для показа закодированных символов (кроме UTF-8) и обеспечения переносов. Ссылки открываются в новом окне.

Одинаковые ссылки могут суммироваться (первая колонка), во второй указано время последнего перехода, в третьей - порядковый номер ссылки. При наведении курсора на вторую колонку показывается имя страницы, на которую произошел переход.

7. Суммарные ссылки

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

Кроме того, в алгоритме учитываются зеркала некоторых сайтов, Например, www.google.com, google.com, www.google.com.ru, www.google.de и др. приводятся к www.google.com (можно отключить в настройках).


cms4site™ :: Статистика Лайт. Общее руководство
[5]



8. Журнал посещений

Показывает хост/IP-адрес, время, страницу и ссылку по посещениям в реальном времени (по действию "обновить"). При первой загрузке показывается "большой" журнал (задано в настройках модуля сбора), при обновлении - уменьшенный (задано в настройках модуля показа). Новые записи появляются первыми и отмечаются цветом строк (относительно предыдущей загрузки журнала).

При обновлении перегружается только журнал, но не вся страница.

При наведении курсора на имя хоста/IP-адрес показывается тип броузера посетителя и поддержка сжатия кода, адреса страниц и ссылок могут усекаться, тогда при наведении на них курсора показывается полный текст.

9. Показатели популярности сайта

Показываются значения Яндекс тИЦ, Google PageRank и Webalta Reliancy.


СЧЕТЧИК НА СТРАНИЦЕ


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





ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ И ХАРАКТЕРИСТИКИ


  • Сбор и показ статистики - в реальном масштабе времени.
  • Требования к программному обеспечению на хостинге - PHP 4.2 или выше, желательна библиотека ZLib, тогда будет выполняться сжатие формируемого кода перед передачей страницы в броузер.
  • Средний размер формируемого кода страницы отчета - 150 Кб (несжатая), 25 Кб (сжатая)
  • Объем дисковой памяти статистики - около 100 байт на страницу, 100 байт на ссылку, 200 байт на одну запись журнала (зависит от длины заголовков и идентификаторов страниц, а также типа ссылок, приведены приблизительные значения).
  • Объем дисковой памяти системы - около 200 Кбайт (без документации).
  • Особые требования к ресурсам - нет.
  • Время задержки в секундах без определения имени хоста для журнала - приблизительно 0.0002*N (N - число страниц в сайте).
  • Поддерживаемые языки - русский, английский, немецкий, словацкий.
  • Сопровождение системы - не требуется, используется принцип автоочистки.


cms4site™ :: Статистика Лайт. Общее руководство
[6]



УСТАНОВКА И НАСТРОЙКА СИСТЕМЫ


Установка системы пояснена на примере автономной установки (без cms4site™). Программные и графические файлы системы должны быть помещены в некоторую директорию на сайте, например, statlight. Для сбора статистики требуется отдельная директория внутри указанной, например, statdata с атрибутами, допускающими запись в нее файлов из программной среды PHP. Это соответствует атрибутам 777 команды chmod или drwxrwxrwx FTP-клиента.

Модуль сбора статистики

Вызов программного модуля сбора статистики осуществляется оператором PHP include, например:

include('statlight/xmmstat.php');

Для динамических сайтов на PHP такой вызов располагается где-либо в общей части движка сайта. Для других сайтов, страницы которых не проходят через интерпретатор PHP, можно использовать директивой SSI (если поддерживается хостингом):

<!--#include virtual="statlight/xmmstat.php"-->

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

include('/usr/homewww_firma_ru/statlight/xmmstat.php');

Рекомендуется обеспечить две функции, возвращающие идентификатор страницы и ее название. При отсутствии этих функций система будет использовать REQUEST_URI из переменных окружения.
  1. function xmmgetmyvalue($which) - возвращает строковое значение идентификатора страницы, используемое в качестве ключа массива для накопления данных. Параметр $which не используется, нужен для совместимости с cms4site™. Каждой странице сайта должен соответствовать уникальный идентификатор, хотя возможно и объединение страниц.
  2. function xmmgetmytitle() - возвращает массив строковых значений, составляющих имени страницы, например: array("Фирма","Продукция","Двери","К120"), система именует страницу, деля элементы массива знаком минуса в окружении пробелов. Если такого деления не нужно, возвращайте полное наименование в первом элементе массива. То есть в предыдущем случае array("Фирма","Продукция","Двери","К120") система поименует страницу "Фирма - Продукция - Двери - К120", но вы можете назвать ее иначе, например, array("Продукция : Двери : К120").

В модуле использованы функция xmmcms4sitestatisticslight() и переменная $xmmcms4sitestatisticslightresult При успешном выполнении переменная $xmmcms4sitestatisticslightresult содержит HTML-код счетчика для страницы, в противном случае - FALSE.

Счетчик может быть размещен на странице так:

if ($xmmcms4sitestatisticslightresult!==FALSE) print($xmmcms4sitestatisticslightresult);

Настройка модуля производится в его начале, изменением значений переменных в текстовом редакторе:

$XMMSTATFILE = "statlight/statdata/pagecounters.dat"; - путь к файлу статистики страниц.
$XMMSTATRPATH = "statlight/statdata/reference-"; - путь с префиксом для файлов ссылок.
$XMMSTATDIRECTORY = "statlight/statdata/"; - путь к директории сбора статистики.
$XMMSTATPERIOD = 62; - период сбора суммарной диаграммы посещаемости в днях.
$XMMSTATACLEAR = 365; - интервал в днях удаления данных страницы, к которой не было обращений.
$XMMSTATCUTQUERY = FALSE; - удаление запросов при автоформировании идентификатора и имени страницы.
$XMMSTATEXCLUDE = array("192.168.*.*"); - массив масок IP-адресов, исключаемых из сбора статистики .
$XMMSTATLOGFILE = "statlight/statdata/logfile.dat"; - путь к файлу журнала.
$XMMSTATLOGRECORDS = 100; - число записей в журнале посещений.
$XMMSTATGETHOSTBYADDR = !TRUE; - определение хоста по IP в журнале (см. далее).
$XMMSTATGETHOSTBYADDRTOUT = 1; - таймаут в секундах для определения хоста улучшенным методом (0 - используется стандартный метод определения имени хоста по ip-адресу).
$XMMSTATGETHOSTBYADDRNS = "ns.ru.net"; - name-сервер для улучшенного метода определения хоста.
$XMMSTATTIMEZONE = ""; - часовой пояс пользователя (если хостинг в другом поясе), например, Europe/Moscow.
$XMMSTATCOUNTER = '%%TODAY%%(%%TOTAL%%)%%TIME%%'; - шаблон счетчика для размещения на странице. Показан сокращенный вариант, в самом файле задана более сложная таблица. В шаблоне можно использовать следующие поля для подстановки:
  • %%TODAY%% - число визитов сегодня;
  • %%TOTAL%% - общее число визитов;
  • %%TIME%% - время работы программы в секундах.


cms4site™ :: Статистика Лайт. Общее руководство
[7]



Определение имени хоста по IP-адресу

В журнале посещений можно задать определение имени посетителя (хоста) по ip-адресу. Основные аспекты этой возможности таковы:
  • IP-адрес (например, 66.196.91.101) всегда содержится в запросе к странице, а имя хоста (например, lj1321.inktomisearch.com) - нет.
  • Для определения имени хоста нужно обращение к другим серверам (name-серверам, серверам доменных имен), что занимает определенное время: от десятых долей секунды до нескольких секунд.
  • Стандартные средства определения имени хоста в языке PHP, на котором реализована cms4site™, склонны к "зависанию" при плохом доступе к name-серверу.
  • Собственное улучшенное средство определения имени хоста cms4site™ требует задания конкретного name-сервера, который должен поддерживать запросы на определение обратной зоны, но только оно имеет, в отличие от стандартного, ограничение по времени ожидания ответа (таймаут).

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

Вместо не определенных имен хостов показываются ip-адреса, которые помечаются так:
  • f1: неверный формат ip-адреса;
  • f2: неверный формат ip-адреса;
  • f3: неверный формат ip-адреса;
  • e4: таймаут;
  • e5: неверный формат полученного ответа или ошибка в программе;
  • e6: имя не найдено или обратные зоны не поддерживаются name-сервером;
  • u1: стандартный метод не смог определить имя;
  • x1: имя не определено, показан ip-адрес в локальной сети HTTP_X_FORWARDED_FOR от прокси-сервера;
  • z1: определение имени отменено в настройках.


Модуль показа статистики

Вызывается из броузера, имя модуля - xmmmystat.php, имеется стартовый файл index.php:
  • http://www.mysite.ru/statlight/ или
  • http://www.mysite.ru/statlight/index.php или
  • http://www.mysite.ru/statlight/xmmmystat.php

Настройка модуля производится в его начале, изменением значений переменных в текстовом редакторе:

$XMMSTATFILE = "statdata/pagecounters.dat"; - путь к файлу статистики страниц.
$XMMSTATRPATH = "reference-"; - префикс имен файлов ссылок.
$XMMSTATDIRECTORY = "statdata/"; - путь к директории статистики.
$XMMSTATREFERENCELIMIT = 5; - выводить полные ссылки за указанное количество дней.
$XMMSTATREFERENCECLEAR = 93; - максимальное количество дней хранения полных ссылок.
$XMMSTATSUGGESTDELETE = 33; - интервал предложения ручного удаления непосещенных страниц.
$XMMSTATDYNAVERAGE = 5; - исходное значение усреднения диаграммы.
$XMMSTATSMOOTHVALARRAY = array(-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7); - массив значений для меню изменения усреднения.
$XMMSTATJOINSOMESITES = TRUE; - объединять зеркала сайтов (google.com, google.de и т.п.).
$XMMSTATCMS4SITE = TRUE; - работа в среде cms4site™.
$XMMSTATMODREWRITE = TRUE; - применяется ли Apache Rewrite Engine вместе с cms4site™.
$XMMSTATSKIPLOW = TRUE; - печатать только наивысшие значения.
$XMMSTATREFSUMLIMIT = 20; - ограничение длины отчета суммарных ссылок (0 - автоматически)
$THISLANGUAGE="russian"; - язык по умолчанию.
$XMMSTATTIMEZONE = ""; - часовой пояс пользователя (если хостинг в другом поясе), например, Europe/Moscow.
$XMMSTATLOGFILE = "statdata/logfile.dat"; - путь к файлу журнала.
$XMMSTATCHUNKPAGE = 50; - отсекаемая длина адреса страницы в журнале.
$XMMSTATCHUNKREF = 80; - отсекаемая длина адреса ссылки в журнале.
$XMMSTATLOGREFRESH = 30; - количество показываемых записей журнала при действии "обновить".


cms4site™ :: Статистика Лайт. Общее руководство
[8]



ЗАМЕЧАНИЯ ПО ПРИМЕНЕНИЮ


Директорию статистики statlight можно защитить паролем из соображений секретности.

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

Чистка диаграммы посещаемости производится в модуле сбора статистики, а чистка ссылок - в модуле обработки.

Рекомендуется распечатывать страницу статистики раз в месяц для глобальной оценки динамики посещаемости. Можно ежемесячно сохранять полученный HTML-код в директории statlight под именем вида YYYY-MM.htm, например, 2004-11.htm. Доступ к коду нужно делать через "Просмотр/В виде HTML (View/Source)", но не "Файл/Сохранить как (File/Save as)" броузера. Внимание! Внутренние ссылки на другие варианты отображения данных в таком файле уже не будут работать.

В системе предусмотрена возможность настройки временной зоны (часового пояса) пользователя. Это нужно в том случае, если хостинговый сервер находится в ином часовом поясе. Таблица часовых поясов имеется в документации по cms4site™. Для Москвы и Санкт-Петербурга надо указывать Europe/Moscow.

При сборе статистики можно исключить учет посещений с определенных IP-адресов (задаются в настройках модуля сбора). Например: $XMMSTATEXCLUDE = array("192.168.*.*","133.233.3.31");

Файл счетчиков pagecounters.dat копируется в файлы pagecounters.dat.backup.dat, pagecounters.dat.backup.2.dat, pagecounters.dat.backup.3.dat ежедневно, раз в три дня и раз в неделю. Как показала практика, восстановление основного файла по копии требуется при превышении квоты дисковой памяти на хостинге. При этом процесс записи файла прерывается в любом месте, с точностью до байта, что приводит к полной или частичной потере данных. Перед восстановлением необходимо принять меры по очистке дискового пространства на хостинге от ненужных файлов, почты, форумов, баз данных и т.п.


ИДЕНТИФИКАТОР СТРАНИЦЫ


Использование REQUEST_URI для идентификации страницы при автономной установке нежелательно по следующим причинам:
  • При использовании форм с методом GET все запросы будут считаться отдельно (если не задано отсечение параметров). Поиск по сайту, например, создаст множество посещенных по одному разу страниц.
  • Обращение с параметрами к страницам, где параметры не используются вообще, также создаст "лишние" страницы.
  • Отсечение параметров может не подойти для сайтов, где вызов всех страниц ведется через параметры, например index.php?pid=prod&id=1276

Единственным выходом видится обязательное применение функции xmmgetmyvalue(), которая бы четко определяла, что считать вызовом отдельной страницы, а что игнорировать.

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