Анализ логов сервера при SEO аудите

Лог — файл с записями о событиях, расположенных в хронологическом порядке.

Зачем анализировать лог-файлы? — спросите вы.

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

Все программы и сервисы Linux ведут лог-файлы, и самыми важными для нас с точки зрения SEO являются:

  • веб-сервера;
  • сервера базы данных;
  • логи самой системы.

Анализ логов позволяет:

  • увидеть сбои в работе сервера, CMS, БД и т.п.;
  • определить параметры посещения (откуда был выполнен переход, какой браузер использовался, как часто выполняются переходы и т.п.);
  • понимать как сканеры поисковых систем ведут себя на сайте, чему отдают приоритет, какие ошибки встречаются на их пути, найти непросканированные страницы и т.д.

Источники данных и их месторасположение

Файлы журналов с логами доступа к сайту хранятся на сервере в папке /var/log, и имеют, как правило, в своем названии слово «access».

Подавляющее большинство сайтов работают под управлением web-серверов Apache или Nginx. Оба они записывают данные в 2 файла: access.log — для записи посещений, error.log — для записи ошибок.

К логам сервера можно отнести и лог-файлы интерпретатора PHP (php-fpm) и его файлы ошибок.

Содержимое и структура лог-файлов могут различаться в зависимости от используемой конфигурации веб-сервера (Apache, Nginx, IIS и др.).

Логи web-сервера Apache

Обычно эти файлы создаются отдельно для каждого сайта и имеют названия site.ru.access.log и site.ru.error.log.

Классическая структура журнала запросов access.log, создаваемая модулем mod_log_config сервера Apache, выглядит так:

где:

  • 95.12.23.13 — IP-адрес, с которого был сделан запрос;
  • [08/Jul/2021:10:33:13 +0300] — дата, время и тайм зона;
  • GET — метод HTTP-запроса;
  • /catalog/page.html — запрашиваемый ресурс;
  • HTTP/2.0 — протокол, по которому прошел запрос;
  • 200 — код ответа (состояния) HTTP;
  • 2346 — размер объекта (не включая заголовки ответа) в байтах, который был возвращен клиенту;
  • Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 — заголовок HTTP-запроса User-Agent. Это идентифицирующая информация, которую сообщает о себе клиентский браузер.

В официальной документации содержится более подробная информация о настройках и чтении журнала логов Apache.

Инструменты анализа логов

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

Для небольших сайтов можно использовать Excel или Google Docs. Минус этих инструментов — приходится все делать вручную и они не масштабируемы.

Screamingfrog Log File Analyzer — платный продукт (бесплатно можно добавить 1 проект и проанализировать 1000 строк). Инструмент начального уровня и подходит для сайтов малого и среднего размера. Имеет простой интерфейс, полезные заранее заданные отчеты, но не имеет возможности совместного использования. Файлы журналов подгружаются в программу вручную.

Дашбоард в Log file analizer

Другое решение — Elastic Stack, который включает в себя 4 бесплатных инструмента с открытым исходным кодом: Elasticsearch, Logstash, Kibana, Filebeat. Позволяет полностью автоматизировать процесс загрузки логов, настроить дашборды, минус — необходимо установить, настроить и администрировать стек на свой собственной серверной инфраструктуре собственными силами.

Обзор данных в Kibana (ELK)Также существуют SaaS-решения: logrunner.io, logz.io, Loggly. Все они основаны на Elastic Stack (ELK) и предназначены для аудита поисковой оптимизации сайта. Плюсы данного решения: работают в режиме реального времени, автоматически подгружают логи, данные с течением времени накапливаются, можно встроить в рабочий процесс SEO, имеется возможность делиться отчетами.

Анализ логов и отчетов

Анализ логов сервера — это прежде всего поиск аномалий. А для этого предварительно необходимо собрать данные.

SEO дашборд в Kibana Вот некоторые направления исследования при SEO-аудите логов сервера:

  • какие боты и на сколько регулярно посещают сайт, какие сходства и различия в их поведении;
  • сравните объемы сканирования Яндекс (Google) бота для десктопов и бота для мобильных устройств;
  • какие страницы чаще всего сканируются поисковыми ботами;
  • коды ответов HTTP по каталогам и страницам и их динамика;
  • сегментирование ошибок сканирования (диапазон кодов состояния 4xx) для каждого поискового бота;
  • объем и постоянство ошибок из диапазона кодов состояния 5xx — например, генерирует ли постоянно какой-то из поисковых ботов одну и ту же ошибку;
  • определение наиболее и наименее часто сканируемые страниц — наиболее часто сканируемые страницы могут использоваться как страницы-доноры (для проставления ссылок на наименее часто посещаемые поисковыми ботами или на новый материал для ускорения индексации);
  • сканируются ли новые адреса вообще;
  • генерирует ли CMS лишние страницы и посещают ли их поисковые боты — обычно это вызвано дополнительными параметрами в URL. Это вызывает дублирование контента и расходует краулинговый бюджет.

Объединение данных с другими источниками

Следующий уровень анализа — обогащение данных из файлов журнала данными из других источников.

Например, можно объединить XML-карту сайта с данные сканирования крауйлерами. Иногда случается, что не все страницы сайта сканируются из-за ошибок в структуре веб-сайта или установленной директивы noindex. Также можно проверить индексируются ли неканонические страницы, и если да, то в каком объеме.

Можно объединить данные с  данными из Яндекс Метрики, Google Analytics, Яндекс Вебмастер, Google Search Console и т.д.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *