РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗sePmToLA 119 of 123 menu

Анализ логов сервера в SEO

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

Сначала разберемся, где взять логи. Обычно они лежат на сервере в директории /var/log/nginx/ или /var/log/apache2/:

ls /var/log/nginx/ access.log error.log

Нам нужен access.log - журнал доступа. Каждая строка - один запрос. Скачаем его на локальную машину:

scp user@example.com:/var/log/nginx/access.log ./access.log

Посмотрим первые строки:

head -n 3 access.log
66.249.66.1 - - [12/Sep/2026:10:00:01 +0300] "GET /catalog/ HTTP/1.1" 200 5120 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 93.180.10.5 - - [12/Sep/2026:10:00:02 +0300] "GET /about/ HTTP/1.1" 200 3210 "https://example.com/" "Mozilla/5.0 (Windows NT 10.0)" 66.249.66.1 - - [12/Sep/2026:10:00:03 +0300] "GET /old-page/ HTTP/1.1" 404 180 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Формат строки такой: IP, дата, метод, URL, статус, размер, реферер, user-agent. Из этого уже можно делать выводы.

Как отличить робота от пользователя

Робот - это тоже HTTP-клиент, и представляется он в поле user-agent. Смотрим последнюю часть строки. Вот робот Google:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

А вот робот Яндекса:

Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)

Важно: user-agent легко подделать. Настоящий робот приходит с определенных IP-адресов. У Google это диапазоны "66.249.*.*", у Яндекса - "5.255.*.*" и другие. Проверить IP можно обратным DNS:

host 66.249.66.1 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.

Если в имени есть "googlebot.com" или "yandex.ru" - это настоящий робот. Если нет - обычный пользователь или парсер.

Проблемы с обходом

Теперь отфильтруем только робота Google и посмотрим, что он делает:

grep "Googlebot" access.log > googlebot.log wc -l googlebot.log 1240 googlebot.log

1240 запросов за сутки. Если раньше было 5000 - обход упал. Найдем все ответы 5xx - это ошибки сервера, из-за них робот уходит:

grep "Googlebot" access.log | grep " 5" 66.249.66.1 - - [12/Sep/2026:10:01:10 +0300] "GET /catalog/ HTTP/1.1" 500 0 "-" "Googlebot/2.1"

Статус 500 - сервер сломался. Робот повторит запрос, но если ошибка постоянная, страница выпадет из индекса.

Еще одна проблема - медленные страницы. В логах Nginx время запроса пишется в конце строки, если включен параметр $request_time. Ищем запросы дольше 2 секунд:

awk '$NF > 2' access.log

Если робот ждет ответа слишком долго, он снижает частоту обхода. Сайт начинает реже индексироваться.

Битые ссылки

Робот ходит по ссылкам и находит 404. Посмотрим, какие URL отдают этот статус:

grep "Googlebot" access.log | grep " 404" | awk '{print $7}' | sort | uniq -c | sort -rn 5 /old-page/ 3 /catalog/removed-item/

Страница /old-page/ отдает 404, но робот ходит туда 5 раз. Значит, где-то на сайте осталась ссылка на нее. Найдем источник - смотрим реферер:

grep "/old-page/" access.log | grep "Googlebot" 66.249.66.1 - - [12/Sep/2026:10:00:03 +0300] "GET /old-page/ HTTP/1.1" 404 180 "https://example.com/catalog/" "Googlebot/2.1"

Реферер - /catalog/. Идем туда, находим битую ссылку и чиним. Либо ставим редирект 301, если страница переехала.

Практические задачи

Расскажите, зачем SEO-специалисту анализировать логи сервера.

Дан фрагмент лога:

66.249.66.1 - - [12/Sep/2026:10:00:01 +0300] "GET /catalog/ HTTP/1.1" 200 5120 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 93.180.10.5 - - [12/Sep/2026:10:00:02 +0300] "GET /about/ HTTP/1.1" 200 3210 "https://example.com/" "Mozilla/5.0 (Windows NT 10.0)" 5.255.253.10 - - [12/Sep/2026:10:00:03 +0300] "GET / HTTP/1.1" 200 4200 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"

Определите, какие строки принадлежат поисковым роботам, а какие - пользователям. Объясните, как вы это поняли.

Дан фрагмент лога:

66.249.66.1 - - [12/Sep/2026:10:05:01 +0300] "GET /page/ HTTP/1.1" 500 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 66.249.66.1 - - [12/Sep/2026:10:06:01 +0300] "GET /page/ HTTP/1.1" 500 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 66.249.66.1 - - [12/Sep/2026:10:07:01 +0300] "GET /page/ HTTP/1.1" 500 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Что происходит с этой страницей и чем это грозит сайту?

Дан фрагмент лога:

66.249.66.1 - - [12/Sep/2026:10:10:01 +0300] "GET /removed/ HTTP/1.1" 404 180 "https://example.com/blog/" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Какой статус получил робот, откуда он пришел на эту страницу и что нужно сделать разработчику?

Придумайте команду терминала, которая найдет все запросы робота Google с ответом 404 в файле access.log.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить