phpTrafficA - статистика для Drupal
Прислано: vktRus
вт, 26/06/2007 - 13:43
Стандартная установка:
Устанавливайте так, как описано в программе, потому что я расписывал очень изощрённый вариант.
Создайте блок PHP, который нужно показывать на всех страницах (или избранных), вставьте туда код, который указан для данного сайта в статистике (войти в статистику, выбрать "счётчики", найти параграф "Картинка, без php" и всё делайте, как там указано).
Естесственно, ваш сайт уже должен быть добавлен в статистику. Добавляется сайт в меню "Конфигурация".
Подредактировал 30 октября 2008 года с учётом новой версии программы 2.1beta3.
Уже год, как пользуюсь статистикой phpTrafficA. Недавно поставил сайт на Drupal 5 и решил прикрутить к нему phpTrafficA вместо стандартной. Сделал так:
База данных должна быть в юникоде.
Добавил блок "phpTrafficA", левая колонка, 10, показывать только анонимным пользователям
<p><?php $phpTA_To = strtr(drupal_get_title(),"\"",""); $phpTA_To = htmlspecialchars ( mb_strcut( $phpTA_To, 0, 80, "UTF-8")); $sid="326565"; include("/path-to-phptraffica/write_logs.php"); log_phpTA($sid,$phpTA_To); ?></p>
Подправил в phpTrafficA, чтобы показывались заголовки страниц, а не их адреса.
Изменения во вложенных файлах.
Ваше мнение?
| Прикрепленный файл | Размер |
|---|---|
| Готовые файлы со всеми изменениями | 15.31 кб |
- vktRus's blog
- Для комментирования войдите или зарегистрируйтесь
Шикарно :)
- Для комментирования войдите или зарегистрируйтесь
Это стёб?
Да такого анализа путей посетителей по сайту я не видел больше ни в одной статистике.
Может кто разберётся, как phpTrafficA сделать модулем к Drupal?
- Для комментирования войдите или зарегистрируйтесь
эмм, а она лучше чем г-аналитикс? или лайвинтернетовский счетчик
и еще, прочел у них на сайте
Ограничения
С другой стороны, phpTrafficA не разработан для вебсайтов с очень большим трафиком, нуждающихся в точной почасовой статистике. Программа для тех из нас, кто управляет вебсайтами со средним трафиком (несколько сотен показов страницы в день) и хочет видеть, кто заходит... Функция записи логов быстра и размер базы данных сохраняет в разумных пределах, удаляя ненужную информацию.
- Для комментирования войдите или зарегистрируйтесь
А зачем модулем? Чем плохо вставкой в шаблон?
- Для комментирования войдите или зарегистрируйтесь
лучше чем г-аналитикс? или лайвинтернетовский счетчик?
Ну вы даёте! Что показывает обычная статистика - известно всем. А вот знать, как посетители передвигаются по сайту, какие самые популярные пути, какие ссылки внутри страниц срабатывают - такое я нашёл только в phpTrafficA. Товары, услуги нужно же продавать. Вот и надо знать, что привлекает посетителя на сайте, что его удерживает, а что отталкивает.
для тех, кто управляет вебсайтами со средним трафиком
Да, для музыкального магазина с количеством песетителей в несколько тысяч может и не пойдёт, а вот для средних сайтов, каких гораздо больше, чем мегамонстров, в самый раз.
А зачем модулем?
Не знаю. Может так лучше? Единая панель управления будет всё-таки.
- Для комментирования войдите или зарегистрируйтесь
эмм, а вы точно пробовали лайвинтернет и г-аналитик
- Для комментирования войдите или зарегистрируйтесь
Про Liveinternet не надо. Ну вы сами сравните.
phpTrafficA
http://soft.zoneo.net/phpTrafficA/screenshots.php?l=ru
в группе "Анализ пути" смотрите на "Движение посетителей" и на "Анализ пути".
Liveinternet
http://www.liveinternet.ru/stat/ru.redtram.com/top100/24h/internals.html
Просто график с количеством переходов. И не указано с какой страницы на какую.
Где нагляднее?
Ну а Google. Да уж, красиво, против гиганта не попрёшь. Но опять же, длинный путь переходов не построишь. Только анализ, привязанный к одной единственной странице. Например, нельзя явно увидеть откуда пришли посетители, которые ходят по пути a-b-c. Такая информация есть только для отдельной страницы. Или я ошибаюсь?
И не забывайте, что phpTrafficA - это лично ваша статистика, работает на вашем сайте и её работа зависит только от вас, а не от кого-то чёрт знает где.
Хотя, Google, конечно, и красивее, и программистов там по-больше, чем один, как это в phpTrafficA.
- Для комментирования войдите или зарегистрируйтесь
в ливе гляньте экспресс-аудит
там есть пути по сайту
И не забывайте, что phpTrafficA - это лично ваша статистика, работает на вашем сайте
которая грузит Ваш сервер :) и которая не предназначена для обсчета тысяч посетилей (у меня - тысячи).
В общем, так, наверно, если Вы продаете с сайта, то необходимо считать и изучать всех пользователей и всех из пути
но для посещаемого сайта phpTrafficA - получается это не выход, так как не обсчитывает тысячи.
А что Вы думаете о анализаторах логов?
- Для комментирования войдите или зарегистрируйтесь
- в ливе гляньте экспресс-аудит, там есть пути по сайту
Очень коряво. Адрес страницы для анализа набираем ручками. Длинный путь не построишь. - у меня - тысячи
Тематика сайта + ваша хорошая работа = много посетителей. На моём сайте тематика такая, что посетители очень специфичные. - Анализатор логов самое то для вАшего сайта. Нагрузка почти ноль, а информации море. Проблема только переработать эту информацию. А из бесплатных программ лучшая - awstats. Но у моего хостера (я на виртуальном хостинге) стоит webalizer. А это прошлый век. Из платных видел одну отличную программу с возможностью общаться с посетителем, который зашёл на сайт. Вот человек удивится :) Название не помню.
- Ещё один существенный минус Google Analytics - время обновления информации. Раз в сутки.
Так что для сайтов с не очень большой загрузкой phpTrafficA - лучший выбор.
- Для комментирования войдите или зарегистрируйтесь
Супер, чо надо! :)) С буквами......Тащусь!:)))
- Для комментирования войдите или зарегистрируйтесь
А вот вариант, если вместо русских букв квадратики:
<?php function romanize ($string) { $UTF8_ROMANIZATION = array( //russian cyrillic 'а'=>'a', 'А'=>'A', 'б'=>'b', 'Б'=>'B', 'в'=>'v', 'В'=>'V', 'г'=>'g', 'Г'=>'G', 'д'=>'d', 'Д'=>'D', 'е'=>'e','Е'=>'E', 'ё'=>'jo', 'Ё'=>'Jo', 'ж'=>'zh', 'Ж'=>'Zh', 'з'=>'z', 'З'=>'Z', 'и'=>'i', 'И'=>'I', 'й'=>'j', 'Й'=>'J', 'к'=>'k', 'К'=>'K', 'л'=>'l', 'Л'=>'L', 'м'=>'m', 'М'=>'M', 'н'=>'n', 'Н'=>'N', 'о'=>'o', 'О'=>'O', 'п'=>'p', 'П'=>'P', 'р'=>'r', 'Р'=>'R', 'с'=>'s', 'С'=>'S', 'т'=>'t', 'Т'=>'T', 'у'=>'u', 'У'=>'U', 'ф'=>'f', 'Ф'=>'F', 'х'=>'x', 'Х'=>'X', 'ц'=>'c', 'Ц'=>'C', 'ч'=>'ch', 'Ч'=>'Ch', 'ш'=>'sh', 'Ш'=>'Sh', 'щ'=>'sch', 'Щ'=>'Sch', 'ъ'=>'', 'Ъ'=>'', 'ы'=>'y', 'Ы'=>'Y', 'ь'=>'', 'Ь'=>'', 'э'=>'eh', 'Э'=>'Eh', 'ю'=>'ju', 'Ю'=>'Ju', 'я'=>'ja', 'Я'=>'Ja', '"'=>'', ); return strtr($string,$UTF8_ROMANIZATION); } $phpTrafficA_referer = base64_encode($_SERVER["HTTP_REFERER"]); $title = romanize (drupal_get_title()); $phpTrafficA_thispage = urlencode($title); $phpTrafficA_id = "777777"; $phpTrafficA_time = time(); echo "<img src=\"http://xxxxxx.ru/path_to_phptraffica/count.php?sid=$phpTrafficA_id&p=$phpTrafficA_thispage&r=$phpTrafficA_referer&t=$phpTrafficA_time\" alt=\"\" />"; ?>
Подправил в phpTrafficA, чтобы показывались заголовки страниц, а не их адреса:
count.php
Найти:
$to = base64_decode(rawurldecode($p)); if ($sites[$sid]['trim']) { $to = backstr($to,'?'); }
Заменить на:
//$to = base64_decode(rawurldecode($p)); $to = urldecode($p); //if ($sites[$sid]['trim']) { // $to = backstr($to,'?'); //}
Кстати, ещё один минус Google Analytics - вместо названий страниц - их адреса. А если адреса имеют вид /node/*, то толку от такой статистики?
- Для комментирования войдите или зарегистрируйтесь
А чего не встроить код в шаблон?
- Для комментирования войдите или зарегистрируйтесь
Можно и в шаблон. Просто мне так удобнее редактировать. Кстати, сейчас уже использую вариант чистого PHP счётчика. Единственное НО: если этот вариант разрешить показывать зарегистрированным пользователям, то у них всё время сбрасывается сессия. Почему? Ещё не искал. Может здесь кто поможет. Сейчас счётчик показываю только анонимусам. Плюс немного подкрутил код и все названия страниц теперь на русском языке без транслитеризации.
Код на страницах:
<p><?php $phptraffica_title = drupal_get_title(); $sid="xxxxxxx"; include("/pub/home/xxxxx/htdocs/stat/write_logs.php"); ?></p>
Файл write.logs.
Найти:
if ($sites[$sid]['trim']) { $To = $_SERVER["PHP_SELF"]; } else { $To = $_SERVER["REQUEST_URI"]; }
Заменить на:
/*if ($sites[$sid]['trim']) { $To = $_SERVER["PHP_SELF"]; } else { $To = $_SERVER["REQUEST_URI"]; }*/ $phptraffica_title = strtr($phptraffica_title,"\"",""); $To = htmlspecialchars($phptraffica_title);
Плюс нужно сделать корректное укорачивание названий страниц, так как они в UTF-8.
Файл Php\funct.inc.php.
Функция shorten:
function shorten ($var, $len = 30) { if (empty ($var)) { return ""; } if (mb_strlen ($var, "UTF-8") < $len) { return $var; } // if (preg_match ("/(.{1,$len})\s/", $var, $match)) { // return $match [1]; //} //else { return mb_substr($var, 0, $len, "UTF-8"); //return substr ($var, 0, $len); //} }
Функция shortencenter (тут тоже просто укорачивание):
function shortencenter ($var, $len = 30) { if (empty ($var)) { return ""; } if (mb_strlen ($var, "UTF-8") < $len) { return $var; } //$len = floor($len/2)-1; return mb_substr($var, 0, $len, "UTF-8")."..."; //return substr($var,0,$len)."...".substr ($var,strlen($var)-$len,$len); }
Счётчик показывать только анонимусам! Я сначала поставил "показывать всем" и не смог сам зайти на сайт. Пришлось лезть в базу данных и там ставить "только анонимусам".
- Для комментирования войдите или зарегистрируйтесь
У меня почему-то не показывает имена страницы, которые посетились. Если вставить в шаблон ругается на что-то :(
- Для комментирования войдите или зарегистрируйтесь
Код на страницах:
...
$phptraffica_title = drupal_get_title();
...
Вот эта строка берёт название страницы, а дальше смотри моё сообщение выше.
- Для комментирования войдите или зарегистрируйтесь
Я пользовался скриптом [http://www.phpmyvisites.us/ phpMyVisites] - он тоже показывает пути по сайту и всё то, что виден на скриншотах. Правда в той версии, что я использовал это было реализовано нет как наглядно... Вот онлайновое демо: http://www.phpmyvisites.us/phpmv2/index.php?site=1&date=2007-11-06&period=1&mod=view_followup
- Для комментирования войдите или зарегистрируйтесь
ОК, попробую.
А почему в шаблон не засунуть? проще вроде и ругаться не будет в drupal-log.
Кстати, анонимусов считать- пол дела. А выбивает логин dryupal может из за сокета администратора? у меня не было такого
- Для комментирования войдите или зарегистрируйтесь
Вообще все глюкануло и выбросило... Метод дикий... считать ананимусов - в топку вариант...
- Для комментирования войдите или зарегистрируйтесь
ругаться не будет в drupal-log
На что ругается?
- Для комментирования войдите или зарегистрируйтесь
считать ананимусов - в топку вариант
Предложи своё решение для подсчёта посетителей с отключенной графикой.
- Для комментирования войдите или зарегистрируйтесь
Пока экспериментирую...
urlencode($title) возвращает " "
- Для комментирования войдите или зарегистрируйтесь
Тестируем версию 2.0
http://soft.zoneo.net/phpTrafficA/Demo2.0/
Новый интерфейс, проверка файлов после установки, подписи графиков по-русски, изменены названия функций для совместимости с другими php программами.
- Для комментирования войдите или зарегистрируйтесь
Неужели юникод сделали корректно? Совместимо со старым?
Пошел тестировать :)
- Для комментирования войдите или зарегистрируйтесь
По-моему вы плохо знакомы с возможностями Гугла.
1 скрин - анализ путей.
2 и 3 наложение данных на сайт.
Причем данные учитываются относительно страницы, на которой находишь. Можно погулять по сайту и посмотреть кто и сколько и куда щёлкал.
- Для комментирования войдите или зарегистрируйтесь
Версия 2.0 готова.
Для того чтобы вместо URL показывалось название страницы я сделал следующее:
1. добавил на сайте блок "статистика"
<p> <?php $phptraffica_title = strtr(drupal_get_title(),"\"",""); $phpTA_To = htmlspecialchars($phptraffica_title); $sid="XXXXX"; include("/path_to_phptraffica/write_logs.php"); log_phpTA($sid,$phpTA_To); ?> </p>
Блок можно показывать всем пользователям, а не только анонимусам, как раньше.
2. Подредактировал файл write_logs.php
Найти:
function log_phpTA($sid) {
Заменить на:
function log_phpTA($sid,$phpTA_To) {
Найти:
// Record entry if ($phpTA_sites[$sid]['trim']) { $phpTA_To = $_SERVER["PHP_SELF"]; } else { $phpTA_To = $_SERVER["REQUEST_URI"]; }
Заменить на:
// Record entry /* if ($phpTA_sites[$sid]['trim']) { $phpTA_To = $_SERVER["PHP_SELF"]; } else { $phpTA_To = $_SERVER["REQUEST_URI"]; } */
Найти:
} log_phpTA($sid); ?>
Заменить на:
} ?>
3. Плюс для корректного обрезания названий страниц подредактировать файл Php\Functions\funct.inc.php
Обновить функцию shorten
function shorten ($var, $len = 30) { if (empty ($var)) { return ""; } if (mb_strlen ($var, "UTF-8") < $len) { return $var; } // if (preg_match ("/(.{1,$len})\s/", $var, $match)) { // return $match [1]; //} //else { return mb_substr($var, 0, $len, "UTF-8"); //return substr ($var, 0, $len); //} }
Обновить функцию shortencenter
function shortencenter ($var, $len = 30) { if (empty ($var)) { return ""; } if (mb_strlen ($var, "UTF-8") < $len) { return $var; } //$len = floor($len/2)-1; return mb_substr($var, 0, $len, "UTF-8")."..."; //return substr($var,0,$len)."...".substr ($var,strlen($var)-$len,$len); }
- Для комментирования войдите или зарегистрируйтесь
Он по данным совместим со старым? В смысле как обновить. По верху, новую базу или конвертировать?
- Для комментирования войдите или зарегистрируйтесь
Просто читай файл Doc\upgrade.html
Там не просто скопировал. Нужно файл sites.php старый перенести, конфиги подредактировать, запустить обновление и удалить папку Install
- Для комментирования войдите или зарегистрируйтесь
Да, старая база данных будет обновлена без потери данных.
- Для комментирования войдите или зарегистрируйтесь
Ещё можно подправить Lang\ru.php
Найти:
заблокированный IP
Заменить на:
заблокировать IP
- Для комментирования войдите или зарегистрируйтесь
Спасибо, даже не знаю куда и + ставить :)
- Для комментирования войдите или зарегистрируйтесь
Я в Интернет выхожу через прокси, а он слишком хорошо кэширует. И чтобы знать, что за статистика перед глазами, я поставил на все страницы текущее время. Сразу понятно: из кэша или нет.
Файл index.php
Найти:
$subtitle = "phpTrafficA$demo: ".$strings['statsfor']." $domain";
Заменить на:
$subtitle = "phpTrafficA$demo: ".$strings['statsfor']." $domain. Данные на ".date("H:i от d-m-Y")."";
Мод для Детальной статистики, позволющий скрыть посещения роботов или людей.
Образец:
revisemri.com/count/recent.stats
Скачать адаптированную версию для phpTrafficA 2.0:
rapidshare.com/files/92871179/mod-human-robot.zip.html
- Для комментирования войдите или зарегистрируйтесь
А вот небольшой мод для скрытия в детальной статистике роботов или людей.
Образец: http://www.revisemri.com/count/recent.stats
Скачать для phpTrafficA 2.0
http://rapidshare.com/files/92871179/mod-human-robot.zip.html
- Для комментирования войдите или зарегистрируйтесь
Мод для Детальной статистики, позволяющий скрыть посещения роботов или людей.
Образец: www. revisemri. com/count/recent.stats
Скачать мод, адаптированный для phpTrafficA 2.0:
rapidshare. com/files/92871179/mod-human-robot.zip.html
- Для комментирования войдите или зарегистрируйтесь
Почему-то, если у страницы длинный заголовок >50 символов, то почти каждое обращение к этой странице защитывается как новая страница. Полная поддержка юникода запланирована в версии 2.1. Пока решил этот вопрос с помощью укорачивания названия до 50 символов на стадии добавления в статистику.
<p> <?php $phptraffica_title = strtr(drupal_get_title(),"\"",""); $phpTA_To = htmlspecialchars ( mb_substr( $phptraffica_title, 0, 50, "UTF-8")); $sid="XXXXX"; include("/path_to_phptraffica/write_logs.php"); log_phpTA($sid,$phpTA_To); ?> </p>
- Для комментирования войдите или зарегистрируйтесь
Что-то где-то перекрылось....
Cannot redeclare whoislink() (previously declared in /path_to_phptraffica/Php/Functions/funct.country.inc.php:31) in /path_to_phptraffica/Php/Functions/funct.country.inc.php on line 54
- Для комментирования войдите или зарегистрируйтесь
Наверное, некорректно установил или файлы на сервер залил. У меня всё пучком. Совет простой: переустанови.
- Для комментирования войдите или зарегистрируйтесь
Хм.. странно. Попробую конечно... Новая версия почему то начала считать данные из старой хотя разные префиксы давал и SID разный :)
- Для комментирования войдите или зарегистрируйтесь
Немного подправил. Заменил mb_substr на mb_sbrcut.
<p> <?php $phptraffica_title = strtr(drupal_get_title(),"\"",""); $phpTA_To = htmlspecialchars ( mb_strcut( $phptraffica_title, 0, 50, "UTF-8")); $sid="XXXXX"; include("/path_to_phptraffica/write_logs.php"); log_phpTA($sid,$phpTA_To); ?> </p>
Готова вторая версия мода human-robots.
http://rapidshare.com/files/96683432/mod-human-robot-v2.zip.html
Добавил код RaRa.
http://soft.zoneo.net/phpTrafficA/forum.php?mode=thread&cat=0&thread=2470
- Для комментирования войдите или зарегистрируйтесь
На днях выходит новая версия phptraffica 2.1. В неё уже включён мод human-robot, добавлена возможность удаления страниц из статистики и много чего ещё. Теперь установить программу на сайт на Drupal проще простого. Подробно написал в шапке. Подправил её под новую версию программы. Примите участие в тестировании беты.
- Для комментирования войдите или зарегистрируйтесь
поправили с кривыми ссылками от поисковиков?
- Для комментирования войдите или зарегистрируйтесь
Pathtrack works with Drupal's statistics module to track the paths of visitors once they enter a specific page. It creates a report to show number of visitors and the paths they took. Also has an optional CSV output.
- Для комментирования войдите или зарегистрируйтесь
Ссылки уже давно поправили. Вышла бета2. Ещё немного обновил шапку. Продолжаем тестировать.
- Для комментирования войдите или зарегистрируйтесь
Выложил готовые файлы для отображения в статистике заголовков страниц вместо URL.
- Для комментирования войдите или зарегистрируйтесь
URL - лучше и понятнее
- Для комментирования войдите или зарегистрируйтесь
Для URL ничего придумывать не нужно. Делай, как указано в программе.
Но мне хочется более понятной информации, чем
/node/5
/node/65
/node/1065 и т.д.
- Для комментирования войдите или зарегистрируйтесь
Вышла бета 3. Если не будет особых ошибок, то скоро выйдет финальная версия.
- Для комментирования войдите или зарегистрируйтесь
Для URL ничего придумывать не нужно. Делай, как указано в программе.
Но мне хочется более понятной информации, чем
/node/5
/node/65
/node/1065 и т.д.
Поставить модуль PathAuto и будет понятная информация не только в статистике, но и названии URL.
- Для комментирования войдите или зарегистрируйтесь
vktRus
Столкнулся с такой проблемой: пользовался phptraffica, после установки дополнительно google analystics, в phptraffica перестали фиксироваться поисковые запросы, по которым заходили на сайт. Догадываюсь, что это google analytics "портит" информацию о передаваемых запросах. Как вариант, сделать вызов phptraffica раньше, чем GA, только подскажите где на странице лучше разместить?
- Для комментирования войдите или зарегистрируйтесь
Я вставляю в тело шаблона. ничего не едет. все прекрасно сосуществует.
Все переменные R/O
- Для комментирования войдите или зарегистрируйтесь





Комментарии