Как удалить из индекса WordPress несуществующие страницы

Почему важно удалять из индекса несуществующие страницы WordPress

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

Поисковые роботы, сканируя сайт, натыкаются на нерабочие ссылки, что сигнализирует о проблемах с поддержанием структуры сайта. Это особенно критично для крупных проектов, где изменения URL происходят часто.

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

Использование плагинов для удаления устаревших страниц из индекса

Плагин "Remove 404 URLs from Index"

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

Для установки:

  • В админке WordPress перейдите в "Плагины" > "Добавить новый";
  • В поиске введите "Remove 404 URLs from Index";
  • Установите и активируйте плагин;
  • Настройте интеграцию с IndexNow или Google Search Console в настройках плагина.

Плагин ведёт лог ошибок и отправляет запросы на удаление устаревших URL, экономя время вебмастера.

Плагин "Broken Link Checker"

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

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

Автоматизация удаления несуществующих страниц из индекса с помощью кода в WordPress

Для более тонкой настройки и полной автоматизации можно написать собственный код, который будет отслеживать удаление страниц и сразу отправлять уведомления в поисковые системы по протоколу IndexNow.

Ниже пример функции, которая отслеживает удаление записи в WordPress и отправляет URL в IndexNow для удаления из индекса.

function indexnow_su_send_url_deletion( $post_id ) {
    $post_url = get_permalink( $post_id );
    if ( ! $post_url ) {
        return;
    }

    $api_key = 'ВАШ_API_КЛЮЧ_INDEXNOW';
    $endpoint = 'https://api.indexnow.org/indexnow?url=' . urlencode( $post_url ) . '&key=' . $api_key . '&keyLocation=' . urlencode( site_url() . '/indexnow.key' );

    $response = wp_remote_get( $endpoint );

    if ( is_wp_error( $response ) ) {
        error_log( 'IndexNow API error: ' . $response->get_error_message() );
    }
}
add_action( 'before_delete_post', 'indexnow_su_send_url_deletion' );

В этом коде мы используем хук before_delete_post, который срабатывает перед удалением записи. Функция формирует запрос к API IndexNow с URL удаляемой страницы, уведомляя поисковик о необходимости её удаления из индекса.

Обратите внимание, что для работы нужен API-ключ IndexNow, а также размещённый в корне сайта файл indexnow.key с ключом в содержимом.

Реализация массового удаления неактуальных URL из индекса

Если на сайте накопилось много несуществующих страниц, их можно удалить из индекса массово, сформировав список URL и отправив его в IndexNow.

Пример функции, которая собирает все URL со статусом 404 из логов плагина Broken Link Checker и отправляет их пачкой:

function indexnow_su_bulk_delete_urls( $urls ) {
    $api_key = 'ВАШ_API_КЛЮЧ_INDEXNOW';
    $key_location = site_url() . '/indexnow.key';

    $params = [
        'host' => parse_url( site_url(), PHP_URL_HOST ),
        'key' => $api_key,
        'keyLocation' => $key_location,
        'urlList' => $urls,
    ];

    $endpoint = 'https://api.indexnow.org/indexnow';

    $response = wp_remote_post( $endpoint, [
        'headers' => [ 'Content-Type' => 'application/json' ],
        'body' => json_encode( $params ),
    ]);

    if ( is_wp_error( $response ) ) {
        error_log( 'IndexNow bulk deletion error: ' . $response->get_error_message() );
        return false;
    }
    return true;
}

Перед использованием нужно получить массив неактуальных URL ($urls) из логов или базы данных. Такая функция позволяет отправлять большие списки URL для удаления одним запросом, что значительно экономит время.

Советы по поддержанию актуальности индекса поисковых систем для WordPress

Для постоянного контроля индексации важно соблюдать несколько правил:

  • Регулярно проверять сайт на наличие ошибок 404 с помощью Google Search Console или плагинов;
  • Настроить автоматическую отправку новых и удалённых URL в поисковые системы через IndexNow или другие API;
  • Использовать кастомные отчёты и уведомления для контроля за индексом;
  • Оптимизировать структуру URL и избегать частых изменений без редиректов;
  • Обновлять карту сайта (sitemap.xml) и предоставлять её поисковым системам.

Соблюдение этих рекомендаций поможет поддерживать высокий уровень SEO и улучшить пользовательский опыт.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как автоматически удалять слуги с постоянным редиректом в WordPress и обновлять индекс с помощью IndexNow
18.05.2026
IndexNow для WordPress: интеграция и оптимизация индексации сайта
03.11.2025
Как автоматически отслеживать изменения в метаданных WordPress и отправлять их в IndexNow
21.02.2026
Как автоматизировать удаление и обновление URL в WordPress с помощью Webhooks и IndexNow
04.04.2026
IndexNow и канонические URL в WordPress: решение проблем с дублированием
18.12.2025
×
WPShop
честная партнерка!

Зарабатывай до 3225₽ с каждой продажи

Подключиться к партнерке