
🔧 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> 3 RewriteEngine On 4 RewriteBase / 5 RewriteRule ^index\.php$ - [L] 6 RewriteCond %{REQUEST_FILENAME} !-f 7 RewriteCond %{REQUEST_FILENAME} !-d 8 RewriteRule . /index.php [L] 9 </IfModule> 10 ## 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 ошибок встречалась вам чаще всего? Делитесь опытом в комментариях.



