Loading of Text_Wiki class from PEAR failed. Check your filter settings.

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 кб

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано PVasili в вт, 26/06/2007 - 14:13.

Шикарно :)


Опубликовано vktRus в ср, 27/06/2007 - 14:21.

Это стёб?
Да такого анализа путей посетителей по сайту я не видел больше ни в одной статистике.
Может кто разберётся, как phpTrafficA сделать модулем к Drupal?


Опубликовано Valeratal в ср, 27/06/2007 - 17:08.

эмм, а она лучше чем г-аналитикс? или лайвинтернетовский счетчик

и еще, прочел у них на сайте

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


Опубликовано PVasili в чт, 28/06/2007 - 07:42.

А зачем модулем? Чем плохо вставкой в шаблон?


Опубликовано vktRus в чт, 28/06/2007 - 10:52.

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

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

А зачем модулем?
Не знаю. Может так лучше? Единая панель управления будет всё-таки.


Опубликовано Valeratal в чт, 28/06/2007 - 11:20.

эмм, а вы точно пробовали лайвинтернет и г-аналитик


Опубликовано vktRus в сб, 30/06/2007 - 11:27.

Про 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.


Опубликовано Valeratal в пн, 02/07/2007 - 20:03.

в ливе гляньте экспресс-аудит
там есть пути по сайту

И не забывайте, что phpTrafficA - это лично ваша статистика, работает на вашем сайте
которая грузит Ваш сервер :) и которая не предназначена для обсчета тысяч посетилей (у меня - тысячи).

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

А что Вы думаете о анализаторах логов?


Опубликовано vktRus в вт, 03/07/2007 - 11:49.

  1. в ливе гляньте экспресс-аудит, там есть пути по сайту
    Очень коряво. Адрес страницы для анализа набираем ручками. Длинный путь не построишь.
  2. у меня - тысячи
    Тематика сайта + ваша хорошая работа = много посетителей. На моём сайте тематика такая, что посетители очень специфичные.
  3. Анализатор логов самое то для вАшего сайта. Нагрузка почти ноль, а информации море. Проблема только переработать эту информацию. А из бесплатных программ лучшая - awstats. Но у моего хостера (я на виртуальном хостинге) стоит webalizer. А это прошлый век. Из платных видел одну отличную программу с возможностью общаться с посетителем, который зашёл на сайт. Вот человек удивится :) Название не помню.
  4. Ещё один существенный минус Google Analytics - время обновления информации. Раз в сутки.

Так что для сайтов с не очень большой загрузкой phpTrafficA - лучший выбор.


Опубликовано artcons в сб, 25/08/2007 - 03:30.

Супер, чо надо! :)) С буквами......Тащусь!:)))


Опубликовано vktRus в ср, 29/08/2007 - 10:19.

А вот вариант, если вместо русских букв квадратики:

<?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&amp;p=$phpTrafficA_thispage&amp;r=$phpTrafficA_referer&amp;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/*, то толку от такой статистики?


Опубликовано PVasili в вс, 04/11/2007 - 15:39.

А чего не встроить код в шаблон?


Опубликовано vktRus в вт, 06/11/2007 - 09:48.

Можно и в шаблон. Просто мне так удобнее редактировать. Кстати, сейчас уже использую вариант чистого 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);
}

Счётчик показывать только анонимусам! Я сначала поставил "показывать всем" и не смог сам зайти на сайт. Пришлось лезть в базу данных и там ставить "только анонимусам".


Опубликовано PVasili в вт, 06/11/2007 - 10:57.

У меня почему-то не показывает имена страницы, которые посетились. Если вставить в шаблон ругается на что-то :(


Опубликовано vktRus в ср, 07/11/2007 - 14:21.


Код на страницах:
...
$phptraffica_title = drupal_get_title();
...

Вот эта строка берёт название страницы, а дальше смотри моё сообщение выше.


Опубликовано VladSavitsky в ср, 07/11/2007 - 14:48.

Я пользовался скриптом [http://www.phpmyvisites.us/ phpMyVisites] - он тоже показывает пути по сайту и всё то, что виден на скриншотах. Правда в той версии, что я использовал это было реализовано нет как наглядно...

Вот онлайновое демо: http://www.phpmyvisites.us/phpmv2/index.php?site=1&amp;date=2007-11-06&amp;period=1&amp;mod=view_followup


Опубликовано PVasili в ср, 07/11/2007 - 14:50.

ОК, попробую.
А почему в шаблон не засунуть? проще вроде и ругаться не будет в drupal-log.
Кстати, анонимусов считать- пол дела. А выбивает логин dryupal может из за сокета администратора? у меня не было такого


Опубликовано PVasili в ср, 07/11/2007 - 15:15.

Вообще все глюкануло и выбросило... Метод дикий... считать ананимусов - в топку вариант...


Опубликовано vktRus в ср, 07/11/2007 - 15:18.

ругаться не будет в drupal-log
На что ругается?


Опубликовано vktRus в ср, 07/11/2007 - 15:33.

считать ананимусов - в топку вариант
Предложи своё решение для подсчёта посетителей с отключенной графикой.


Опубликовано PVasili в чт, 08/11/2007 - 09:16.

Пока экспериментирую...
urlencode($title) возвращает " "


Опубликовано vktRus в вт, 05/02/2008 - 11:32.

Тестируем версию 2.0
http://soft.zoneo.net/phpTrafficA/Demo2.0/
Новый интерфейс, проверка файлов после установки, подписи графиков по-русски, изменены названия функций для совместимости с другими php программами.


Опубликовано PVasili в вт, 05/02/2008 - 12:07.

Неужели юникод сделали корректно? Совместимо со старым?
Пошел тестировать :)


Опубликовано botan в вт, 05/02/2008 - 13:33.

По-моему вы плохо знакомы с возможностями Гугла.
1 скрин - анализ путей.
2 и 3 наложение данных на сайт.
Причем данные учитываются относительно страницы, на которой находишь. Можно погулять по сайту и посмотреть кто и сколько и куда щёлкал.


Опубликовано vktRus в пт, 15/02/2008 - 14:22.

Версия 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);
}


Опубликовано PVasili в пт, 15/02/2008 - 14:25.

Он по данным совместим со старым? В смысле как обновить. По верху, новую базу или конвертировать?


Опубликовано vktRus в пт, 15/02/2008 - 14:36.

Просто читай файл Doc\upgrade.html
Там не просто скопировал. Нужно файл sites.php старый перенести, конфиги подредактировать, запустить обновление и удалить папку Install


Опубликовано vktRus в пт, 15/02/2008 - 14:37.

Да, старая база данных будет обновлена без потери данных.


Опубликовано vktRus в пт, 15/02/2008 - 14:45.

Ещё можно подправить Lang\ru.php

Найти:
заблокированный IP

Заменить на:
заблокировать IP


Опубликовано PVasili в пт, 15/02/2008 - 15:27.

Спасибо, даже не знаю куда и + ставить :)


Опубликовано vktRus в пн, 18/02/2008 - 14:12.

Я в Интернет выхожу через прокси, а он слишком хорошо кэширует. И чтобы знать, что за статистика перед глазами, я поставил на все страницы текущее время. Сразу понятно: из кэша или нет.
Файл 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


Опубликовано vktRus в пн, 18/02/2008 - 14:02.

А вот небольшой мод для скрытия в детальной статистике роботов или людей.
Образец: http://www.revisemri.com/count/recent.stats
Скачать для phpTrafficA 2.0
http://rapidshare.com/files/92871179/mod-human-robot.zip.html


Опубликовано vktRus в пн, 18/02/2008 - 14:19.

Мод для Детальной статистики, позволяющий скрыть посещения роботов или людей.
Образец: www. revisemri. com/count/recent.stats

Скачать мод, адаптированный для phpTrafficA 2.0:
rapidshare. com/files/92871179/mod-human-robot.zip.html


Опубликовано vktRus в вт, 26/02/2008 - 08:26.

Почему-то, если у страницы длинный заголовок >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>


Опубликовано PVasili в сб, 01/03/2008 - 20:42.

Что-то где-то перекрылось....
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


Опубликовано vktRus в пн, 03/03/2008 - 08:21.

Наверное, некорректно установил или файлы на сервер залил. У меня всё пучком. Совет простой: переустанови.


Опубликовано PVasili в пн, 03/03/2008 - 08:34.

Хм.. странно. Попробую конечно... Новая версия почему то начала считать данные из старой хотя разные префиксы давал и SID разный :)


Опубликовано vktRus в ср, 05/03/2008 - 08:20.

Немного подправил. Заменил 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


Опубликовано vktRus в вт, 30/09/2008 - 11:24.

На днях выходит новая версия phptraffica 2.1. В неё уже включён мод human-robot, добавлена возможность удаления страниц из статистики и много чего ещё. Теперь установить программу на сайт на Drupal проще простого. Подробно написал в шапке. Подправил её под новую версию программы. Примите участие в тестировании беты.


Опубликовано PVasili в вт, 30/09/2008 - 13:35.

поправили с кривыми ссылками от поисковиков?


Опубликовано Химический Али в вт, 30/09/2008 - 16:44.

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.


Опубликовано vktRus в чт, 02/10/2008 - 11:27.

Ссылки уже давно поправили. Вышла бета2. Ещё немного обновил шапку. Продолжаем тестировать.


Опубликовано vktRus в вт, 21/10/2008 - 12:17.

Выложил готовые файлы для отображения в статистике заголовков страниц вместо URL.


Опубликовано PVasili в вт, 21/10/2008 - 12:59.

URL - лучше и понятнее


Опубликовано vktRus в ср, 22/10/2008 - 09:17.

Для URL ничего придумывать не нужно. Делай, как указано в программе.
Но мне хочется более понятной информации, чем
/node/5
/node/65
/node/1065 и т.д.


Опубликовано vktRus в чт, 30/10/2008 - 13:14.

Вышла бета 3. Если не будет особых ошибок, то скоро выйдет финальная версия.


Опубликовано Dimm в чт, 13/11/2008 - 05:45.

+1


Опубликовано lexlex@drupal.org в пт, 14/11/2008 - 13:06.

"vktRus" написал(а):

Для URL ничего придумывать не нужно. Делай, как указано в программе.
Но мне хочется более понятной информации, чем
/node/5
/node/65
/node/1065 и т.д.

Поставить модуль PathAuto и будет понятная информация не только в статистике, но и названии URL.


Опубликовано lexlex@drupal.org в ср, 19/11/2008 - 13:56.

vktRus
Столкнулся с такой проблемой: пользовался phptraffica, после установки дополнительно google analystics, в phptraffica перестали фиксироваться поисковые запросы, по которым заходили на сайт. Догадываюсь, что это google analytics "портит" информацию о передаваемых запросах. Как вариант, сделать вызов phptraffica раньше, чем GA, только подскажите где на странице лучше разместить?


Опубликовано PVasili в чт, 20/11/2008 - 20:53.

Я вставляю в тело шаблона. ничего не едет. все прекрасно сосуществует.
Все переменные R/O


Новое на сайте

Ссылки партнёров

Вы решили приобрести и установить стальную дверь в офисе или квартире?