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

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

Когда это нужно и что именно отключать

Чаще всего задача выглядит так: на сайте есть кастомный тип записей для внутреннего каталога, отдельные страницы для служебных разделов или таксономии с пустыми архивами. В sitemap они не нужны, потому что:

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

Важно различать две задачи: убрать URL из sitemap и закрыть URL от индексации. Это не одно и то же. Если страница должна быть доступна пользователю, но не попадать в карту сайта, достаточно исключить её из sitemap. Если страница вообще не должна индексироваться, нужен отдельный контроль через noindex, robots.txt или логику шаблона.

Диагностика: где именно sitemap генерируется

Сначала проверьте, кто формирует карту сайта. В WordPress это может быть:

  • встроенный XML sitemap ядра;
  • SEO-плагин, который подменяет стандартную карту;
  • отдельный плагин для sitemap;
  • кастомный код в теме или mu-plugin.

Если открыть /wp-sitemap.xml, а там есть ссылки на лишние типы записей, значит работает встроенный механизм WordPress. Если URL карты другой, например из SEO-плагина, сначала ищите настройки именно там.

Быстрая проверка в браузере или через curl:

curl -I https://example.com/wp-sitemap.xml

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

Способ 1. Исключить тип записей из встроенного sitemap через код

У встроенного sitemap WordPress есть фильтр wp_sitemaps_post_types. Через него можно убрать конкретные типы записей из карты сайта, не трогая сами записи и их публичность.

add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
	unset( $post_types['portfolio'] );
	unset( $post_types['landing'] );

	return $post_types;
} );

В этом примере из sitemap исчезнут записи типов portfolio и landing. Названия должны совпадать с post_type, а не с ярлыком в админке.

Как убрать отдельные таксономии

Если проблема не в записях, а в рубриках или метках, используйте фильтр wp_sitemaps_taxonomies:

add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
	unset( $taxonomies['post_tag'] );
	unset( $taxonomies['product_cat'] );

	return $taxonomies;
} );

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

Способ 2. Настроить исключения в SEO-плагине

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

ПодходКогда подходитМинус
Настройки SEO-плагинаЕсли sitemap уже подменён плагиномНужно искать конкретный интерфейс и логику плагина
Фильтры WordPressЕсли используется встроенный sitemapТребуется код и контроль за обновлениями темы
robots.txtЕсли нужно только ограничить обходНе убирает URL из sitemap и не гарантирует исключение из индекса

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

Способ 3. Исключить отдельные записи, а не весь тип

Иногда тип записей нужен в sitemap, но несколько конкретных страниц — нет. Для встроенного sitemap WordPress это уже сложнее: стандартный механизм ориентирован на типы и таксономии, а не на выборочные ID. В таком случае обычно делают одно из двух:

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

Если задача точечная, не пытайтесь переписывать весь sitemap вручную. Это быстро превращается в поддержку собственного мини-плагина, который нужно сопровождать после каждого обновления WordPress.

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

После изменений проверьте не только сам XML, но и то, как сайт отдает карту в реальности.

  1. Откройте /wp-sitemap.xml в браузере.
  2. Проверьте, что исчезли нужные секции: типы записей, таксономии или отдельные URL.
  3. Посмотрите исходный код XML и убедитесь, что лишних ссылок больше нет.
  4. Проверьте HTTP-ответ через curl.
  5. Если sitemap кешируется, очистите кеш плагина, сервера и CDN.

Полезная проверка через командную строку:

curl -s https://example.com/wp-sitemap.xml | grep -E 'portfolio|landing|post_tag'

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

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

Меняют не тот sitemap

Частая ошибка — править фильтры WordPress, когда на сайте уже работает sitemap от SEO-плагина. В итоге код не влияет ни на что. Сначала определите источник карты сайта, потом вносите изменения.

Путают исключение из sitemap и noindex

Если URL убрали из sitemap, но оставили открытым и активно перелинкованным, он всё равно может попасть в индекс. Для служебных страниц этого часто недостаточно. Нужна связка: убрать из sitemap, ограничить внутренние ссылки и при необходимости добавить noindex.

Отключают весь тип записей без проверки зависимостей

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

Забывают про кеш

После правок sitemap может продолжать отдавать старую версию из кеша. Это особенно заметно на сайтах с серверным кешированием или CDN. Очистите кеш плагина, объектный кеш и edge-кеш, если он есть.

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

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

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

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

Что должно получиться в итоге

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

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

⭐⭐⭐⭐⭐
Как отключить XML sitemap для отдельных типов записей в WordPress
19.09.2026
Как запретить REST API для гостей в WordPress без поломки редактора и плагинов
15.09.2026
Как отключить pingback в WordPress без поломки комментариев и уведомлений
04.09.2026
Как отключить открытые XML-sitemap в WordPress и закрыть лишние карты сайта от индексации
30.08.2026
Как отключить XML-RPC в WordPress без поломки приложений и пингбеков
27.08.2026
×
Сделай WordPress мощнее!

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

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