Как исключить несколько страниц из индексации WordPress с помощью YoastSEO

Диагностика задачи: зачем исключать страницы из индексации

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

YoastSEO позволяет гибко управлять индексацией через meta-теги robots. Задача — массово исключить из индексации несколько страниц без ручного редактирования каждой.

Как определить, какие страницы исключать

Для начала сформируйте список URL или ID страниц, которые хотите закрыть для индексации. Например:

  • Страницы с тестовым контентом (ID 101, 102, 103)
  • Страница политики конфиденциальности (slug privacy-policy)
  • Страницы с тегом «noindex» в пользовательском поле

Удобнее всего использовать ID или slug для программного определения.

Пошаговое решение: массовое добавление noindex для выбранных страниц в WordPress с YoastSEO

1. Использование фильтра wpseo_robots

YoastSEO предоставляет фильтр wpseo_robots, который позволяет динамически менять содержимое meta-тега robots перед выводом.

Добавьте в functions.php вашей темы или в отдельный плагин следующий код:

function exclude_pages_from_indexing( $robots ) {
    // Массив ID страниц для исключения
    $excluded_ids = array(101, 102, 103);
    // Массив slug страниц для исключения
    $excluded_slugs = array('privacy-policy');
    
    if ( is_page() ) {
        global $post;
        if ( in_array( $post->ID, $excluded_ids ) || in_array( $post->post_name, $excluded_slugs ) ) {
            // Добавляем noindex, nofollow
            return 'noindex, nofollow';
        }
    }
    return $robots;
}
add_filter( 'wpseo_robots', 'exclude_pages_from_indexing' );

Этот код проверяет, если текущая страница находится в списке исключений, то для неё выводится meta-robots с noindex, nofollow.

2. Управление через пользовательское поле

Если хотите управлять noindex с помощью кастомного поля (например, seo_noindex), можно расширить код:

function exclude_pages_by_custom_field( $robots ) {
    if ( is_singular() ) {
        global $post;
        $noindex = get_post_meta( $post->ID, 'seo_noindex', true );
        if ( $noindex === '1' ) {
            return 'noindex, nofollow';
        }
    }
    return $robots;
}
add_filter( 'wpseo_robots', 'exclude_pages_by_custom_field' );

Теперь достаточно поставить в нужных страницах пользовательское поле seo_noindex со значением 1.

Как проверить, что страницы реально исключены из индексации

  • Откройте исходный код страницы в браузере (Ctrl+U).
  • Найдите тег <meta name="robots" content="noindex, nofollow">.
  • Используйте инструменты Google Search Console: в разделе "Проверка URL" убедитесь, что страница имеет статус «запрещено для индексации».
  • Через команду в терминале curl -I https://example.com/page-url можно проверить HTTP-заголовки, но мета-тег выводится в HTML.

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

  • Ошибка: noindex не применяется, страницы всё равно индексируются.
    Причина: Кэширование сайта или плагина.
    Решение: Очистите кэш плагина (например, WP Super Cache, W3 Total Cache) и кэш браузера.
  • Ошибка: meta robots переопределяется другим плагином.
    Причина: Конфликт с другими SEO-плагинами или темами.
    Решение: Отключите другие плагины SEO, проверьте фильтры. Можно повысить приоритет фильтра YoastSEO:
    add_filter('wpseo_robots', 'exclude_pages_from_indexing', 20);
  • Ошибка: noindex применяется к нужным страницам, но ссылки на них продолжают появляться в sitemap.
    Причина: YoastSEO генерирует sitemap, включая данные страницы.
    Решение: В настройках YoastSEO отключите индексацию этих страниц или используйте фильтр wpseo_sitemap_exclude_post для исключения.

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

  • Не добавляйте тяжелую логику в фильтры, вызываемые на каждой странице — используйте кеширование результата, если список страниц большой.
  • При работе с пользовательскими полями оптимизируйте запросы, чтобы не нагружать базу.
  • Периодически проверяйте sitemap и индексирование в Google Search Console для своевременного обнаружения проблем.

Сравнение способов исключения страниц из индексации

МетодОписаниеПреимуществаНедостатки
Настройки YoastSEO (UI) Отдельно для каждой страницы через мета-бокс Просто, не требует кода Не масштабируемо для большого числа страниц
Фильтр wpseo_robots с ID/slug Программное управление через functions.php Гибко, масштабируемо Требует навыков разработки
Через пользовательское поле Управление через UI, но с программной логикой Легко добавлять без кода, гибко Нужно обеспечить правильное заполнение поля

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

⭐⭐⭐⭐⭐
Как оптимизировать структуру URL в WordPress для лучшего SEO
02.02.2026
Как использовать YoastSEO для автоматического управления хлебными крошками в WordPress
09.01.2026
Как удалить или изменить пагинацию rel=prev/next в WordPress с помощью YoastSEO
20.04.2026
Оптимизация переходящих канонических ссылок в WordPress с YoastSEO
25.02.2026
Оптимизация страниц категорий WooCommerce для Яндекса с помощью YoastSEO
12.05.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее