IndexNow автоматическая отправка URL для пользовательских таксономий WordPress

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

Почему важно отправлять URL пользовательских таксономий в IndexNow

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

Кроме того, таксономии могут меняться динамически — например, при добавлении новых терминов или изменении описаний. Автоматизация отправки URL по протоколу IndexNow для таких изменений помогает ускорить обновление индекса в поисковых системах, таких как Яндекс и Bing.

В итоге, вы обеспечиваете актуальность поисковой выдачи и улучшаете пользовательский опыт для посетителей.

Как реализовать автоматическую отправку URL пользовательских таксономий в WordPress с IndexNow

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

Основная идея — перехватывать события изменения таксономий (создание/обновление терминов) и отправлять соответствующие URL на сервер IndexNow.

Шаг 1: Получение URL терминов пользовательских таксономий

Для каждой пользовательской таксономии нужно получить URL терминов, используя функцию WordPress get_term_link(). Например:

function indexnow_su_get_custom_taxonomy_term_urls() {
    $urls = [];
    $taxonomies = get_taxonomies(['_builtin' => false], 'names'); // Получаем все кастомные таксономии

    foreach ($taxonomies as $taxonomy) {
        $terms = get_terms(['taxonomy' => $taxonomy, 'hide_empty' => false]);
        if (!empty($terms) && !is_wp_error($terms)) {
            foreach ($terms as $term) {
                $link = get_term_link($term);
                if (!is_wp_error($link)) {
                    $urls[] = $link;
                }
            }
        }
    }
    return $urls;
}

Эта функция собирает все URL терминов для всех пользовательских таксономий.

Шаг 2: Отправка URL в IndexNow

Далее нужно реализовать функцию отправки URL. Для примера возьмём простой запрос c использованием wp_remote_post:

function indexnow_su_send_urls_to_indexnow($urls) {
    $key = 'ВАШ_КЛЮЧ_INDEXNOW';
    $endpoint = 'https://api.indexnow.org/indexnow';

    $payload = [
        'host' => parse_url(home_url(), PHP_URL_HOST),
        'key' => $key,
        'keyLocation' => home_url('/indexnow_key.txt'),
        'urlList' => $urls
    ];

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

    if (is_wp_error($response)) {
        error_log('IndexNow: Ошибка отправки URL - ' . $response->get_error_message());
        return false;
    }

    return true;
}

Обратите внимание, что ключ и файл indexnow_key.txt должны быть заранее созданы и размещены в корне сайта согласно требованиям IndexNow.

Шаг 3: Автоматизация отправки при изменении таксономий

Чтобы отправлять URL автоматически, нужно повесить вызов отправки на соответствующие хуки WordPress, например, created_term и edited_term:

add_action('created_term', 'indexnow_su_send_taxonomy_url_on_change', 10, 3);
add_action('edited_term', 'indexnow_su_send_taxonomy_url_on_change', 10, 3);

function indexnow_su_send_taxonomy_url_on_change($term_id, $tt_id, $taxonomy) {
    if (taxonomy_exists($taxonomy) && !is_taxonomy_hierarchical($taxonomy)) {
        $term = get_term($term_id, $taxonomy);
        if (!is_wp_error($term)) {
            $url = get_term_link($term);
            if (!is_wp_error($url)) {
                indexnow_su_send_urls_to_indexnow([$url]);
            }
        }
    }
}

Этот код отлавливает создание и редактирование терминов и отправляет URL изменённой таксономии в IndexNow.

Дополнительные рекомендации по работе с IndexNow и таксономиями

1. Кэширование: Если у вас большой сайт с тысячами терминов, не стоит отправлять все URL при каждом изменении. Лучше реализовать очередь или пакетную отправку через Cron.

2. Отслеживание ошибок: Логируйте ответы сервера IndexNow, чтобы контролировать успешность отправки.

3. Фильтрация таксономий: Иногда полезно исключить из отправки технические или неиндексируемые таксономии, чтобы не расходовать лимиты.

Пример интеграции с плагином Clearfy Pro для управления таксономиями

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

Вывод

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

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

⭐⭐⭐⭐⭐
Как использовать IndexNow для удаления старых URL из WordPress
17.02.2026
IndexNow и WooCommerce: автоматизация отправки URL при массовых изменениях наличия товаров
25.05.2026
Как добавить IndexNow в WordPress без плагинов: ручная интеграция и примеры кода
29.11.2025
Как использовать Cron в WordPress для автоматизации задач
18.11.2025
Как работать с IndexNow в WordPress при использовании разных типов контента
27.01.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше