Как отключить XML sitemap для ненужных типов записей в WordPress

Когда в XML sitemap попадают служебные записи, черновики, внутренние типы контента или таксономии без SEO-пользы, поисковику приходится тратить обход на мусорные URL. В WordPress это часто всплывает после установки SEO-плагина, подключения кастомного типа записей или миграции старого сайта, где карта сайта собирается “как есть”.

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

Когда sitemap нужно чистить

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

Типичные сценарии

  • в sitemap есть служебный CPT, который используется только внутри админки;
  • в карту сайта попадают архивы таксономий без контента и без поискового спроса;
  • в sitemap остаются старые типы записей после отключения плагина;
  • SEO-плагин генерирует отдельный sitemap для медиа, но изображения не нужны в выдаче;
  • на сайте есть контентные разделы, которые уже закрыты noindex, но продолжают попадать в sitemap.

Если сомневаетесь, смотрите не на название типа записи, а на его назначение: должен ли этот URL индексироваться и есть ли у него самостоятельная ценность в поиске.

Диагностика проблемы: что проверить до правок

Перед изменениями откройте текущую карту сайта и посмотрите, какие разделы она реально содержит. В WordPress чаще всего это XML sitemap, который отдаёт SEO-плагин. Если используется Yoast SEO, карта сайта обычно доступна по адресу /sitemap_index.xml. Если карта генерируется другим плагином, логика та же: нужно понять, какой именно источник добавляет лишние URL.

Проверьте три вещи:

  1. какой тип записей попал в sitemap;
  2. есть ли у него публичный архив и нужен ли он в поиске;
  3. не конфликтует ли карта сайта с noindex или robots.txt.

Важно: robots.txt не убирает URL из sitemap. Если страница уже попала в карту сайта, но вы закрыли её только в robots.txt, поисковик всё равно увидит этот URL в sitemap и может продолжать обходить его по другим сигналам.

Как отключить ненужный тип записей из XML sitemap

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

ПодходКогда использоватьПлюсыМинусы
Настройки SEO-плагинаЕсли тип записей уже виден в интерфейсе плагинаБез кода, быстроНе всегда есть доступ к нужному типу
Код в теме или мини-плагинеЕсли нужен точечный контрольПредсказуемо, можно версионироватьНужно аккуратно обновлять
Комбинированный вариантЕсли часть типов управляется плагином, часть — кодомГибкоЛегко запутаться без документации

Вариант 1: отключить тип записи через фильтр Yoast SEO

Если у вас Yoast SEO и нужно убрать конкретный post type из sitemap, можно использовать фильтр wpseo_sitemap_exclude_post_type. Это рабочий способ для точечной настройки.

<?php
add_filter( 'wpseo_sitemap_exclude_post_type', function( $exclude, $post_type ) {
    $exclude_types = array( 'internal_note', 'landing_temp' );

    if ( in_array( $post_type, $exclude_types, true ) ) {
        return true;
    }

    return $exclude;
}, 10, 2 );

Код лучше размещать в мини-плагине или в functions.php дочерней темы. Если тема обновляется часто, мини-плагин надёжнее: правка не потеряется.

Вариант 2: отключить отдельную таксономию

Если проблема не в типе записей, а в таксономии, используйте фильтр wpseo_sitemap_exclude_taxonomy. Это полезно, когда архивы тегов или служебных рубрик не должны появляться в карте сайта.

<?php
add_filter( 'wpseo_sitemap_exclude_taxonomy', function( $exclude, $taxonomy ) {
    $exclude_taxonomies = array( 'internal_tag', 'project_group' );

    if ( in_array( $taxonomy, $exclude_taxonomies, true ) ) {
        return true;
    }

    return $exclude;
}, 10, 2 );

Здесь важно не путать sitemap и индексацию. Если таксономия уже закрыта от индексации, но остаётся в sitemap, это повод либо убрать её из карты сайта, либо пересмотреть SEO-логику раздела.

Вариант 3: отключить sitemap для конкретного типа в настройках Yoast SEO

Если тип записи виден в интерфейсе Yoast SEO, проще сначала проверить настройки. В разделе SEO-данных для типа записей можно отключить его показ в поиске и отдельно проверить, не исключён ли он из XML sitemap. Интерфейс зависит от версии плагина, но логика одна: тип записи должен быть либо публичным и полезным, либо скрытым и не попадающим в карту сайта.

Если вы не уверены, что именно меняет интерфейс, после сохранения обязательно проверьте сам XML sitemap, а не только экран настроек.

Если sitemap генерирует не Yoast SEO

На части сайтов карта сайта идёт из другого плагина или из ядра WordPress. Тогда фильтры Yoast SEO не помогут. В этом случае сначала определите источник: посмотрите, какой URL отдаёт sitemap и какие плагины отвечают за SEO и XML-карты сайта.

Для встроенного sitemap WordPress логика отличается: он строится через core API, и отключать отдельные сущности нужно уже через фильтры ядра или настройку самого плагина, который его подменяет. Если у вас смешанная схема, не пытайтесь править всё одним фильтром — сначала найдите источник генерации.

Как быстро понять источник

  • если в URL есть sitemap_index.xml и структура похожа на SEO-плагин — проверьте настройки плагина;
  • если sitemap выглядит как набор wp-sitemap-posts-*.xml, это может быть встроенный механизм WordPress;
  • если карта сайта отдаётся отдельным плагином, ищите его собственные настройки исключения типов.

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

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

  1. Откройте /sitemap_index.xml или соответствующий sitemap-файл.
  2. Убедитесь, что нужный тип записей исчез из списка.
  3. Проверьте, что остальной sitemap остался на месте и не сломалась пагинация карт сайта.
  4. Если сайт крупный, выполните поиск по sitemap на наличие старого URL.

Дополнительно можно проверить HTTP-ответ через консоль:

curl -I https://example.com/sitemap_index.xml

В ответе должен быть 200 OK, а не редирект на ошибочную страницу. Если вы меняли правила кеширования, убедитесь, что sitemap не отдаётся из старой версии кеша.

Что смотреть в Search Console

Если сайт уже подключён к Google Search Console, после обновления sitemap проверьте, что в отчёте по картам сайта отправлена актуальная версия. Не ждите мгновенного пересчёта: поисковик обновляет данные не сразу. Но если в sitemap больше нет лишнего типа записей, это уже правильная база для дальнейшего обхода.

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

  • Отключили тип записи в sitemap, но оставили его индексируемым. Тогда URL всё ещё может попадать в поиск по другим сигналам. Проверьте мета robots и публичность архива.
  • Закрыли URL в robots.txt вместо удаления из sitemap. Это не решает проблему полностью. Лучше убрать источник URL из карты сайта.
  • Правили functions.php основной темы. После обновления изменения исчезнут. Используйте дочернюю тему или мини-плагин.
  • Проверили только главную страницу sitemap. Лишний тип может сидеть во вложенном sitemap-файле, а не в индексе.
  • Сделали правку, но не очистили кеш. На сайтах с кешированием sitemap может продолжать отдавать старую версию.

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

Не отключайте sitemap целиком, если сайт индексируется и у вас есть нормальный контент. Полное выключение карты сайта обычно усложняет обход, особенно если на сайте много новых страниц или нестандартная структура.

Не добавляйте в код жёсткие условия без списка типов записей и без комментария, зачем они исключены. Через полгода это превращается в неочевидную правку, которую легко сломать при рефакторинге.

Если на сайте много кастомных типов и таксономий, лучше вести короткую таблицу: что индексируется, что попадает в sitemap, что закрыто. Это экономит время при аудите и помогает не дублировать настройки в нескольких местах.

Короткий чек-лист перед публикацией правки

  • понятно, какой именно тип записей или таксономия лишние;
  • известен источник генерации sitemap;
  • правка сделана через плагин, дочернюю тему или мини-плагин;
  • проверен сам XML sitemap и вложенные файлы;
  • очищен кеш сайта и CDN, если он есть;
  • в Search Console отправлена актуальная карта сайта.

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

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

⭐⭐⭐⭐⭐
Как отключить архив авторов в WordPress без потери SEO и дублей
15.08.2026
Как закрыть от индексации страницы внутреннего поиска WordPress без поломки сайта
27.08.2026
Как отключить XML-RPC и pingback в WordPress без поломки нужных интеграций
06.09.2026
Как закрыть тонкие архивы товаров в WordPress через robots.txt и noindex без потери нужной индексации
21.08.2026
Как закрыть от индексации страницы авторов и таксономий в WordPress без robots.txt
30.08.2026
×
-15%
на премиум-тему
Reboot

Создай сайт мечты
на WordPress!

Купить со скидкой »