Почему возникает ошибка 404 и как ее исправить
Ошибка 404 на WordPress обычно появляется не из-за «поломки сайта», а потому что по старому адресу больше нет нужной страницы. Это типичная ситуация после удаления записи, изменения структуры постоянных ссылок, переноса сайта на другой домен или смены ЧПУ. Проблема в том, что для пользователя это тупик, а для поисковых систем — сигнал о несуществующей странице, которая могла уже приносить трафик.
Если 404 встречается редко, это нормально: на любом сайте со временем появляются устаревшие ссылки, закладки и внешние упоминания. Но если таких страниц много, их нужно не просто «убрать», а понять источник и решить, что делать с каждым адресом: восстановить страницу, настроить редирект или оставить 404, если адрес действительно больше не нужен.
Когда 404 — это нормально, а когда уже проблема
Не каждая ошибка 404 требует срочного вмешательства. Если пользователь открыл старую ссылку на удалённую новость, архив, временную акцию или несуществующий файл, 404 — ожидаемый ответ сервера. Так и должно быть, если страницы больше нет и у неё нет замены.
Проблемой 404 становится в таких случаях:
- страница раньше получала трафик из поиска, а теперь исчезла;
- на сайте много внутренних ссылок ведут на несуществующие URL;
- после переноса сайта или смены домена старые адреса не перенаправляются;
- изменили структуру постоянных ссылок, но не настроили редиректы;
- в поиске продолжают индексироваться старые адреса, хотя контент уже переехал.
Если речь о важной странице, лучше не оставлять всё как есть. Для SEO и удобства пользователей правильнее либо вернуть контент, либо перенаправить старый адрес на наиболее близкую релевантную страницу.
Сначала найдите источник ошибки
Перед исправлением нужно понять, откуда берётся 404. На WordPress это обычно один из четырёх сценариев: удалённая запись, изменённый URL, битая внутренняя ссылка или старый адрес после переноса сайта.
Проверьте, существует ли страница на самом деле
Откройте проблемный URL в браузере и сравните его с тем адресом, который был раньше. Если страница удалена, а в поиске или в старых статьях остались ссылки на неё, причина очевидна. Если запись существует, но открывается 404, проблема уже не в контенте, а в настройках сайта.
На WordPress это часто связано с:
- сбитыми постоянными ссылками;
- изменением структуры URL после переноса или редактирования;
- конфликтом с плагином или темой;
- ошибками в правилах сервера, если сайт работает на Apache или Nginx.
Посмотрите, откуда именно приходит запрос
Если 404 возникает у посетителей, полезно понять источник перехода. Это может быть:
- внутренняя ссылка в меню, статье или блоке;
- внешняя ссылка с другого сайта;
- результат поиска Google;
- закладка пользователя;
- старый адрес после миграции.
Для этого удобно посмотреть отчёты аналитики, логи сервера или хотя бы страницу 404 в браузере и проверить, есть ли на ней переходы с других разделов сайта. Если битая ссылка внутренняя, редирект не заменяет исправление исходной ссылки: её всё равно нужно поправить в контенте.
Что делать после удаления записи или страницы
Если запись удалили окончательно и у неё нет замены, есть два рабочих варианта: оставить 404 или настроить редирект на ближайшую подходящую страницу. Выбор зависит от того, был ли у URL трафик и есть ли релевантный аналог.
Если страница была важной, но теперь её контент переехал, лучше поставить редирект 301. Это постоянное перенаправление, которое сообщает браузеру и поисковым системам, что адрес изменился. В WordPress это стандартный способ сохранить часть накопленного веса старого URL и не терять пользователей.
Если аналогичной страницы нет, не стоит автоматически отправлять все удалённые URL на главную. Это плохая практика: пользователь ждёт конкретный ответ, а получает нерелевантную страницу. Для поисковых систем массовые редиректы на главную тоже выглядят неестественно.
Как настроить редирект вручную
Самый надёжный способ — настроить 301-редирект на уровне сервера или через плагин редиректов. Если у вас Apache, редирект можно добавить в .htaccess. Для одного адреса это выглядит так:
Redirect 301 /staryj-url/ https://example.com/novyj-url/Если сайт работает на Nginx, правило настраивается в конфигурации сервера, а не в WordPress. На общем хостинге это обычно делает поддержка. Если вы не уверены, какой у вас сервер, лучше не редактировать конфигурацию вслепую.
Для большинства владельцев сайтов проще использовать плагин редиректов. Это удобнее, если нужно перенаправить несколько старых адресов после переезда или редизайна. Главное — не создавать цепочки редиректов, когда старый адрес ведёт на промежуточный URL, а тот уже на конечный. Лучше сразу направлять на нужную страницу.
Что проверить после смены структуры ссылок
После изменения постоянных ссылок на WordPress 404 часто появляются массово, если старые адреса не были учтены. Это особенно заметно после перехода с одного формата ЧПУ на другой, например с адресов с датой на короткие URL.
Сначала проверьте, не сбились ли сами настройки постоянных ссылок. В админке WordPress откройте раздел Настройки → Постоянные ссылки и просто сохраните их ещё раз. Иногда этого достаточно, чтобы WordPress заново записал правила маршрутизации. Если после этого 404 остаются, проблема уже не в сохранении настроек, а в несовместимости старых URL с новой структурой.
Дальше нужно сопоставить старые и новые адреса. Если структура изменилась массово, редиректы лучше делать по шаблону, а не вручную по одной странице. Но здесь важно не ошибиться: шаблонный редирект подходит только тогда, когда старый и новый URL действительно однозначно соответствуют друг другу.
После переноса сайта 404 часто связаны не с WordPress, а с окружением
Если сайт переехал на новый домен, хостинг или поддомен, 404 могут появиться из-за того, что часть адресов всё ещё указывает на старое место. В этом случае проверяйте не только WordPress, но и саму инфраструктуру.
Частые причины:
- в базе данных остались старые абсолютные ссылки;
- не обновлён адрес сайта в настройках WordPress;
- не перенесены правила редиректов со старого домена;
- старый домен уже не обслуживает запросы;
- кэш или CDN отдают устаревшие ответы.
После миграции полезно проверить, открываются ли старые URL с правильным редиректом на новый домен. Если вместо этого вы видите 404, значит, переезд выполнен не полностью. Для крупных сайтов это особенно важно: поисковики могут ещё долго ходить по старым адресам.
Как найти битые ссылки на самом сайте
Если 404 возникает из-за внутренних ссылок, их нужно исправлять в первую очередь. Редирект здесь помогает пользователю, но не решает саму причину ошибки. На WordPress битые ссылки обычно появляются после удаления записи, смены слага или ручного редактирования контента.
Проверять стоит:
- меню;
- ссылки в статьях и страницах;
- виджеты и блоки в редакторе;
- хлебные крошки;
- ссылки в шаблонах темы;
- ссылки в футере и сайдбаре.
Если сайт большой, вручную искать всё неудобно. Проще использовать инструмент для сканирования битых ссылок или отчёты в панели вебмастера. Для WordPress есть и комплексные решения, которые помогают находить 404 и управлять редиректами в одном месте. Например, Clearfy Pro включает инструменты для работы с 404 и редиректами, что удобно, когда нужно не просто увидеть ошибку, а быстро закрыть её без лишних плагинов. Подробности есть на странице плагина: https://wpshop.ru/plugins/clearfy.
Когда редирект нужен, а когда лучше оставить 404
Редирект полезен не всегда. Если страница была важной, имела входящий трафик или внешние ссылки, перенаправление оправдано. Если же URL был случайным, техническим или никогда не приносил пользы, можно оставить 404 или вернуть 410, если вы осознанно удаляете ресурс навсегда и хотите показать это поисковикам.
Практически это выглядит так:
- 301 — когда есть новая или близкая по смыслу страница;
- 404 — когда страницы больше нет и замены нет;
- 410 — когда нужно явно сообщить, что ресурс удалён окончательно.
Для обычного сайта чаще всего хватает 301 и 404. 410 используют реже, когда важно быстрее убрать из индекса заведомо удалённые адреса, но это уже более точечный инструмент.
Как проверить, что проблема действительно решена
После исправления не ограничивайтесь тем, что страница «открывается». Нужно проверить именно поведение URL.
Сделайте три проверки:
- Откройте старый адрес в браузере и убедитесь, что он ведёт на нужную страницу или отдаёт корректный 404.
- Проверьте код ответа сервера: для редиректа должен быть 301, а не 302, если перенос постоянный.
- Посмотрите, не осталось ли внутренних ссылок на старый URL в меню, статьях и шаблонах.
Если у вас есть доступ к инструментам вебмастера, проверьте отчёт по страницам с ошибкой 404. Он покажет, какие URL продолжают запрашиваться роботами и пользователями. Это особенно полезно после переноса сайта: часть старых адресов может всплывать ещё долго.
Что не стоит делать
Самая частая ошибка — массово перенаправлять все 404 на главную страницу. Это неудобно для пользователей и не решает проблему качества ссылок. Вторая ошибка — закрывать всё подряд через robots.txt. Этот файл не заменяет редирект и не исправляет уже существующие ссылки. Если страница должна исчезнуть из поиска, чаще нужен 404, 410, noindex или редирект — в зависимости от задачи.
Ещё одна типичная проблема — забыть про старые ссылки после редизайна. Визуально сайт уже новый, но в контенте и шаблонах остаются старые URL, которые продолжают ломаться. В таких случаях нужно не только настроить редирект, но и пройтись по источнику ссылок.
Если коротко: 404 — это не всегда ошибка сайта, но почти всегда сигнал проверить старые адреса. Сначала найдите источник, потом решите, что делать с конкретным URL: восстановить, перенаправить или оставить как есть. Такой подход сохраняет и трафик, и порядок в структуре сайта.