При продвижении сайта, анализ - основа основ. Уже говорилось о том, что собственный мозг - лучший инструмент для работы оптимизатора и хотя существует множество программных продуктов для анализа сайтов, лучше писать собственное ПО под конкретные задачи.
Почему возвращаюсь к этому вопросу? У меня возникла необходимость анализировать логи сервера Apache на предмет поисковых запросов Yandex и Google приведших ко мне посетителей. После недолгих поисков в том же Яше и Гугле нашлось пара десятков анализаторов логов апача, но ни один из них не выдавал нужный мне результат, так что пришлось садится за php.
В итоге наваял программку (выполняющуюся на строне сервера - серверный анализатор) которая анализирует лог Apache и выдает список поисковых запросов выдернутых из строк access_log вида (строка из моего реального лога домена wminfo.biz):
adm.k26.ru - - [01/Aug/2008:09:20:31 +0300] “GET /content/view/20/49/ HTTP/1.0″ 200 19003 “http://yandex.ru/yandsearch?p=1&holdreq=%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BD%D0%B5%D0%B2%D1%80%D0%BE%D0%B7%D0%BE%D0%B2%2C+%D0%BB%D0%BE%D0%B3%D0%BE%D0%BD%D0%B5%D0%B2%D1%80%D0%BE%D0%B7%D0%BE%D0%B2&holdreq_manually=true&text=%D1%81%D0%B0%D0%BD%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D0%B8″ “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2; .NET CLR 2.0.50727)”
Из приведенной выше строки лога Apache визуально можно получить много информации, например: адрес посетителя, дату и время захода, какую страницу запрашивали и код результата запроса, тип броузера клиента. Видно, что посетитель пришел с Yandex`а, а вот строку запроса закодированную в соответствии с RFC1738 (каждый символ кодируется знаком ‘%’ и двумя шестнадцатиричными цифрами) умом понять невозможно.
А именно она меня и интересовала больше всего.
В результате имею отчет (я вручную отсортировал строки по алфавиту и удалил дубликаты и слишком похожие запросы):
=======================================
Перечень поисковых запросов
“p 660 ru ee”
“wdm драйвер”
“webmoney” “Евпатория”
“бесплатно скачать учебники ”
“Консоль”
“регистрация доменов”
(энергосберегающие лампы параметры)
_www.kata-log.ru/submit
+продукты +цены
«Экономика предприятия» учебник скачать бесплатно
1 квартира Новоозерное 2008 крым
2300U как включить nat
add.php Добавить объявление
adsl modem zyxel p 660 ee
ATI Catalyst 7.10 (Vista 64-bit) скачать
ati catalyst скачать
ATI Catalyst™ 8.7 Display Driver for Windows XP Professional/Home Edition
ATI скачать
Catalyst 7.10 скачать
com_akobook
delux
DeLux +лампы +энергосберегающие
delux лампы
Delux, энергосберегающие лампы
d-link dsl-2300u ого
DSL-2300U nat
DSL-2300U настройка
dynamic dns webmoney
Epson C84 б\у
http://www.****//submit.php
joomla вручную
joomla как установить AkoBook
joomla компонент установить вручную
Joomla путь базе sql
joomla студия
joomla установка
joomla установка компонентов
joomla установка компонентов safe mode
joomla установка модулей вручную.
N4HKGJB00001
p 660 ru ee
P-660
Panasonic KX-TC2106UA
PANASONIC KX-TC2106UA
proxy в zyxel 660
Safe mode joomla как поставить компонент?
safe_mode и joomla
seo ресурс
web камеры Евпатория
Zyxel
zyxel 660 ip маршрутизатор
ZyXEL ADSL P-660 RU EE
ZyXEL ADSL2+ P-660
zyxel p660 ru ee
zyxel p-660 ru настроить под xp
zyxel p-660 в режиме мост настройка
zyxel p660 включить удаленный вход
zyxel p-660 защитить сеть
zyxel укртелеком настройка
антивирус бесплатный русский
аренда дома в витино
банк учебник скачать
бесплатные драйвер дисплея nvidia на vista 32bit
бесплатные фотообои
бесплатные фотообои на рабочий стол
бестзвит
бест-звит плюс
бланки первичных документов
блог Евпатория
блог+сейшеллы
блоги с высоким Тиц wordpress
Бухгалтерский календарь 2007-2008
в контактескачать учебник по философии
влияние на глаза энергосберегающих ламп
Война в южной осетии
выбор энергосберегающие лампы
Выписать счёт webmoney
генераторы ключей +порно сайты
гостевая!!
Град
Грязелечебница Мойнаки
дипломные работы скачать
Добавить объявление
домен по низким ценам
дорвеи
доски объявлений
Евангелие Мира от Ессев
Евангелие Эпохи Водолея скачать бесплатно
Евпаторийский балет
Евпаторийский магазин с процессорами
Евпаторийский центр досуга
Евпатория
евпатория web камера
евпатория webmoney
евпатория компьютеры
евпатория недвижимость
евпатория неофициальная
ЕВПАТОРИЯ НОУТБУКИ РЕМОНТ
евпатория ноутбуки цены
Евпатория температура воды
ЕВПАТОРИЯ ФОТОГРАФИИ ГОРОДА
Евпатория цены
Евпатория цены 2008
Жан Лиотар Состояние постмодерна скачать бесплатно
жизнь пирсинг сосок
Заработок на Блогуне
земельные участки евпатория
Интернет магазин евпатория
информер webmoney
использование сервиса социальных закладок для получения трафика
как включить Annex M на zyxel p660
как выбрать энергосберегающую лампу
как достать пароли от Wm
как поставить компонент вручную Joomla
как установить модем zuxel 660 ru ee
как установить модуль joomla вручную
Какие энергосберегающие лампы лучше
какой фирмы лучше выбрать энергосберегающие лампы
календарь подачи отчетов по СПД
каталоги статей
квартплата Евпатория
кейгенераторы
ключи к порно
ключи к порно сайтам
Компоненты для Joomla
компьютерные магазины в Евпатории
компьютеры евпатория
конвертирование трафика
Конвертируем трафик в деньги
кряк к Бест-Звит
кряк на бестзвит
кряк на порно
кряки для порно
кряки на порно сайты
купить уникальный контент для саттелита
лаврушин деньги кредит банки скачать
Лампа 250 Delux
лампа DeLux
лампы DELUX UA
летний душ на участке
магазины Евпатория
Магазины цифровых товаров за Webmoney
международные экономические отношения учебник скачать бесплатно
МЕТА фотообои
МИКРОФОНЫ ДЛЯ ШПИОНАЖА
Москалюков Андрей Леонидович евпатория
мысли про жизнь
мясные продукты
настроить d-link для укртелекома
Началась война
Не официальная Евпатория
Не удалось запустить программу параметр задан неверно
недвижимость в евпатории
Ницше “Веселая наука” скачать
новая операционная система от майкрософт
Новоозёрное
объявления недвижимость
овощи
основы менеджмента - учебники - скачать
основы экономической теории скачать
Оффшор в Доминиканской республике
очистка системы охлаждения ноутбука
параметры страниц а3
пгт новоозерное
пиво со сметаной
питер друкер скачать
подбор энергосберегающих ламп
подключение маршрутизатора к Zyxel 660
поповка
Порно кряки
правельный выбор энергосберегающих ламп
пригород Евпатории
проблема установки модулей в Joomla
продажа WebMoney в евпатории
продажа земельных участков в Евпатории
Расчет тарифа на обслуживание жилья
реквизиты для СПД физлицо
Ремонт компьютеров официальный сайт Евпатория
ремонт телефона панасоник KX-TC2106UA
рецепт саттелита
рубленные шрифты
руководство пользователя часов kolber
саакашвили ест галстук
саакашвили трус
санатории
сартр стена скачать txt
Сверхминиатюрный жучок
серифами
скачать бесплатно бестзвит
скачать бесплатно программа восстановления чипа Epson Stylus Epson - STYLUS C65
скачать бесплатно учебник введение в философию
скачать бесплатно учебник по истории экономики
скачать БЕСТ ЗВІТ бесплатно
Скачать буддистские сказки
скачать дипломную работу
скачать драйвер видиокарты
скачать драйвера ZyXEL P-660 EE
скачать евангелие от фомы
скачать книгу ницше воля к власти .doc
скачать основы бизнеса учебник
скачать отчет по персонификации 2008
скачать Пакет Catalyst 7.10
скачать учебник бесплатно
скачать учебник Курс экономической теории
скачать учебник международная экономика
скачать учебник страхование
скачать учебник экономика бесплатно
скачать учебники
скачать фото евпатория
скачать экономика предприятия
сколько зарабатывает турагентство
список овощей
сплиттер
ссылки доски
стандарт верстки книг поля
страхование учебник скачать
температура в евпатории
температура воды в евпатории
теория экономики 2008 скачать учебник
установка джумла вручную
установка модуля joomla вручную
установка+joomla
учебник по webmoney
учебник по маршрутизатору
учебник по экономике
учебник экономика предприятия скачать
Флоренский П.А. Общечеловеческте корни идеализма скачать бесплатно
фотографії негритянских племен
фотообзор казантип 2008
фотообои для рабочего стола
фотообои рабочий стол
цены на фрукты на рынке в евпатории
цены поповки
э. гуссерль скачать
экономическая теория скачать
энергосберегающие лампы цены грн
южная осетия глазами грузинов
Заходов с Google: 266
Заходов с Yandex : 182
Заходов с MSN : 10
Заходов с UKR.NET : 11
Обработан ЛОГ с 01/Aug/2008:07:34:47 по 20/Aug/2008:12:26:46
Всего 52144 строк
=======================================
Как видите, в конце отчета выводится количество заходов с основных поисковых серверов, диапазон дат лога и количество строк лога Apache. Сам лог-файл весит 10,4Мб.
Такой тематический разброс поисковых фраз объясняется тем, что на домене wminfo.biz у меня висит :
- мой рабочий сайт (webmoney, БестЗвит, изготовление сайтов)
http://www.wminfo.biz/ - демка сайта агентства недвижимости
http://realty.wminfo.biz/ - этот блог
http://www.wminfo.biz/blog/
Ниже привожу полный php код анализатора логов сервера Apache.
=======================================
<!DOCTYPE HTML PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html>
<head>
<META http-equiv=”Content-Type” content=”text/html; charset=windows-1251″>
<title>Разбор лога</title>
</head>
<body >
<div><font face=”verdana” color=”#0033FF”><?php
/* ************************************ */
/* Анализатор логов Apache */
/* Версия 1.0 / август 2008 */
/* Copyright (C) 2008 Andrey Moskalukov */
/* Email: wminfo@ukr.net */
/* ************************************ */// Определяем переменные
$log_file = “access_log.txt”; // Определяем логфайл
$google = ‘0′;
$yandex = ‘0′;
$msn = ‘0′;
$ukrnet = ‘0′;// Открываем логфайл на чтение
$file_array = file( $log_file );
if ( !file ) { echo (”Ошибка открытия файла”); } else {foreach ( $file_array as $j => $stroka ) { // Запускаем цикл перебора строк файла
// ==== Начинаем разбор строк и заполнение массива
$string_url = ”;
$stroka_exp = explode(”\”", $stroka); // Разобрали по кавычке исходную строку файла// Получаем массив из 6 полей
// 0-е адрес посетителя + два тире + дата, время + частовой пояс
// 1-е метод запроса + адрес страницы + протокол
// 2-е код результата запроса + объем страницы
// 3-е откуда пришел (!)
// 4-е пусто
// 5-е агент (порядка 10 полей по пробелам)$tmp_massiv_0 = explode(” “, $stroka_exp[0]); // Разобрали по пробелу 0-е поле
$tmp_massiv_1 = explode(” “, $stroka_exp[1]); // Разобрали по пробелу 1-е поле
$tmp_massiv_2 = explode(” “, $stroka_exp[2]); // Разобрали по пробелу 2-е поле
$tmp_massiv_5 = explode(” “, $stroka_exp[5]); // Разобрали по пробелу 5-е поле$massiv[0] = $tmp_massiv_0[0]; // Адрес посетителя
$massiv[1] = $tmp_massiv_0[1]; // тире
$massiv[2] = $tmp_massiv_0[2]; // тире
$massiv[3] = $tmp_massiv_0[3]; // дата, время
$massiv[4] = $tmp_massiv_0[4]; // часовой пояс
$massiv[5] = $tmp_massiv_1[0]; //метод запроса
$massiv[6] = $tmp_massiv_1[1]; // адрес запрошенной страницы (тоже можно декодировать)
$massiv[7] = $tmp_massiv_1[2]; // протокол
$massiv[8] = $tmp_massiv_2[1]; // код результата // начинаем с позиции “1″ вместо позиции “0″, так как строка начиналась с пробела
$massiv[9] = $tmp_massiv_2[2]; // объем
$massiv[10] = iconv(”UTF-8″, “WINDOWS-1251″, urldecode($stroka_exp[3])); // Здесь хранится URL “откуда пришел”
$massiv[11] = $tmp_massiv_5[0]; // Броузер
$massiv[12] = $tmp_massiv_5[1];
$massiv[13] = $tmp_massiv_5[2];
$massiv[14] = $tmp_massiv_5[3];
$massiv[15] = $tmp_massiv_5[4];
$massiv[16] = $tmp_massiv_5[5];
$massiv[17] = $tmp_massiv_5[6];
$massiv[18] = $tmp_massiv_5[7];
$massiv[19] = $tmp_massiv_5[8];
$massiv[20] = $tmp_massiv_5[9];
$massiv[21] = $tmp_massiv_5[10];
$massiv[22] = $tmp_massiv_5[11];
$massiv[23] = $tmp_massiv_5[12];// ==== Разбор строки закончен
// echo ( $massiv[10].”<br>” );// === Начало процедуры
// Определяем поисковые запросы
$search_string = $massiv[10];
if ( substr_count( $search_string, “google”) > 0 ) {
$tmp_string_url1 = explode(”q=”, $search_string);
$tmp_string_url2 = explode(”&”, $tmp_string_url1[1]);
$google++;
$string_url = $tmp_string_url2[0]; }elseif ( substr_count( $search_string, “yandex.ru”) > 0 ) {
$tmp_string_url1 = explode(”text=”, $search_string);
$tmp_string_url2 = explode(”&”, $tmp_string_url1[1]);
$yandex++;
$string_url = $tmp_string_url2[0]; }elseif ( substr_count( $search_string, “search.msn.com/results”) > 0 and substr_count( $search_string, “QBRE”) > 0) {
$tmp_string_url1 = explode(”?q=”, $search_string);
$tmp_string_url2 = explode(”&”, $tmp_string_url1[1]);
$msn++;
$string_url = $tmp_string_url2[0]; }elseif ( substr_count( $search_string, “search.msn.com/results”) > 0 and substr_count( $search_string, “PORE”) > 0) {
$tmp_string_url1 = explode(”&q=add.php “, $search_string);
$tmp_string_url2 = explode(”&”, $tmp_string_url1[1]);
$msn++;
$string_url = $tmp_string_url2[0]; }elseif ( substr_count( $search_string, “search.ukr.net”) > 0 ) {
$tmp_string_url1 = explode(”search_query=”, $search_string);
$tmp_string_url2 = explode(”&”, $tmp_string_url1[1]);
$ukrnet++;
$string_url = $tmp_string_url2[0]; }$URLS_search[$j] = $string_url ;
if ( $j == 1 ) { echo “<b> Перечень поисковых запросов </b><br><br><i>”; }
if ( $string_url <> ” ) {echo $string_url.”<br>”;}
// === Конец процедурыif ( $j == 0 ) { $time_start = $massiv[3]; $time_start = substr_replace ($time_start, ”, 0, 1); }
if ( $j <> 0 ) { $time_stop = $massiv[3]; $time_stop = substr_replace ($time_stop, ”, 0, 1); }} // Закрытие цикла
echo “</i><br>Заходов с Google: “.$google.”<br>”;
echo “Заходов с Yandex : “.$yandex.”<br>”;
echo “Заходов с MSN : “.$msn.”<br>”;
echo “Заходов с UKR.NET : “.$ukrnet.”<br>”;echo “Обработан ЛОГ с <b>”.$time_start.”</b> по <b>”.$time_stop.”</b> <br>Всего <b>”.$j.”</b> строк<br>”;
echo “</face></div>”;} // Закрываем IF
// === Начало процедуры вывода поисковых фраз приведших на сайт
foreach ( $main_log as $key_main => $massiv_out ) {
echo ( “<h4>$key_main</h4> ” );
foreach ( $massiv_out as $key => $main_log ) {
echo $key_main.” / “.$key.” / “.$main_log.”<br>”; }}// === Конец процедуры
?></body></html>
=======================================
Код еще сыроват, в частности отчет на выходе не сортируется по алфавиту, не удаляются дубликаты поисковых запросов и т.п.
Сейчас анализатор берет лог-файл из корня домена, имя файла задается в переменной в начале кода. В дальнейшем перепишу код таким образом чтоб лог access_log забирался непосредственно из места хранения, например из папки /var/log/httpd/. Возможно сделаю публичный сервис…
Если кто-то возмет этот код за основу и реализует что-то интересное - отпишитесь в комментах.
Теги: access_log, apache, seo, анализатор




3 комментариев
Оставить комментарий