Как удалить пустую страницу 404 в WordPress

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

Причины появления пустых страниц 404 в WordPress

Пустые страницы 404 могут появляться по разным причинам. Основные из них:

  • Удалённые или изменённые URL без корректных редиректов.
  • Ошибки в настройках постоянных ссылок (Permalinks).
  • Ошибки в работе плагинов или темы.
  • Кэширование старых URL, которые больше не существуют.

Для начала важно понять, какие URL вызывают 404 и почему они пустые. Для этого можно использовать инструменты вроде Google Search Console или плагины для мониторинга 404 ошибок.

Как найти пустые страницы 404 и проверить их

Для мониторинга 404 ошибок рекомендую использовать плагин Redirection. Он позволяет отслеживать URL, вызывающие 404, и настраивать редиректы.

Установите и активируйте плагин, затем перейдите в меню «Инструменты > Redirection». Вкладка «404s» покажет список всех несуществующих страниц, на которые заходили пользователи или поисковые роботы.

Пример кода для автоматического перенаправления пустой страницы 404 на главную

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

function wptemy_redirect_404_to_home() {
    if (is_404()) {
        wp_redirect(home_url(), 301);
        exit;
    }
}
add_action('template_redirect', 'wptemy_redirect_404_to_home');

Этот код эффективен, но использовать его нужно с осторожностью, чтобы не скрыть реальные ошибки и не ухудшить SEO.

Как удалить пустые страницы 404 из индекса поисковых систем

Если пустые страницы уже проиндексированы, важно сообщить поисковикам, что таких страниц больше нет. Для этого на пустых страницах нужно отдавать правильный HTTP статус 404 или 410 (страница удалена).

По умолчанию WordPress возвращает 404 статус для несуществующих страниц. Но иногда из-за ошибок в теме или плагинах статус может быть 200 с пустым содержимым, что является ошибкой.

Проверка и исправление статуса страницы

Добавьте в functions.php следующий код, который гарантирует отдачу 404 статуса для пустых страниц:

function wptemy_force_404_for_empty() {
    if (is_page() && !have_posts()) {
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        nocache_headers();
        include(get_query_template('404'));
        exit();
    }
}
add_action('template_redirect', 'wptemy_force_404_for_empty');

Этот код проверяет, что страница пуста, и при необходимости отдаёт 404 статус с выводом шаблона ошибки.

Плагины для управления и удаления пустых страниц 404

Кроме Redirection, рекомендую обратить внимание на плагин Clearfy Pro. Он помогает оптимизировать сайт, в том числе управлять индексированием страниц и устранять технические проблемы, влияющие на 404 ошибки.

Clearfy Pro позволяет отключать индексацию определённых типов страниц, например, архивов, тегов или пустых страниц, что снижает количество 404 и улучшает SEO.

Профилактика появления пустых страниц 404 в WordPress

Чтобы минимизировать появление пустых 404 страниц, следуйте рекомендациям:

  • Используйте правильные редиректы при удалении или изменении URL. Плагин Redirection позволяет создавать правила 301 редиректа.
  • Регулярно проверяйте логи 404 ошибок и своевременно устраняйте найденные проблемы.
  • Следите за обновлениями плагинов и тем, так как ошибки в них могут вызывать проблемы с URL.
  • Оптимизируйте структуру постоянных ссылок и избегайте создания URL с ошибками.
  • Используйте кэширование с умом — очищайте кэш после изменений URL.

Пример функции для создания 301 редиректа из кода

Если хотите программно настроить редирект, добавьте в functions.php такой код:

function wptemy_custom_redirect_301() {
    if (strpos($_SERVER['REQUEST_URI'], '/staryj-url/') !== false) {
        wp_redirect(home_url('/novyj-url/'), 301);
        exit();
    }
}
add_action('template_redirect', 'wptemy_custom_redirect_301');

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

Как добавить собственные типы записей в WordPress с примерами кода
17.12.2025
Как использовать WPRemark для отзывов в WordPress
15.01.2026
Как создать и использовать собственный виджет в WordPress
21.11.2025
Как изменить приоритет загрузки скриптов в WordPress
22.02.2026
Как отключить Gutenberg в WordPress и вернуть классический редактор
07.04.2026