Плохо искали:
http://www.cnstats.com/ru/support/pro-vs-std/
Может это подойдет? Как работает не помню, давно было:
<?php $url=$_GET["url"]; if (!isset($url)) exit; $html=implode("",file($url)); $types = array("href", "src", "url"); while (list(,$type) = each($types)) { $innerT = $strict?'[a-z0-9:?=&@/._-]+?':'.+?'; preg_match_all ("|$type\=([\"'`])(".$innerT.")\\1|i", $html, &$matches); $ret[$type] = $matches[2]; } $hosts=Array(); $elinks=Array(); $ilinks=Array(); foreach ($ret["href"] as $k=>$v) { $p=strpos($v,"#"); if ($p!==false) { $v=substr($v,0,$p); } if ($v=="") continue; if (substr($v,0,7)!="http://") { $ilinks[]=$v; } else { if (substr($v,0,strlen($url))==$url) $ilinks[]=$v; else { $elinks[]=$v; $z=parse_url($v); if (!isset($hosts[$z["host"]])) $hosts[$z["host"]]=1; else $hosts[$z["host"]]++; } } } print "<H1>Уникальных внешних ссылок: ".count($hosts)."</H1>\n"; print "<UL>\n"; foreach ($hosts as $k=>$v) { print "<LI>".$k." - ".$v; } print "</UL>"; print "<H1>Неуникальных внешних ссылок: ".count($elinks)."</H1>\n"; print "<UL>\n"; foreach ($elinks as $k=>$v) { print "<LI>".$v; } print "</UL>"; print "<H1>Неуникальных внутренних ссылок: ".count($ilinks)."</H1>\n"; print "<UL>\n"; foreach ($ilinks as $k=>$v) { print "<LI>".$v; } print "</UL>"; ?>
Однозначно - анализ логов. Причем логи анализировать можно в режиме реального времени, если использовать пайпы.
Для апача вот так:
CustomLog "|/path/to/realtime/log/analyzer/ /var/log/access_log 86400" common
У меня работает. Такие вещи в саппорт писать надо.
Боюсь что CNStats тут не при чем. Просто не все клиенты правильно отдают поле Referer HTTP заголовка. Особенно этим грешат некоторые прокси-сервера и Download-агенты.
Кроме того, ведь есть точка отсчета - полночь, если кто-то посмотрел страницу сайта в 23:59, то в 00:01 он уже считается как новый хост, а ссылающаяся страница - это страница вашего же сайта.
Если какие-то системы не показывают страниц своего сайта, то значит они показывают не все. Никто не мешает в время отображения отчета просто исключать их. Вопрос в том, будет ли это честно ? Может кто-то хочет получать такую информацию ?
ИА, того же мнения.
CNStats не справится. На Shared-хостинге его максимум - это 50тыс.
Я пользовал на выделенном сервере при 300 тыс, но отчеты строились медленно.
А LI,hotlog, spylog, warlog - потянут без проблем!
CNStats умеет. Отчет пути по сайту. Задаем точку входа "http//:xxxxx.ru?yandex-direkt" и смотрим пути. Я смотрю в 2.7. Но вроде в 2.5 и 2.6 тоже есть.
Мне нужна была похожая статистика, я брал cnstats, ставил счетчик на все домены. Если нужно было посмотреть отчет для отдельного домена, то включал фильтры по доменан. cnstats платный.
Из бесплатных навскидку ничего не приходит в голову. Точнее я бы так сказал, rax, top.mail, hotlog, warlog не катят.
Ествественно. Потому что счетчик работает не на привычном для веба 80 порту, а на (полез смотреть, по памяти не помню уже) 8081.
Это связано с тем, что варлог размещен на обычном shared-хостинге, где 80 порт занят Апачем.
Я бы на вашем месте создал правило, в которым бы разрешил соединения с портом 8081 сервера warlog.info