Как исправить ошибку 404 в WordPress

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

Ниже — рабочий порядок проверки: от самых частых и безопасных причин к более редким. Он подходит, если перестали открываться отдельные страницы, записи, рубрики или произвольные типы записей.

Сначала определите, что именно сломалось

404 в WordPress бывает разной по природе. Внешне это одна и та же ошибка, но причины отличаются.

  • Одна конкретная страница не открывается — чаще всего изменился слаг, страница удалена, стоит редирект или конфликтует плагин.
  • Не открываются все записи или все страницы — обычно проблема в постоянных ссылках или правилах перезаписи на сервере.
  • 404 появляется после перехода по старой ссылке — вероятен редирект на несуществующий адрес или ссылка ведёт на удалённый контент.
  • Адрес выглядит правильным, но WordPress всё равно отдаёт 404 — возможен конфликт с кэшем, плагином редиректов, темой или настройками веб-сервера.

Если ошибка затронула только один URL, не начинайте с переустановки WordPress. В таких случаях причина почти всегда локальная и её можно найти за несколько минут.

Проверьте, не изменился ли слаг страницы

Самая частая причина для одной страницы — изменённый слаг, то есть часть адреса после домена. Например, страница раньше открывалась как /uslugi/, а теперь у неё другой адрес.

Откройте нужную страницу в админке WordPress и посмотрите поле Ярлык или Slug. Если оно было изменено, старая ссылка перестанет работать и будет отдавать 404, пока вы не настроите редирект со старого адреса на новый.

Здесь важно не путать проблему с ошибкой WordPress. Если страница открывается в админке, но не открывается по старому URL, сама запись жива — сломалась только ссылка.

Что делать:

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

Обновите постоянные ссылки, если 404 появилась на многих страницах

Если после переноса сайта, смены темы, установки плагина или обновления WordPress перестали открываться почти все записи, рубрики или страницы, сначала обновите правила постоянных ссылок. Это безопасная операция: WordPress просто заново запишет правила перезаписи.

Сделайте так:

  1. Откройте Настройки → Постоянные ссылки.
  2. Не меняя структуру, нажмите Сохранить изменения.
  3. Проверьте несколько страниц сайта в обычном режиме и в режиме инкогнито.

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

Если сайт работает на Apache, но в корне нет корректного файла .htaccess или он повреждён, обновление постоянных ссылок может не помочь. Тогда нужно проверить серверную часть.

Что проверить на Apache и Nginx

На Apache WordPress обычно использует .htaccess. Если файл отсутствует, не читается или в нём нет стандартных правил WordPress, красивые ссылки могут ломаться. На Nginx правила в .conf должны корректно передавать запросы в WordPress; без этого часть URL будет отдавать 404, даже если в админке всё выглядит нормально.

Если вы не уверены в настройках сервера, не редактируйте конфиг вслепую. На хостинге лучше сначала проверить, не менялись ли правила после переноса сайта или включения кэша на уровне сервера.

Отличите удалённую страницу от сломанного адреса

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

Как понять, что страница удалена:

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

Если контент удалён случайно, восстановите его из корзины WordPress или из резервной копии. Если страница удалена намеренно, настройте 301-редирект на наиболее близкую по смыслу страницу. Это лучше, чем оставлять пользователя на 404.

Проверьте редиректы, если ошибка появляется после перехода по ссылке

Редирект сам по себе не вызывает 404, но часто приводит к ней, если цепочка настроена неправильно. Типичный сценарий: старая ссылка ведёт на новый адрес, а новый адрес уже не существует или снова перенаправляет дальше.

Проверьте такие случаи:

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

Если используете плагин для редиректов, временно отключите его и проверьте проблемный URL. Если 404 исчезает, причина в правилах перенаправления, а не в WordPress как таковом.

Особенно внимательно проверяйте редиректы после смены структуры постоянных ссылок. Например, если раньше адреса были с категорией, а потом вы убрали её из структуры, старые ссылки должны вести на новые страницы, а не в никуда.

Когда виноваты кэш, тема или плагин

Если адрес правильный, страница существует, постоянные ссылки обновлены, но 404 остаётся, проверьте конфликт на уровне сайта.

Сначала очистите кэш:

  • кэш плагина;
  • серверный кэш, если он включён у хостинга;
  • кэш браузера;
  • CDN, если сайт его использует.

Затем временно отключите плагины, которые влияют на маршрутизацию: редиректы, кэш, SEO-модули, плагины для произвольных типов записей. Если после отключения проблема исчезла, включайте их по одному и проверяйте адрес снова.

Тема тоже может вмешиваться в обработку запросов, если в ней есть нестандартные шаблоны или собственная логика для URL. Это встречается реже, но после смены темы или обновления шаблона стоит проверить именно этот момент.

Как быстро проверить, что ошибка исправлена

После каждого изменения проверяйте не только проблемную страницу, но и несколько соседних URL того же типа. Например, если ломались записи, откройте:

  • одну обычную запись;
  • одну рубрику;
  • архив автора, если он используется;
  • страницу с вложенным адресом, если у вас такая структура.

Проверяйте в режиме инкогнито или после очистки кэша. Иначе можно увидеть старую версию ответа и решить, что проблема осталась, хотя на сервере уже всё исправлено.

Если вы меняли слаг или структуру ссылок, убедитесь, что:

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

Что делать, если ничего не помогло

Если после обновления постоянных ссылок, проверки слага, редиректов и кэша проблема остаётся, обычно остаются три варианта: ошибка на уровне сервера, конфликт плагина или повреждённая конфигурация после переноса сайта.

В такой ситуации полезно проверить:

  • не менялся ли недавно домен или каталог установки WordPress;
  • не редактировались ли правила на сервере вручную;
  • не появился ли плагин, который перехватывает URL;
  • не остались ли в базе старые адреса после миграции.

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

В большинстве случаев ошибка 404 в WordPress решается без переустановки сайта: достаточно понять, сломался ли сам адрес, правила постоянных ссылок или редирект. Если страница удалена, не пытайтесь «починить» её как живую — лучше восстановить контент или настроить корректный переход на замену.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее