Как отключить генерацию AI-контента в RSS и отдельных выводах WordPress

Сценарий типичный: контент генерируется через WPGPT или другой AI-плагин, но публиковать его везде сразу нельзя. В RSS он уходит в агрегаторы, в архивы попадает раньше модерации, а в виджетах и блоках на главной начинает смешиваться с вручную написанными материалами. В итоге редактор теряет контроль над тем, что именно видит пользователь и что индексируется поиском.

Ниже разберём, как точечно отключить AI-контент в RSS и отдельных выводах WordPress, не ломая остальной сайт. Подход полезен, если вы хотите оставить AI как инструмент подготовки черновиков, а не как источник мгновенной публикации.

Когда это действительно нужно

Не каждый AI-материал стоит прятать из RSS и общих списков. Но есть несколько рабочих сценариев, где это оправдано:

  • контент создаётся массово и проходит ручную проверку перед публикацией;
  • часть материалов генерируется для внутренней базы знаний, а не для публичной ленты;
  • нужно убрать из RSS черновики, которые автоматически переводятся в publish после генерации;
  • на главной и в архивах должны оставаться только отобранные редактором записи;
  • AI-посты используются как заготовки, но не должны попадать в сторонние агрегаторы через RSS.

Диагностика проблемы: где именно контент “утекает”

Сначала проверьте, откуда именно виден материал. В WordPress это не всегда только RSS. Один и тот же пост может попадать в несколько каналов одновременно:

  • /feed/ — основной RSS-канал сайта;
  • архивы рубрик и меток;
  • главная страница, если там выводятся последние записи;
  • виджеты и блоки последних постов;
  • REST API, если тема или плагин строят витрину через него.

Если AI-контент уже опубликован, откройте страницу записи и проверьте:

  • какой у неё статус — draft, pending или publish;
  • есть ли у записи отдельная рубрика или метка для AI-контента;
  • не используется ли в теме кастомный запрос, который выводит записи без фильтрации по рубрике;
  • не кэшируется ли RSS плагином кеширования или сервером.

Если у вас стоит WPGPT, удобнее сразу договориться о правилах: AI-материалы помечаются отдельной рубрикой, например ai-draft или ai-content. Это даст простой и проверяемый фильтр на уровне шаблонов и хуков.

Пошаговое решение: скрываем AI-посты из RSS и выборочных списков

Самый надёжный путь — не пытаться “угадать” AI-контент по тексту. Лучше использовать явный признак: рубрика, метка или пользовательское поле. Для практики ниже возьмём рубрику ai-content.

Шаг 1. Пометьте AI-материалы отдельной рубрикой

Это можно делать вручную или автоматически при создании через WPGPT. Главное — чтобы правило было стабильным. Тогда фильтрация станет прозрачной: всё, что в этой рубрике, не попадает в RSS и в отдельные списки.

Шаг 2. Исключите рубрику из RSS

Для RSS удобно использовать фильтр pre_get_posts. Он работает на основном запросе и позволяет убрать нужную рубрику только из feed-вывода.

<?php
add_action( 'pre_get_posts', function( $query ) {
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }

    if ( $query->is_feed() ) {
        $tax_query = (array) $query->get( 'tax_query' );

        $tax_query[] = array(
            'taxonomy' => 'category',
            'field'    => 'slug',
            'terms'    => array( 'ai-content' ),
            'operator' => 'NOT IN',
        );

        $query->set( 'tax_query', $tax_query );
    }
} );

Если AI-контент у вас помечается не рубрикой, а меткой, замените taxonomy на post_tag. Логика останется той же.

Шаг 3. Уберите AI-посты из главной и архивных списков

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

<?php
add_action( 'pre_get_posts', function( $query ) {
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }

    if ( $query->is_home() || $query->is_archive() ) {
        $tax_query = (array) $query->get( 'tax_query' );

        $tax_query[] = array(
            'taxonomy' => 'category',
            'field'    => 'slug',
            'terms'    => array( 'ai-content' ),
            'operator' => 'NOT IN',
        );

        $query->set( 'tax_query', $tax_query );
    }
} );

Если у вас есть отдельная страница блога и кастомные архивы, проверьте, что тема использует основной запрос, а не собственный WP_Query. Иначе этот фильтр на неё не подействует.

Шаг 4. Если нужен более гибкий контроль — используйте метку в посте

Иногда рубрика занята под редакционную структуру, и выделять отдельную категорию неудобно. Тогда можно помечать AI-контент пользовательским полем, например _wpgpt_generated со значением 1, и фильтровать записи по meta_query.

