Настоящий 404 и soft 404: проверяем ответ страницы

2 мин чтения

Почему текст «страница не найдена» должен сопровождаться HTTP 404 и как проверить ответ сервера.

Отсутствующий материал должен дать честный ответ
  1. Нет страницыЗапрошенный материал не найден
  2. HTTP 404Сервер сообщает об отсутствии, не возвращает 200
  3. Помощь читателюПредлагаем поиск и рабочие ссылки

В браузере написано «Страница не найдена», но сервер вернул 200 OK. Человек понял, что статьи нет, а поисковик получил сообщение об успешной загрузке. Так возникает soft 404. Исправлять нужно ответ сервера; полезную страницу с поиском и ссылками при этом можно оставить.

Проверяем настоящий GET-запрос

curl -sS -o /dev/null -D - https://example.com/removed-post/
curl -sS -o /dev/null -D - https://example.com/definitely-missing-123/

Первый адрес обозначает удалённую статью, второй — заведомо отсутствующий путь. Команды показывают заголовки обычного запроса без автоматического следования перенаправлениям. Не ограничивайтесь внешним видом страницы. Проверьте также содержимое ответа: статус 200 для действующей статьи должен сопровождаться реальным материалом, а не пустым шаблоном или ошибкой загрузки основного блока.

Когда нужен 404, а когда перенаправление

Если материал отсутствует и подходящей замены нет, ответ 404 сообщает об этом технически. При окончательном удалении возможен статус 410. Полезная страница ошибки может содержать поиск, рубрики и ссылку на главную, сохраняя правильный статус. Если статья переехала на равноценный адрес, нужен отдельный сценарий перенаправления, а не оформление отсутствия как успешной страницы.

Допустим, удалена заметка об устаревшем пакете. Редактор решил не сохранять материал и не подготовил замену. Разработчик возвращает 404 и предлагает читателю подходящую рубрику. Массовое направление всех таких адресов на главную скрывает ситуацию от пользователя и не гарантирует устранения soft 404. Решение должно соответствовать содержимому, а не желанию уменьшить число строк в отчёте.

Проверяем после исправления

Сравните несколько адресов из каждого шаблона: существующая статья, удалённая статья, случайный путь и служебная страница. Протестируйте ответ через публичный домен, поскольку промежуточный кэш может менять результат. Для важных URL сопоставьте собственную проверку с доступными данными Search Console и дождитесь повторной обработки. Изменения в отчётах не обязаны появляться сразу.

Статус 404 нормален для отсутствующего материала. Проблема — когда на него ведут действующие ссылки или вместо статьи ломается шаблон. Уберите такие внутренние ссылки, проверьте существующие страницы и оставьте посетителю поиск либо переход в рубрику. Изменения в поисковом индексе появятся после обработки страницы роботом.

Источники и дальнейшее чтение