Автоматизация управления noindex для страниц товаров WooCommerce с YoastSEO

Почему важно управлять noindex на страницах товаров WooCommerce

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

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

Диагностика: как определить, какие страницы товаров нужно закрыть от индексации

  • Определите товары с низкой посещаемостью и продажами через Google Analytics и WooCommerce отчёты.
  • Выявите товары с нулевым остатком на складе и длительным отсутствием продаж.
  • Проверьте наличие дублирующего контента на страницах товаров (вариации, похожие описания).

Для диагностики можно использовать следующий запрос SQL для списка товаров с нулевым остатком:

SELECT p.ID, p.post_title, pm.meta_value AS stock_quantity
FROM wp_posts p
JOIN wp_postmeta pm ON p.ID = pm.post_id
WHERE p.post_type = 'product'
  AND pm.meta_key = '_stock'
  AND pm.meta_value = '0'

Пошаговое решение: автоматизация установки noindex для товаров с нулевым остатком

1. Используем фильтр YoastSEO для добавления noindex программно

YoastSEO позволяет изменять метатег robots через фильтр wpseo_robots. Добавим функцию в functions.php темы или в собственный плагин:

add_filter('wpseo_robots', 'add_noindex_for_out_of_stock_products');
function add_noindex_for_out_of_stock_products($robots) {
    if (is_singular('product')) {
        global $post;
        $stock = get_post_meta($post->ID, '_stock', true);
        $stock_status = get_post_meta($post->ID, '_stock_status', true);
        if ($stock_status === 'outofstock' || intval($stock) === 0) {
            // Добавляем noindex, но оставляем follow
            $robots = 'noindex,follow';
        }
    }
    return $robots;
}

2. Дополнительно: исключаем такие товары из Sitemap YoastSEO

Чтобы YoastSEO не включал эти страницы в XML-карту сайта, используем фильтр wpseo_sitemap_entry:

add_filter('wpseo_sitemap_entry', 'exclude_out_of_stock_products_from_sitemap', 10, 3);
function exclude_out_of_stock_products_from_sitemap($url, $type, $post) {
    if ($type === 'post' && $post->post_type === 'product') {
        $stock_status = get_post_meta($post->ID, '_stock_status', true);
        if ($stock_status === 'outofstock') {
            return false; // исключаем из карты
        }
    }
    return $url;
}

Проверка результата после внедрения

  • Откройте страницу товара с нулевым остатком и проверьте в исходном коде наличие метатега <meta name="robots" content="noindex,follow">.
  • Проверьте XML Sitemap YoastSEO по адресу /sitemap_index.xml и убедитесь, что товар с отсутствием на складе не отображается.
  • Используйте инструмент Google Search Console — «Проверка URL», чтобы убедиться, что страницы с noindex не индексируются.

Частые ошибки и как их исправить

  • Ошибка: noindex не добавляется на страницы товаров.
    Причина: кеширование страниц или плагин кэширования, который не обновил страницу после внесения изменений.
    Решение: очистите кеш сайта и браузера, временно отключите плагины кэширования.
  • Ошибка: страницы с noindex всё равно отображаются в Sitemap.
    Причина: фильтр wpseo_sitemap_entry неправильно реализован или приоритет слишком низкий.
    Решение: установите приоритет фильтра 10 и проверьте логику условий.
  • Ошибка: noindex применяется ко всем товарам без исключения.
    Причина: неверная логика проверки статуса наличия.
    Решение: проверяйте оба метаполя _stock_status и _stock, чтобы избежать ложных срабатываний.

Практические советы по безопасности и производительности

  • Добавляйте код в дочернюю тему или в кастомный плагин, чтобы избежать потери изменений при обновлении темы.
  • Оптимизируйте запросы метаполей, чтобы не создавать лишних нагрузок на базу данных.
  • Тестируйте изменения на staging-сайте перед применением на рабочем сайте.
  • Используйте Clearfy Pro для дополнительной оптимизации SEO и удаления дублирующего контента — это поможет вместе с YoastSEO лучше управлять индексацией.

Чек-лист для автоматизации noindex в WooCommerce с YoastSEO

  • Выявить товары с нулевым остатком и устаревшие товары.
  • Добавить фильтр wpseo_robots для установки noindex.
  • Исключить товары из Sitemap через фильтр wpseo_sitemap_entry.
  • Очистить кеш после внедрения кода.
  • Проверить метатеги на страницах товаров.
  • Проверить XML Sitemap на исключение товаров.
  • Проверить индексацию в Google Search Console.
  • Использовать инструменты аналитики для мониторинга трафика на страницы товаров.

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

⭐⭐⭐⭐⭐
Как удалить или изменить meta robots для отдельных страниц в WordPress с помощью YoastSEO
20.03.2026
Как сделать автоматический alt для изображений в WordPress с помощью YoastSEO
13.03.2026
Оптимизация файла robots.txt для WooCommerce с YoastSEO: настройка и проверка
10.07.2026
Как использовать метаданные для улучшения SEO в WordPress
18.12.2025
Как избежать проблем с массовыми редиректами в YoastSEO для WooCommerce
07.07.2026
×
Сделай свой сайт крутым!

Скидка -20% на премиум плагины WordPress

Выбрать плагин сейчас ⋙