Skip to content
🔧 404 ошибка на WordPress: как исправить и больше не терять страницы

🔧 404 ошибка на WordPress: как исправить и больше не терять страницы

Перешли по ссылке на свой сайт, а там пустая страница с «404 Not Found». Хотя точно помните: пост был, работал, и вы его не удаляли. Ситуация неприятная и, увы, знакомая каждому администратору WordPress.

Чаще всего виновата простая рассинхронизация правил перезаписи URL. На практике в 8 из 10 случаев проблема решается за минуту, одним нажатием кнопки в админке. А если не помогло, разберём остальные причины по цепочке, от плагинов до серверных настроек.

Ниже, пошаговое руководство: от быстрого исправления до полной диагностики, включая ручную правку .htaccess, поиск битых ссылок через Google Search Console и настройку редиректов.

💡 Быстрый обзор:

  • Сохраните постоянные ссылки в админке, это сбрасывает rewrite rules и чинит большинство 404 ошибок.
  • Проверьте плагины и тему: временно отключите всё и включайте по одному, чтобы найти конфликт.
  • Обновите файл htaccess вручную через FTP или файловый менеджер хостинга.
  • Настройте 301 редирект через плагин Redirection для удалённых и перемещённых страниц.
  • Обратитесь к хостеру, если предыдущие шаги не помогли.

Шаг 1: Сохраните настройки постоянных ссылок

Это самый быстрый и действенный способ. WordPress хранит правила маршрутизации URL в специальном кеше rewrite rules, и иногда этот кеш сбрасывается некорректно, например, после обновления ядра или установки плагина, который регистрирует свои типы записей.

Зайдите в админку: Настройки → Постоянные ссылки. Ничего не меняйте, просто нажмите кнопку «Сохранить изменения» внизу страницы.

WordPress заново сгенерирует правила перезаписи и запишет их в .htaccess. После этого проверьте проблемные страницы, в большинстве случаев 404 ошибка исчезает сразу.

Если не сработало, попробуйте временно переключить структуру ссылок на «Простые», сохранить, а затем вернуть обратно и сохранить ещё раз. Так вы дважды форсируете перегенерацию rewrite rules.

Шаг 2: Проверьте плагины и тему на конфликты

Некоторые плагины вмешиваются в маршрутизацию URL, регистрируют свои правила перезаписи или переопределяют существующие. Конфликт двух плагинов или плагина с темой ломает постоянные ссылки, и часть страниц уходит в 404.

Как найти виновника:

  • Сделайте полный бэкап сайта. Перед любыми манипуляциями с активными плагинами и темой это обязательно. Используйте BackWPup или любой другой плагин резервного копирования, которому доверяете.
  • Перейдите в Плагины → Установленные и временно деактивируйте все плагины разом (отметьте галочкой и выберите «Деактивировать» в выпадающем списке).
  • Проверьте, исчезла ли 404 ошибка. Если да, проблема в одном из плагинов.
  • Включайте плагины по одному и после каждого проверяйте проблемный URL. Тот, после активации которого ошибка вернулась, и есть источник конфликта.

Если деактивация всех плагинов не помогла, временно переключите тему на стандартную (Twenty Twenty-Five или Twenty Twenty-Four). Рабочая ссылка при стандартной теме означает, что конфликт на стороне вашей текущей темы.

Для безопасного тестирования на рабочем сайте используйте staging-окружение (копию сайта на поддомене). Многие хостеры предоставляют его в пару кликов через панель управления. Если staging недоступен, проводите диагностику в часы минимальной посещаемости и возвращайте плагины сразу после проверки.

Шаг 3: Обновите файл.htaccess вручную

Бывает, что WordPress не может записать правила перезаписи в .htaccess, например, из-за прав доступа на сервере или потому что файл повреждён. Тогда даже сохранение настроек постоянных ссылок не помогает.

Подключитесь к серверу через FTP (FileZilla, WinSCP) или откройте файловый менеджер в панели хостинга. В корневой папке сайта (там же, где лежат wp-content и wp-includes) найдите файл .htaccess.

Скопируйте его содержимое и сохраните в безопасном месте, если что-то пойдёт не так, вы всегда сможете восстановить оригинал.

Теперь замените содержимое .htaccess стандартным кодом WordPress:

1## BEGIN WordPress
2<IfModule mod_rewrite.c>
3RewriteEngine On
4RewriteBase /
5RewriteRule ^index\.php$ - [L]
6RewriteCond %{REQUEST_FILENAME} !-f
7RewriteCond %{REQUEST_FILENAME} !-d
8RewriteRule . /index.php [L]
9</IfModule>
10&#35;&#35; END WordPress

Сохраните файл и проверьте проблемные страницы. Если ошибка ушла, дело было в повреждённом .htaccess.

Не забудьте вернуть права доступа на файл в значение 644: открытый на запись .htaccess (666 или 777), дыра в безопасности.

Шаг 4: Настройте редиректы для удалённых и перемещённых страниц

Не все 404 ошибки вызваны техническим сбоем. Часть из них — это реально отсутствующие страницы: вы удалили пост, изменили его URL при редактировании или перестроили структуру категорий.

Такие 404 ошибки видны в Google Search Console в отчёте «Страницы», Google фиксирует каждый недоступный URL, по которому переходили пользователи или поисковый робот.