<?php
add_action( 'pre_get_posts', function( $query ) {
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }

    if ( $query->is_feed() || $query->is_home() || $query->is_archive() ) {
        $meta_query = (array) $query->get( 'meta_query' );

        $meta_query[] = array(
            'key'     => '_wpgpt_generated',
            'compare' => 'NOT EXISTS',
        );

        $query->set( 'meta_query', $meta_query );
    }
} );

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

Сравнение подходов: рубрика, метка или отдельный плагин

ПодходПлюсыМинусыКогда брать
РубрикаПросто проверять, легко объяснить редакторуНе всегда удобно в сложной структуре сайтаЕсли AI-контент — отдельный поток
Пользовательское полеТочный контроль, не мешает структуре рубрикНужна дисциплина при генерацииЕсли AI помечается автоматически через WPGPT
Отдельный плагин фильтрацииМеньше кода в темеРиск лишней зависимости и конфликтовЕсли нужен интерфейс для редактора

На практике для большинства сайтов достаточно рубрики или метки. Отдельный плагин имеет смысл только если фильтрация должна настраиваться без разработчика.

Как проверить, что решение сработало

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

  1. Откройте /feed/ и убедитесь, что AI-постов там нет.
  2. Проверьте главную страницу и архив рубрики.
  3. Если есть отдельный блок последних записей, посмотрите, не использует ли он собственный запрос.
  4. Проверьте исходный код страницы или REST-ответ, если тема строит ленту через API.
  5. Очистите кеш плагина и серверный кеш, если они есть.

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

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

Фильтр повесили только на RSS, но забыли про архивы

В результате запись всё ещё видна на главной и в категориях. Если задача — скрыть AI-контент до проверки, фильтровать нужно не один канал, а все точки вывода, где он может появиться.

Используют is_feed() без проверки основного запроса

Это может задеть вторичные запросы темы или плагина. Всегда проверяйте is_main_query(), если не хотите случайно сломать блоки и виджеты.

Пытаются определять AI-контент по заголовку или тексту

Это ненадёжно. Любой текстовый признак легко меняется, а ложные срабатывания потом трудно отлавливать. Лучше использовать рубрику, метку или метаполе.

Не очищают кеш после изменения шаблона

Если на сайте включён кеш, старый RSS или архив может ещё какое-то время отдавать прежний результат. После правки шаблонов и хуков кеш нужно сбросить вручную.

Безопасность и производительность: что учесть заранее

Чем меньше магии в фильтрации, тем проще сопровождать сайт. Не перегружайте pre_get_posts сложными условиями и множественными meta_query, если можно обойтись одной рубрикой. Для больших сайтов это особенно важно: лишние мета-запросы могут быть тяжелее, чем таксономии.

Если вы используете WPGPT как основной инструмент генерации, полезно сразу договориться о техническом признаке AI-контента. Тогда редакторский процесс будет предсказуемым:

  • WPGPT создаёт черновик или запись с меткой;
  • редактор проверяет текст, заголовок и изображения;
  • после ручной проверки запись переводится в публичный статус;
  • до этого момента она не попадает в RSS и общие списки.

Такой подход снижает риск случайной публикации сырого материала и не требует сложной логики в теме.

Если нужен более удобный редакторский процесс

Когда AI-контента много, ручная разметка быстро начинает раздражать. В этом случае стоит выстроить процесс вокруг одного правила: WPGPT создаёт материал уже с нужной служебной меткой, а сайт по этой метке решает, где запись показывать. Это проще поддерживать, чем потом искать, почему конкретный пост попал в RSS.

Если вы уже используете инструменты WPShop, WPGPT здесь особенно уместен как генератор черновиков, а Clearfy Pro может помочь с общей технической чисткой сайта и контролем дублей. Но сам принцип фильтрации всё равно лучше держать в коде или в понятной настройке темы, а не полагаться на случайное поведение плагинов.

В итоге задача сводится не к “спрятать AI-контент вообще”, а к тому, чтобы он появлялся только там, где вы его действительно готовы показывать. Для редакции это означает меньше случайных публикаций, а для разработчика — предсказуемую логику без лишних костылей.

Как отложить индексацию AI-контента в WordPress через noindex и WPGPT
06.09.2026
Как настроить отложенную публикацию AI-контента в WordPress через Cron и WPGPT
22.09.2026
Как отловить и убрать 404 на изображениях в WordPress
18.09.2026
Как убрать дубли страниц из XML sitemap в WordPress
12.09.2026
Как убрать дубли страниц авторов и архивов в WordPress через canonical и noindex
03.09.2026