Как найти и исправить ошибки 404 и битые ссылки
Практика3 минРедакция Innovialabs
Коротко
Битые ссылки находят краулером и отчётами Search Console и Вебмастера, затем для каждой 404 решают: восстановить страницу, поставить 301 на ближайшую замену или честно оставить 404 с полезной страницей ошибки.
Коротко о главном
Ошибка 404 сама по себе не вредит сайту: это нормальный ответ для несуществующей страницы. Проблема возникает, когда на 404 ведут ваши же ссылки, внешние ссылки с других сайтов или страница раньше получала трафик. Такие случаи нужно найти и исправить, остальные можно оставить.
Где искать битые ссылки
| Источник | Что показывает |
|---|---|
| Краулер (Screaming Frog, Sitebulb и т. п.) | внутренние ссылки на 404 и страницы, где они стоят |
| Google Search Console, отчёт «Страницы» | URL со статусом «Не найдено (404)», которые знает Google |
| Яндекс Вебмастер, «Страницы в поиске» и «Диагностика» | исключённые страницы и ошибки обхода |
| Отчёты о внешних ссылках | битые URL, на которые ссылаются другие сайты |
| Логи сервера | реальные запросы к несуществующим адресам |
| Аналитика | посещения страницы 404 и источники переходов |
Для исходящих внешних ссылок (с вашего сайта на чужие) включите в краулере проверку внешних URL: сторонние сайты тоже переезжают и удаляют страницы.
Как решить, что делать с каждой 404
Для каждого битого URL задайте три вопроса:
- Страница удалена по ошибке? Восстановите её.
- Есть ли близкая по смыслу замена? Поставьте 301-редирект на неё: новая версия товара, обновлённая статья, родительская категория.
- Замены нет и ссылок нет? Оставьте 404 или отдайте 410, если страница удалена навсегда.
Чего не стоит делать:
- Редиректить всё на главную. Пользователь не находит то, что искал, а поисковики часто считают это «мягкой 404».
- Отдавать код 200 на странице «не найдено». Это классическая soft 404: поисковик видит пустую страницу как настоящую.
- Строить цепочки вида A → B → C. Ведите сразу на конечный адрес.
Пример 301-редиректа в nginx:
location = /old-product {
return 301 /catalog/new-product;
}
Внутренние ссылки исправляйте в источнике
Редирект — это подстраховка для внешнего мира. Если битая ссылка стоит в вашем меню, тексте или шаблоне, исправьте её прямо там, на актуальный URL. Иначе робот каждый раз проходит лишний шаг, а пользователь ждёт дольше.
Особое внимание — шаблонам: одна неверная ссылка в футере размножается на все страницы сайта.
Как сделать полезную страницу 404
Хорошая страница 404 помогает человеку не уйти с сайта:
- Понятное сообщение без технического жаргона: страницы нет, вот что можно сделать.
- Поиск по сайту прямо на странице.
- Ссылки на главную, основные разделы и популярные материалы.
- Навигация и дизайн как на остальном сайте, чтобы было ясно, что человек не потерялся.
- Правильный код ответа 404, а не 200 или редирект.
Добавьте событие в аналитику при показе 404 с адресом и источником перехода. Так вы увидите новые битые ссылки раньше, чем их заметят пользователи.
Как не допускать новых 404
- При удалении или переименовании страницы сразу добавляйте редирект.
- Генерируйте ссылки в шаблонах из маршрутов, а не вписывайте вручную.
- Запускайте краулер после крупных обновлений и по расписанию.
- Держите
sitemap.xmlавтоматическим, чтобы в нём не оставались удалённые URL.