Для управления редиректами установите бесплатный плагин Redirection. Он позволяет:

  • создавать 301 редирект со старого URL на новый в пару кликов;
  • отслеживать все 404 ошибки на сайте в реальном времени (журнал прямо в админке);
  • настраивать массовые редиректы по шаблону (например, при смене структуры постоянных ссылок).

На каждый зафиксированный 404 в журнале Redirection можно сразу же назначить редирект, не покидая админки. Это сохраняет позиции в поиске и не даёт посетителям упираться в пустую страницу.

Шаг 5: Обратитесь к хостинг-провайдеру

Если ни один из предыдущих шагов не помог, проблема глубже, на уровне серверного окружения.

Что может быть не так на стороне хостинга:

  • Модуль mod_rewrite не включён в Apache. Без него WordPress не может формировать «красивые» URL, и любые постоянные ссылки, кроме «Простых», выдают 404. Техподдержка включает его за минуту.
  • Агрессивное серверное кеширование (Varnish, Nginx FastCGI cache). Иногда кеш не сбрасывается при сохранении постоянных ссылок, и сервер продолжает отдавать старые заголовки. Попросите хостера принудительно сбросить кеш для вашего домена.
  • Некорректная конфигурация Nginx. Если сайт работает на связке Nginx + Apache или чистом Nginx, правила перезаписи живут не в .htaccess, а в конфигурационном файле сервера. Перегенерация rewrite rules из админки WordPress на такие серверы не действует, нужна правка конфига хостинг-провайдером.

При обращении в поддержку опишите проблему и перечислите шаги, которые вы уже сделали: это сэкономит время и вам, и инженеру.

Другие причины 404 ошибок в WordPress

Кроме сбоя rewrite rules и конфликтов плагинов, есть ещё несколько сценариев, при которых страницы уходят в 404:

  • Смена домена или переезд сайта. После миграции старые URL не работают, если не настроены редиректы. Для массового переноса используйте плагин Duplicator или All-in-One WP Migration, они автоматически правят все внутренние ссылки в базе данных.
  • Удалённые медиафайлы. Если вы удалили картинку или PDF через медиатеку, а ссылка на неё осталась в тексте поста, при переходе по прямому URL файла браузер покажет 404. Используйте плагин Media Cleaner для поиска таких «осиротевших» ссылок.
  • Ошибки в иерархии страниц. При смене родительской страницы или slug-а категории дочерние URL ломаются. Если вы перестраиваете структуру, сразу настройте редиректы со старых адресов.
  • Вредоносная активность. Взлом или заражение сайта малварью могут подменять правила перезаписи и добавлять редиректы на сторонние домены. Регулярно обновляйте ядро, плагины и тему, а для мониторинга используйте Solid Security (бывший iThemes Security).

⁉️🤔 Частые вопросы

Почему после сохранения постоянных ссылок ошибка не уходит?

Скорее всего, WordPress не может записать изменения в .htaccess, проверьте права доступа к файлу (должно быть 644). Если сайт работает на Nginx, правила перезаписи управляются не через .htaccess, а через серверный конфиг, обратитесь в поддержку хостинга, чтобы они вручную обновили rewrite rules для вашего домена.

Как массово найти все 404 ошибки на сайте?

Самый полный инструмент, Google Search Console, отчёт «Страницы» → вкладка «Не найдено (404)». Для мониторинга в реальном времени установите плагин Redirection: он логирует каждый 404 хит прямо в админке и даёт создать редирект в один клик. Внешние краулеры вроде Screaming Frog тоже подходят, но для разового аудита.

Можно ли просто удалить битые ссылки и не настраивать редиректы?

Технически, да, но вы потеряете позиции в поиске и трафик. Если на страницу вели внешние ссылки с других сайтов, посетители будут попадать в пустоту. 301 редирект передаёт ссылочный вес новой странице и сохраняет пользовательский опыт. Для массовых 404 на старом сайте редирект на главную, крайний вариант, лучше вести каждый URL на релевантную замену.

Чем опасен открытый на запись.htaccess?

Файл .htaccess с правами 666 или 777 может быть изменён любым процессом на сервере. Злоумышленник, получивший доступ к любому плагину с уязвимостью, допишет в него редирект на фишинговый домен, и весь ваш трафик утечёт. Стандартные права 644: владелец читает и пишет, все остальные, только читают.

Плагины деактивированы, тема стандартная,.htaccess обновлён, 404 остаётся. Что дальше?

В подавляющем большинстве случаев проблема на уровне сервера. Напишите в техподдержку хостинга и перечислите уже выполненные шаги. Попросите проверить: включён ли mod_rewrite, не кеширует ли сервер старые заголовки, корректно ли настроен Nginx (если он используется). С таким списком инженер решит вопрос за один сеанс, а не за три переписки.

404 на WordPress: что делать в первую очередь

Алгоритм простой и почти всегда срабатывает. Начинаете с быстрого, сохранение постоянных ссылок (8 из 10 случаев). Не помогло, идёте по цепочке: плагины → .htaccess → редиректы → техподдержка хостинга. Каждый следующий шаг чуть сложнее предыдущего, но и вероятность, что проблема там, ниже.

Для профилактики держите под рукой три инструмента: плагин для бэкапов вроде BackWPup, плагин редиректов Redirection и Google Search Console для мониторинга. С ними вы не просто чините 404, вы видите их до того, как их заметят посетители.

А какая причина 404 ошибок встречалась вам чаще всего? Делитесь опытом в комментариях.