Самая известная ошибка
Ответ 404 означает, что сервер работает нормально, соединение прошло, но по данному адресу ничего нет. Он не сообщает, удалили ли страницу, переименовали или её никогда не существовало. Эта неопределённость и делает диагностику интересной.
Важно отличать 404 от ошибок сети: если вы видите оформленную страницу с сообщением, значит, сайт доступен, и проблема только в конкретном адресе. Никакой сбой интернета здесь не участвует.
Важная особенность: 404 отвечает не сайт как целое, а конкретный запрошенный путь. Поэтому один и тот же сервер может прекрасно показывать главную страницу и при этом сообщать об отсутствии подраздела, если ссылка на него устарела.
Откуда берутся несуществующие адреса
Первая причина — опечатка либо неполно скопированная ссылка: в конце пропал символ, либо в адрес попала точка или скобка из текста. Вторая — страница удалена или её адрес изменился при редизайне, смене движка или структуры категорий. Третья — старые закладки и ссылки на других сайтах, которые ведут на прежние адреса.
Существует и «мягкая 404»: страница выглядит как сообщение об отсутствии материала, но сервер при этом отдаёт код 200. Для посетителя разницы нет, а вот для поисковых систем такая настройка неудобна.
Часть недоступных адресов рождается при импорте старых материалов или копировании ссылок из документов, где символы заменяются на похожие: длинное тире, неразрывный пробел, русская буква вместо латинской. Внешне адрес кажется верным, а сервер его не находит.
Как найти нужное
Проверьте адрес глазами: регистр букв, дефисы, окончание. Удалите из конца всё, что похоже на параметры, и откройте главную страницу раздела. Воспользуйтесь поиском на самом сайте или введите в поисковую систему название материала.
Если страница исчезла недавно, попробуйте найти её копию в веб-архиве или сохранённую версию в поисковике. Также помогает открыть ссылку из другого источника: возможно, в исходном месте она была искажена.
Сохранённые версии страниц можно поискать в открытых архивах интернета или в кэше поисковой системы. Это удобно, когда нужный материал исчез недавно и вы хотите хотя бы прочитать его копию либо узнать, под каким названием его искать теперь.
Особенности разных ситуаций
Если 404 появляется на страницах, которые точно существуют, и это происходит после переноса сайта, скорее всего, не работают правила красивых адресов на сервере. Тогда главная открывается, а внутренние разделы нет. Проверьте, включены ли перенаправления и есть ли файл с правилами.
Если 404 отдают картинки, стили или скрипты, страница выглядит сломанной, хотя сама загрузилась. Откройте консоль разработчика и найдите запросы с этим кодом: они покажут, каких файлов не хватает.
Что сделать владельцу сайта
Настройте постоянные перенаправления со старых адресов на новые, если материал перенесён. Сделайте понятную страницу 404 с поиском и ссылками на основные разделы, при этом код ответа должен оставаться именно 404. Регулярно просматривайте отчёты о недоступных адресах в инструментах для вебмастеров и исправляйте внутренние ссылки.
Если страница удалена окончательно и замены нет, допустим ответ 410, который яснее сообщает о постоянном отсутствии.
Если вы ведёте крупный сайт, раз в некоторое время проверяйте его специальной программой-краулером: она обойдёт страницы по внутренним ссылкам и покажет все битые адреса, чтобы вы успели исправить их до жалоб посетителей.
Когда это не ошибка
Иногда 404 нормальна: адрес вводили наугад или ссылка устарела. Массовые 404 на вашем сайте, которых вы не создавали, часто вызваны автоматическими сканерами, перебирающими типовые пути. Обычно это безвредно, если сервер настроен корректно.
Иногда после обновления системы управления сайтом начинают отдавать 404 адреса с новыми правилами постоянных ссылок. Проверьте раздел настроек адресов и пересохраните его: это пересоздаёт правила и нередко сразу возвращает страницы на место.