- html5css.dev
- SEO
- SEO продвижение
- Техническая оптимизация
- Битые страницы и ссылки
Битые страницы и ссылки
Битая ссылка тратит бюджет обхода, теряет вес и раздражает читателя. Разбираем, как их искать, чем 410 отличается от 404 и почему цепочка редиректов хуже одного перехода.
Какой код в какой ситуации
| Ситуация | Код | Почему |
|---|---|---|
| Адрес не существовал никогда | 404 | Обычный ответ, ничего чинить не нужно |
| Страница удалена навсегда, аналога нет | 410 | Быстрее уходит из индекса, чем при 404 |
| Страница переехала | 301 | Переносит сигналы на новый адрес |
| Временно недоступна (техработы) | 503 | С заголовком Retry-After: робот вернётся позже |
| Товар закончился, но вернётся | 200 | Страница остаётся, статус наличия меняется в разметке |
| Товар снят с продажи навсегда | 301 на категорию или 410 | Зависит от того, есть ли замена |
Мягкая 404 — тихая, но дорогая проблема
Страница отдаёт код 200 и текст «ничего не найдено». Поисковик видит успешный ответ и пустое содержание, помечает адрес как «мягкую 404» и может распространить недоверие на похожие адреса. Типичные источники:
- Карточка удалённого товара с сообщением «товар не найден» и кодом 200.
- Пустая категория после применения фильтра.
- Результат поиска без совпадений.
- Страница ошибки, реализованная как обычный шаблон.
- Редирект всех несуществующих адресов на главную.
Проверка: отчёт «Индексирование страниц» в Search Console, категория «Страница с ошибкой soft 404».
Цепочки редиректов
# смотрим всю цепочку переходов
curl -sIL -o /dev/null -w '%{http_code} -> %{url_effective}\n' https://site.ru/staraya-stranica
# подробнее: каждый шаг
curl -sIL https://site.ru/staraya-stranica | grep -iE '^HTTP|^location'
| Было | Стало |
|---|---|
http://site.ru/a → http://www.site.ru/a → https://www.site.ru/a → https://site.ru/b | http://site.ru/a → https://site.ru/b |
Правило: один переход до конечного адреса. Отдельно обновите внутренние ссылки — они должны вести сразу на конечный URL, а не через редирект.
Как искать битые ссылки
- Краулер по всему сайту. Screaming Frog или Netpeak: колонка «Status Code», фильтр 4xx и 5xx. Отчёт «Inlinks» покажет, с каких страниц стоят ссылки.
- Search Console → Индексирование. Категории «Не найдено (404)» и «Ошибка сервера».
- Яндекс.Вебмастер → Страницы в поиске, вкладка исключённых.
- Логи сервера. Реальные обращения к несуществующим адресам, включая переходы по внешним ссылкам.
- Внешние ссылки на 404. Search Console → Ссылки: если на удалённую страницу кто-то ссылается, ставьте 301 на близкую по теме — иначе вес теряется.
# топ несуществующих адресов из логов nginx
awk '$9 == 404 {print $7}' access.log | sort | uniq -c | sort -rn | head -30
Полезная страница 404
- Отдаёт настоящий код 404, а не 200 — это главное.
- Объясняет, что произошло, обычными словами.
- Даёт поиск по сайту и ссылки на основные разделы.
- Сохраняет шапку и навигацию — человек не должен чувствовать себя вне сайта.
- Не редиректит автоматически: пользователь должен понять, что адрес неверен.
- Закрыта от индексации через
noindex.
# nginx
error_page 404 /404.php;
location = /404.php {
internal;
add_header X-Robots-Tag "noindex" always;
}
Порядок работ
- Найти 4xx и 5xx краулером, выгрузить со списком ссылающихся страниц.
- Исправить внутренние ссылки — они полностью в вашей власти.
- Для адресов с внешними ссылками поставить 301 на близкие страницы.
- Остальное оставить на 404 или закрыть 410 — если удалено намеренно.
- Развернуть цепочки редиректов до одного перехода.
- Проверить страницу ошибки: код, содержание,
noindex. - Настроить мониторинг 5xx с оповещением.
Итог
404 — не проблема сама по себе. Проблема — внутренние ссылки на мёртвые адреса, потерянный вес от внешних ссылок, цепочки редиректов и страницы, которые притворяются существующими. Чинится это выгрузкой из краулера и правкой ссылок в шаблонах. Дальше — дубли мета-тегов и H1.
Частые вопросы
Вредят ли 404 позициям сайта?
Сами по себе нет: 404 — нормальный ответ для несуществующего адреса. Вредит другое — внутренние ссылки на такие адреса, потеря веса от внешних ссылок и расход бюджета обхода на мёртвые URL.
Когда использовать 410 вместо 404?
Когда страница удалена намеренно и не вернётся. 410 говорит об этом явно, и поисковые системы убирают адрес из индекса быстрее, чем при 404.
Что такое «мягкая 404»?
Страница, которой фактически нет, но сервер отдаёт код 200 — например, «Товар не найден» с кодом успеха. Поисковик считает это ошибкой конфигурации и может исключить из индекса и похожие адреса.
Чем плохи цепочки редиректов?
Каждый переход — лишний запрос и задержка для пользователя, а для робота — расход бюджета обхода. Плюс на длинных цепочках часть сигналов теряется. Правильно — один переход до конечного адреса.