wpmake.ru wordpress WPMake

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

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

Когда проблема действительно в sitemap

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

Что смотреть в первую очередь

  • Откройте /wp-sitemap.xml или sitemap от SEO-плагина.
  • Проверьте, есть ли там служебные записи, черновики, тестовые CPT, архивы авторов или дат.
  • Сравните, совпадает ли проблема с реальной индексацией в Google Search Console или Яндекс.Вебмастере.
  • Убедитесь, что URL не закрыт только через noindex, но всё равно продолжает попадать в sitemap.

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

Какие есть способы убрать тип записей из XML sitemap

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

СпособКогда подходитМинус
Настройки SEO-плагинаЕсли sitemap генерирует Yoast, Rank Math или аналогЗависимость от интерфейса и версии плагина
Фильтры WordPressЕсли нужен точечный контроль на уровне кодаНужно аккуратно тестировать после обновлений
Отключение sitemap целикомРедко, только при внешней генерации карты сайтаЛегко сломать индексацию важных URL

Решение через код: убрать отдельный тип записей из нативного sitemap

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

<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
    // Убираем служебный CPT из sitemap.
    unset( $post_types['internal_note'] );

    // Можно убрать и стандартные записи, если это действительно нужно.
    // unset( $post_types['post'] );

    return $post_types;
} );

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

Если нужно убрать таксономию

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

<?php
add_filter( 'wp_sitemaps_taxonomies', function( $taxonomies ) {
    unset( $taxonomies['post_tag'] );
    unset( $taxonomies['internal_group'] );

    return $taxonomies;
} );

Не убирайте таксономию только потому, что она кажется «лишней». Если архив реально приносит трафик и нормально оптимизирован, его лучше оставить.

Если sitemap генерирует SEO-плагин

У Yoast, Rank Math и похожих плагинов логика своя, и фильтры WordPress на них напрямую не влияют. В этом случае правильный путь — отключить нужный тип контента в настройках самого плагина. Обычно это делается в разделе индексации контента или sitemap settings.

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

Пошагово: как внедрить без сюрпризов

  1. Определите, кто именно генерирует sitemap: ядро WordPress или SEO-плагин.
  2. Составьте список URL, которые не должны попадать в карту сайта.
  3. Выберите точечный фильтр для пост-типов или таксономий.
  4. Добавьте код в дочернюю тему или отдельный мини-плагин.
  5. Очистите кеш сайта, если он есть.
  6. Проверьте итоговый sitemap в браузере и через инструмент для проверки URL.

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

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

  • Откройте /wp-sitemap-posts.xml или соответствующий sitemap плагина.
  • Убедитесь, что нужный тип записей исчез из списка.
  • Проверьте, что остальные важные URL остались на месте.
  • Посмотрите исходный XML и убедитесь, что в нём нет старых ссылок из кеша.
  • Если сайт уже сканировался, проверьте отчёты поисковой консоли через несколько дней после обновления.

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

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

Отключили не тот источник sitemap

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

Убрали тип записей, но забыли про старые URL

Если страницы уже были в индексе, одного удаления из sitemap мало. Иногда нужен noindex, редирект или удаление через инструменты вебмастера, если URL больше не должен существовать.

Правили файл темы напрямую

После обновления темы изменения исчезнут. Для таких задач лучше использовать дочернюю тему или отдельный плагин с минимальным кодом.

Сломали sitemap из-за синтаксической ошибки

Одна лишняя запятая или неверный unset() может уронить генерацию XML. После правки всегда открывайте sitemap в браузере и смотрите, нет ли белой страницы или ошибки PHP.

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

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

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

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

Если вам нужен более широкий технический аудит индексации, чистки дублей и служебных страниц, в экосистеме WPShop есть Clearfy Pro — но использовать его стоит только как инструмент, а не как замену понимания того, что именно вы закрываете от индексации. Ссылка: https://wpshop.ru/plugins/clearfy

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

×
Прокачай свой WordPress!

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

Воспользоваться сейчас ⋙