WordPress Notes WP24

Как отключить XML Sitemap в WordPress и не сломать индексацию

XML Sitemap в WordPress обычно полезен, но бывают сценарии, когда его нужно отключить: сайт переезжает, карта генерируется двумя источниками сразу, в индексе появляются лишние URL, а в Search Console начинают сыпаться ошибки по неактуальным страницам. Важно не просто выключить карту, а понять, кто именно её отдаёт и что будет вместо неё.

Когда отключение XML Sitemap действительно нужно

Чаще всего проблема не в самой карте сайта, а в конфликте между несколькими генераторами. Например, WordPress уже отдаёт /wp-sitemap.xml, а SEO-плагин добавляет свою карту с теми же типами записей. В итоге поисковик видит несколько источников, а вы — дубли в отчётах и лишнюю нагрузку на админку.

Отключение уместно, если:

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

Что не стоит делать

Не удаляйте sitemap «вслепую», если не понимаете, где он подключён. На практике это часто приводит к ситуации, когда /wp-sitemap.xml остаётся доступным, хотя SEO-плагин уже отключили, или наоборот — карта пропала, а в robots.txt осталась ссылка на несуществующий файл.

Диагностика: кто именно генерирует карту сайта

Сначала проверьте, какой URL реально отдаёт XML. Откройте в браузере:

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

Если страница открывается, значит встроенный генератор WordPress активен. Если вы используете Yoast SEO, Rank Math, All in One SEO или другой SEO-плагин, проверьте его собственный sitemap-URL в настройках плагина и сравните ответы сервера.

Полезно посмотреть заголовки ответа:

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

Если там 200 OK, карта доступна. Если 301 или 302, есть редирект, и это уже отдельная проблема. Если 404, карта отключена или URL переписан.

Ещё один практический тест — найти, не добавляет ли sitemap SEO-плагин в robots.txt. Иногда карта отключена в интерфейсе, но ссылка на неё всё ещё остаётся в robots, и это путает диагностику.

Как отключить встроенный XML Sitemap через код

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

<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );

Код можно добавить в functions.php дочерней темы или в небольшой mu-plugin, если настройка должна переживать смену темы. Для mu-plugin это даже лучше: карта не включится случайно после обновления шаблона.

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

<?php
add_filter( 'wp_sitemaps_post_types', function( $post_types ) {
    unset( $post_types['attachment'] );
    return $post_types;
} );

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

Это полезно, когда полное отключение не нужно, но карта должна стать чище и короче.

Как отключить sitemap в SEO-плагине

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

Если в плагине есть отдельный переключатель для постов, страниц, рубрик, тегов и медиа, не отключайте всё подряд. Сначала уберите только те типы, которые реально не должны попадать в поиск. Полное отключение имеет смысл только при конфликте генераторов или при временной остановке индексации.

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

Пошаговое решение без лишнего риска

  1. Определите, какой sitemap сейчас доступен: встроенный WordPress или плагин.
  2. Проверьте, нет ли второго источника карты в SEO-плагине.
  3. Отключите только один генератор, а не оба сразу.
  4. Обновите robots.txt, если там есть ссылка на старую карту.
  5. Проверьте ответ сервера и содержимое XML после изменений.

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

Сравнение подходов: плагин, код, временное отключение

СпособКогда подходитПлюсыМинусы
Настройки SEO-плагинаЕсли sitemap генерирует плагинБез кода, быстроЗависит от интерфейса и обновлений
Фильтр wp_sitemaps_enabledЕсли нужно отключить встроенный sitemap WordPressТочно и прозрачноНужен доступ к коду
Mu-pluginЕсли настройка должна быть постояннойНе зависит от темыНужно аккуратно поддерживать

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

После изменений проверьте три вещи: URL карты, ответ сервера и наличие ссылки в robots.txt. Это минимальный набор, который показывает, что отключение прошло корректно.

  • Откройте /wp-sitemap.xml и убедитесь, что он не отдаёт старую карту.
  • Проверьте curl -I и статус ответа.
  • Посмотрите исходный код robots.txt и убедитесь, что там нет ссылки на несуществующий sitemap.
  • Если используете Search Console, отправьте карту заново только после того, как убедились в корректности нового источника.

Если карта отключена намеренно, но поисковик всё ещё показывает её в отчётах, это не всегда ошибка. Иногда нужно время на повторное сканирование. Ошибка — когда карта уже удалена, а в robots.txt и настройках плагина остались старые ссылки.

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

Отключили карту в плагине, но /wp-sitemap.xml остался

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

Удалили sitemap, но robots.txt продолжает на него ссылаться

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

Отключили всё сразу и потеряли нормальную индексацию

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

Получили дубли XML

Проверьте, не активны ли одновременно WordPress sitemap и sitemap SEO-плагина. Это типичный конфликт после смены SEO-решения или миграции сайта.

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

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

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

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

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

×
Quizle
Получите больше лидов и увеличьте продажи!
-15%

на премиум плагин WordPress

Получить скидку ⋙