Когда браузер или поисковый робот запрашивает страницу, сервер отвечает трёхзначным кодом. Посетитель его обычно не видит, а поисковик опирается на него в первую очередь: от кода зависит, будет ли страница проиндексирована, заменена другим адресом или удалена из базы.
Ошибки в кодах ответа коварны тем, что внешне сайт может выглядеть нормально. Страница открывается, текст на месте, а сервер при этом сообщает роботу, что её нет, или наоборот — выдаёт пустую страницу за существующую. В этом уроке разберём, какие коды важны для SEO и как находить проблемы.
Основные коды и что они значат для поиска
Коды делятся на классы по первой цифре: 2xx — успешный ответ, 3xx — перенаправление, 4xx — ошибка на стороне запроса, 5xx — ошибка сервера.
| Код | Значение | Как реагирует поисковик |
|---|---|---|
| 200 OK | Страница существует и отдана | Может проиндексировать, если нет запретов и это не дубль |
| 301 Moved Permanently | Страница переехала навсегда | Заменяет старый адрес новым, передаёт сигналы |
| 302 Found | Временное перенаправление | Может оставить в индексе старый адрес |
| 304 Not Modified | Страница не изменилась с прошлого запроса | Экономит ресурсы обхода, переиндексация не нужна |
| 404 Not Found | Страницы нет | Со временем удаляет адрес из индекса, иногда перепроверяет |
| 410 Gone | Страница удалена навсегда | Обычно удаляет из индекса быстрее, чем 404 |
| 500 Internal Server Error | Внутренняя ошибка сервера | Повторяет попытки позже, снижает частоту обхода |
| 503 Service Unavailable | Сервер временно недоступен | Понимает, что сбой временный, и возвращается позже |
Перенаправления и их влияние на склейку дублей подробно разобраны в уроке «Дубли, canonical и редиректы». Здесь сосредоточимся на ошибках.
404 и 410: когда ошибка — это нормально
На любом живом сайте есть несуществующие адреса: кто-то ошибся в ссылке, товар сняли с продажи, раздел упразднили. Ответ 404 в таких случаях — правильное поведение сервера, и сам факт наличия 404 на позиции сайта не влияет. Вредят другие вещи:
- Битые внутренние ссылки. Если меню, карточки или статьи ссылаются на несуществующие страницы, робот тратит обход впустую, а посетитель упирается в тупик.
- Удалённые страницы с трафиком и внешними ссылками. Страница, на которую ссылаются другие сайты, удалена без редиректа — накопленные ею сигналы теряются.
- Массовые ошибки после изменений. Смена структуры адресов без карты перенаправлений превращает сотни рабочих страниц в 404 одновременно.
Код 410 сообщает, что страница удалена окончательно и возвращаться не будет. Его используют, когда нужно быстрее убрать из индекса большой массив устаревших адресов, например после чистки мусорных страниц.
Что делать с удалённой страницей
- Есть близкий аналог — новая модель товара, обновлённая статья, родительская категория с похожими товарами — ставьте 301-редирект на него.
- Аналога нет — оставляйте 404 или 410.
- Не перенаправляйте все удалённые страницы на главную. Поисковики считают такой редирект мягкой ошибкой, а посетитель не находит того, что искал.
Для интернет-магазинов отдельный вопрос — товары, которых временно нет в наличии. Их не удаляют: страница остаётся с кодом 200, пометкой о наличии, сроками поступления и похожими товарами.
Если товар снят с производства окончательно, решение зависит от того, приносит ли страница трафик и есть ли на неё внешние ссылки. Страницу популярной модели, которую до сих пор ищут, иногда выгоднее сохранить с пометкой «снят с производства» и подборкой замен: посетитель получит полезный ответ, а сайт — трафик по запросам с названием модели. Страницы, которые никто не ищет и на которые никто не ссылается, можно удалить с кодом 404 или 410 или перенаправить на категорию с похожими товарами. Главное — принимать такие решения осознанно и одинаково для всего каталога, а не оставлять их на усмотрение CMS.
Мягкие 404
Мягкой 404 называют страницу, которая по сути не существует или пуста, но сервер отвечает на неё кодом 200. Примеры: несуществующий адрес, на котором CMS показывает пустой шаблон каталога; страница «товар не найден» без правильного кода; пустая категория без единого товара; страница результатов поиска «ничего не найдено».
Поисковики умеют распознавать такие страницы и помечают их как ошибки — в Search Console для этого есть отдельная причина исключения. Проблема в том, что до распознавания робот тратит на них обход, а при большом количестве они размывают качество сайта в целом. Решение — настроить CMS так, чтобы несуществующие адреса отдавали настоящий код 404, а пустые разделы либо наполнялись, либо закрывались от индексации.
Правильная страница 404
Страница ошибки должна делать две вещи: сообщать поисковику код 404 и помогать посетителю не уйти с сайта.
- Код ответа — именно 404, а не 200 и не редирект на отдельную страницу «ошибка».
- Понятный текст о том, что страница не найдена, без технических подробностей.
- Поиск по сайту, ссылки на главную, основные разделы и популярные товары или материалы.
- Оформление в стиле сайта с полноценной шапкой и меню.
Совет. Настройте в системе аналитики цель или отчёт по просмотрам страницы 404 с указанием адреса, откуда пришёл посетитель. Так вы будете узнавать о битых ссылках раньше, чем о них сообщат панели поисковиков.
Ошибки сервера 5xx
Ошибки класса 5xx говорят о проблемах на стороне сайта: упал сервер, не отвечает база данных, закончились ресурсы. Если робот регулярно получает такие ответы, он снижает частоту обхода, чтобы не перегружать сайт, а при длительных сбоях начинает исключать страницы из индекса.
На время плановых работ сервер должен отдавать код 503 и, желательно, заголовок Retry-After с указанием, когда стоит вернуться. Так поисковик поймёт, что сбой временный. Плохая практика — показывать во время работ заглушку с кодом 200: поисковик может проиндексировать её вместо настоящих страниц.
Ошибки 5xx удобно отслеживать в статистике обхода Вебмастера и Search Console и в логах сервера. Разовый сбой не страшен, но рост доли ошибок — повод разобраться с хостингом и нагрузкой.
Ошибки, которые маскируются под нормальную работу
Самые неприятные проблемы с кодами ответа — те, которые не видны при обычном просмотре сайта в браузере. Вот несколько ситуаций, с которыми регулярно сталкиваются при аудитах.
- Защита от ботов блокирует поисковых роботов. Сервис защиты от атак или настройки файрвола начинают отвечать роботам ошибкой 403 или показывать им проверку «я не робот». Посетители ничего не замечают, а страницы постепенно выпадают из индекса. Проверяйте статистику обхода после любых изменений в защите сайта.
- Одностраничные приложения. На сайтах, где страницы формируются скриптами в браузере, сервер часто отвечает кодом 200 на любой адрес, а сообщение «страница не найдена» появляется уже после загрузки. Для поисковика все несуществующие адреса выглядят существующими — это массовые мягкие 404.
- Перенаправление по региону или языку. Сайт определяет город посетителя и отправляет его на региональную версию. Если такое перенаправление срабатывает и для робота, он может не увидеть часть страниц вообще.
- Нестабильные ответы. Страница то открывается, то отдаёт ошибку из-за перегрузки базы данных в часы пик. Робот попадает на неё в неудачный момент и делает вывод, что сайт ненадёжен.
Чтобы видеть сайт глазами робота, проверяйте коды ответа не только в браузере, но и инструментами, которые запрашивают страницу так же, как поисковик: проверкой ответа сервера в Вебмастере и инструментом проверки URL в Search Console. Они показывают и код, и то содержимое, которое получил робот.
Как искать битые ссылки и ошибки
- Краулеры. Программы вроде Screaming Frog обходят сайт как робот и показывают все внутренние ссылки на страницы с ошибками и редиректами, а также страницы, с которых эти ссылки стоят.
- Яндекс Вебмастер. Отчёты о ссылках показывают битые внутренние и внешние ссылки, а статистика обхода — коды ответа, которые получал робот.
- Google Search Console. В отчёте об индексировании видны группы «Не найдено (404)», «Ошибка сервера (5xx)», мягкие 404 и страницы с переадресацией.
- Логи сервера. Показывают, какие адреса и с какими кодами запрашивали роботы, — полезно для больших сайтов.
Регулярную проверку кодов ответа удобно включить в общий порядок технического аудита, который описан в уроке «SEO-аудит пошагово».
Что сделать после урока
- Откройте несуществующий адрес на своём сайте и проверьте, какой код возвращает сервер и как выглядит страница ошибки.
- Просканируйте сайт краулером и исправьте все внутренние ссылки на страницы с ошибками и редиректами.
- Найдите в Search Console мягкие 404 и решите для каждой группы: настоящий код 404, наполнение или закрытие от индексации.
- Выгрузите удалённые страницы с внешними ссылками и трафиком и поставьте на них 301-редиректы на близкие аналоги.
- Договоритесь с разработчиками, что на время работ сервер отдаёт код 503, а не заглушку с кодом 200.
- Примите единое правило для удалённых и закончившихся товаров: когда страница остаётся, когда получает редирект и когда отдаёт 404 или 410.