Как использовать IndexNow для удаления старых URL из WordPress

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

Что такое IndexNow и зачем удалять старые URL

IndexNow — это открытый протокол, позволяющий веб-мастерам мгновенно уведомлять поисковые системы об изменениях на сайте: добавлении, обновлении или удалении контента. В отличие от классического метода с sitemap, который обновляется периодически, IndexNow позволяет отправлять URL напрямую, экономя время и ресурсы.

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

Автоматическое обнаружение устаревших URL в WordPress

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

Например, чтобы получить URL удалённых постов с типом записи 'post' и статусом 'trash', можно использовать следующий код:

function indexnow_get_trashed_urls() {
    $args = [
        'post_type' => 'post',
        'post_status' => 'trash',
        'posts_per_page' => -1,
        'fields' => 'ids',
    ];
    $query = new WP_Query($args);
    $urls = [];
    foreach ($query->posts as $post_id) {
        $urls[] = get_permalink($post_id);
    }
    return $urls;
}

Такой подход поможет собрать список URL, которые были удалены и должны быть исключены из индекса.

Ещё один вариант — отслеживать изменения с помощью хуков WordPress, чтобы сразу после удаления поста отправлять URL на удаление в IndexNow.

Отправка запросов на удаление URL через IndexNow API

После того как список устаревших URL сформирован, нужно отправить их в IndexNow. Протокол предполагает POST-запрос с URL в формате JSON на адрес поисковой системы, например, Bing или Яндекса.

Пример функции для отправки URL в IndexNow:

function indexnow_send_urls_to_indexnow(array $urls, string $key, string $host) {
    $endpoint = 'https://ssl.bing.com/indexnow';
    $data = [
        'host' => $host,
        'key' => $key,
        'keyLocation' => "https://$host/key.txt",
        'urlList' => $urls,
    ];
    $args = [
        'body' => json_encode($data),
        'headers' => [
            'Content-Type' => 'application/json',
        ],
        'timeout' => 10,
    ];
    $response = wp_remote_post($endpoint, $args);
    if (is_wp_error($response)) {
        error_log('IndexNow send error: ' . $response->get_error_message());
        return false;
    }
    return wp_remote_retrieve_response_code($response) === 200;
}

Здесь параметр $key — это уникальный ключ IndexNow, а $host — домен сайта. Сначала нужно разместить файл ключа на сайте по адресу https://ваш_домен/key.txt.

Интеграция отправки удалённых URL с WordPress

Для автоматизации процесса удобно привязать отправку URL в IndexNow к событию удаления поста. Это можно сделать через хук wp_trash_post:

add_action('wp_trash_post', 'indexnow_send_deleted_url');
function indexnow_send_deleted_url($post_id) {
    $url = get_permalink($post_id);
    $key = 'ВАШ_КЛЮЧ_INDEXNOW';
    $host = $_SERVER['HTTP_HOST'];
    indexnow_send_urls_to_indexnow([$url], $key, $host);
}

Так при перемещении поста в корзину его URL автоматически отправится на удаление в индекс поисковой системы.

Если у вас большой сайт и удаляется много контента, лучше собирать URL в очередь и отправлять пакетами, чтобы не перегружать API. Здесь пригодится WP Cron или сторонние очереди задач.

Плагины для расширения возможностей IndexNow в WordPress

Для тех, кто не хочет писать код с нуля, есть плагины, которые помогут работать с IndexNow и удалением URL:

  • Clearfy Pro — расширенные настройки SEO и интеграция с IndexNow, включая автоматическое уведомление об удалении URL.
  • WPCommunity — плагин для управления сообществом с поддержкой IndexNow, удобно для сайтов с большим пользовательским контентом.

Выбор плагина зависит от специфики сайта и задач по SEO.

Рекомендации по безопасности и отладке

При работе с IndexNow важно:

  • Защитить файл ключа key.txt от несанкционированного изменения.
  • Логировать ошибки отправки запросов, чтобы вовремя выявлять проблемы.
  • Тестировать отправку на тестовых URL перед массовой отправкой.
  • Ограничивать частоту запросов, чтобы не получить блокировку от поисковых систем.

Для отладки удобно использовать стандартные функции WordPress error_log или плагины для логирования.

Заключение

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

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

⭐⭐⭐⭐⭐
Как удалить редиректы и ошибки 404 из индекса с помощью IndexNow в WordPress
04.12.2025
IndexNow автоматическая очистка кеша в WordPress: практическое руководство
24.01.2026
Как использовать IndexNow для удаления старых URL из WordPress
17.02.2026
Как добавить IndexNow в WordPress без плагинов: ручная интеграция и примеры кода
29.11.2025
IndexNow: как автоматически отправлять URL при импорте контента в WordPress
27.04.2026
×
WPShop
честная партнерка!

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

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