Как удалить из индекса WordPress старые изображения с помощью IndexNow

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

Что такое устаревшие изображения и почему важно удалить их из индекса

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

  • Могут создавать дублирующий контент и снижать релевантность сайта.
  • Занимают лишний трафик при загрузке и увеличивают время сканирования.
  • Отнимают место на хостинге и усложняют управление медиа.

Удаление их из индекса помогает поддерживать чистоту сайта и улучшать SEO показатели.

Использование IndexNow для уведомления поисковиков об удалении изображений

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

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

Как сформировать запрос на удаление URL изображения через IndexNow

Формат запроса основан на отправке POST-запроса на URL поисковой системы с массивом URL, которые нужно удалить. Пример тела запроса JSON:

{
  "host": "https://example.com",
  "key": "ваш_ключ_IndexNow",
  "urlList": ["https://example.com/wp-content/uploads/2023/01/old-image.jpg"]
}

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

Автоматизация удаления устаревших изображений в WordPress с помощью IndexNow

Для интеграции отправки уведомлений в WordPress можно использовать хук, который срабатывает при удалении медиафайла. Ниже пример функции, которая отправляет URL удалённого изображения в IndexNow:

function indexnowsu_send_image_delete_indexnow($post_id) {
    $post = get_post($post_id);
    if ($post->post_type !== 'attachment') {
        return;
    }

    $image_url = wp_get_attachment_url($post_id);
    if (!$image_url) {
        return;
    }

    $indexnow_key = 'ваш_ключ_IndexNow';
    $host = get_site_url();
    $endpoint = 'https://api.indexnow.org/indexnow';

    $payload = json_encode([
        'host' => $host,
        'key' => $indexnow_key,
        'urlList' => [$image_url]
    ]);

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

    if (is_wp_error($response)) {
        error_log('IndexNow: ошибка отправки удаления изображения - ' . $response->get_error_message());
    }
}
add_action('delete_attachment', 'indexnowsu_send_image_delete_indexnow');

Эта функция срабатывает при удалении любого вложения (изображения) и отправляет запрос на удаление URL в IndexNow.

Расширение: удаление неиспользуемых изображений из медиатеки

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

  • Получаем список всех вложений через get_posts(['post_type' => 'attachment', 'numberposts' => -1]).
  • Проверяем, используются ли они в записях или страницах (поиск по контенту).
  • Удаляем неиспользуемые через wp_delete_attachment() и отправляем IndexNow уведомление.

Пример упрощённой функции для поиска неиспользуемых медиафайлов:

function indexnowsu_cleanup_unused_images() {
    $attachments = get_posts([
        'post_type' => 'attachment',
        'numberposts' => -1,
    ]);

    foreach ($attachments as $attachment) {
        $url = wp_get_attachment_url($attachment->ID);
        $content_found = false;

        // Поиск использования в постах
        $posts = get_posts(['s' => basename($url), 'numberposts' => 1]);
        if ($posts) {
            $content_found = true;
        }

        if (!$content_found) {
            wp_delete_attachment($attachment->ID, true);
            // Здесь можно вызвать функцию отправки IndexNow удаления
            indexnowsu_send_image_delete_indexnow($attachment->ID);
        }
    }
}

Для автоматизации можно запускать такую функцию с помощью WP-Cron или системного cron.

Рекомендации по работе с IndexNow и изображениями

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

Пример интеграции с WPShop плагином для SEO

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

Выводы

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

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

⭐⭐⭐⭐⭐
IndexNow: как автоматически удалять слуги с постоянным редиректом в WordPress и обновлять индекс
14.04.2026
Как сделать обновление метаданных WordPress без изменения контента
04.12.2025
IndexNow в WordPress: как использовать Webhook-и для автоматической отправки URL
20.03.2026
WordPress автоматическое удаление устаревших страниц из индекса с помощью IndexNow
07.11.2025
IndexNow и WooCommerce: автоматическая отправка URL при изменении цен товаров
02.05.2026
×
WPShop
честная партнерка!

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

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