Встроенная XML-карта сайта в WordPress полезна не всегда. На небольших проектах она обычно не мешает, но в реальных задачах часто возникает обратная ситуация: карта отдает URL, которые вы не хотите показывать поисковикам, дублирует данные из SEO-плагина или просто создает лишний шум в индексации. Если у вас уже есть sitemap от Yoast SEO, Rank Math или другого SEO-инструмента, встроенную карту WordPress лучше отключить, чтобы не держать два источника одной и той же структуры.
Ниже — рабочий способ отключить именно wp-sitemap.xml без плагина, с проверкой результата и типичными ошибками, из-за которых карта продолжает открываться.
Когда встроенная XML sitemap действительно мешает
Проблема обычно не в самой карте сайта, а в конфликте источников. WordPress с версии 5.5 умеет отдавать базовую XML sitemap из коробки. Если поверх этого стоит SEO-плагин, он часто генерирует собственную карту и ожидает, что именно она будет основной. В итоге в Search Console можно увидеть несколько sitemap, часть из которых не нужна для вашей схемы индексации.
Типичные сценарии
- SEO-плагин уже генерирует sitemap, а встроенная карта WordPress только дублирует URL.
- Нужно скрыть карту сайта от простого просмотра по
/wp-sitemap.xml, но оставить работу SEO-плагина. - На проекте есть кастомные типы записей, и вы хотите управлять индексированием централизованно, а не через два механизма сразу.
Диагностика: что именно открывается сейчас
Перед правкой проверьте, какая карта сайта реально доступна. Откройте в браузере https://example.com/wp-sitemap.xml. Если вы видите XML-страницу WordPress, значит встроенный генератор активен. Если там редирект, 404 или ответ SEO-плагина, сначала нужно понять, кто именно его подменяет.
Полезно также проверить заголовки ответа:
curl -I https://example.com/wp-sitemap.xmlЕсли сервер отдает 200 OK и XML, встроенная карта активна. Если вы уже используете sitemap от плагина, это и есть тот случай, когда отключение имеет смысл.
Как отключить встроенную sitemap кодом
Самый чистый вариант — добавить фильтр в functions.php дочерней темы или в небольшой mu-plugin. WordPress предоставляет фильтр wp_sitemaps_enabled, который отключает встроенную XML sitemap целиком.
<?php
add_filter( 'wp_sitemaps_enabled', '__return_false' );Если вы работаете в дочерней теме, этого достаточно. Но на практике лучше вынести правку в отдельный mu-plugin, чтобы она не потерялась при смене темы.
Вариант через mu-plugin
Создайте файл wp-content/mu-plugins/disable-wp-sitemap.php. Если папки mu-plugins нет, создайте её вручную.
<?php
/**
* Plugin Name: Disable WP Sitemap
* Description: Отключает встроенную XML sitemap WordPress.
*/
add_filter( 'wp_sitemaps_enabled', '__return_false' );После этого встроенная карта сайта перестанет генерироваться, но только если её не подменяет другой код или SEO-плагин.
Если нужен не полный запрет, а точечная настройка
Иногда отключать sitemap целиком не нужно. Например, вы хотите оставить карту для записей и страниц, но убрать служебные типы контента. Встроенный генератор WordPress не дает такой гибкости на уровне одного фильтра, поэтому в таких случаях обычно переходят на sitemap SEO-плагина или на собственную реализацию.
Если задача именно в том, чтобы убрать отдельные типы из встроенной карты, проще отключить её полностью и настроить нужную карту в SEO-плагине. Это предсказуемее, чем пытаться поддерживать два механизма одновременно.
| Подход | Когда подходит | Минус |
|---|---|---|
Фильтр wp_sitemaps_enabled | Нужно отключить встроенную карту целиком | Не дает тонкой настройки по типам |
| SEO-плагин со своей sitemap | Нужны исключения, отдельные карты, гибкое управление | Зависимость от плагина |
| Оставить обе карты | Почти никогда не нужно | Риск дублей и путаницы в индексации |
Проверка результата после внедрения
После добавления фильтра проверьте три вещи:
- Откройте
/wp-sitemap.xmlв браузере — страница не должна открываться как XML WordPress. - Проверьте ответ через
curl -I— не должно быть200 OKс XML-выводом от встроенного генератора. - Если у вас есть SEO-плагин, убедитесь, что его sitemap по-прежнему доступна и указана в
robots.txtили в настройках плагина.
Отдельно проверьте Search Console. Если карта уже была отправлена, Google не удалит её мгновенно, но после повторного обхода статус должен измениться. Важно не путать отключение генератора с мгновенным исчезновением URL из отчётов.
Частые ошибки и как их исправить
Фильтр добавили не туда
Если код вставлен в родительскую тему, он пропадет после обновления. Для такой настройки лучше использовать дочернюю тему или mu-plugin.
Отключили sitemap, но она все равно открывается
Значит, карту отдает не WordPress, а SEO-плагин или серверное правило. Проверьте, не включена ли sitemap в Yoast SEO, Rank Math или другом плагине. Иногда URL /sitemap_index.xml и /wp-sitemap.xml ведут на разные механизмы.
Сломали robots.txt или редиректы
Некоторые настройки кэш-плагинов и правил сервера могут переопределять ответ на /wp-sitemap.xml. Если после отключения карта продолжает открываться, очистите кэш страницы, объектный кэш и CDN.
Удалили sitemap, но забыли про альтернативную карту
Если SEO-плагин не настроен, вы можете случайно оставить сайт без актуальной sitemap. Это не критично для всех проектов, но для больших сайтов лучше заранее убедиться, что поисковик получает актуальный список URL из другого источника.
Чек-лист перед публикацией правки
- Проверен текущий URL
/wp-sitemap.xml. - Понятно, кто генерирует sitemap: WordPress или SEO-плагин.
- Код добавлен в mu-plugin или дочернюю тему.
- После правки очищен кэш сайта и CDN.
- В Search Console отправлена только нужная sitemap.
- Нет дублей между
wp-sitemap.xmlи sitemap SEO-плагина.
Безопасность и производительность
Отключение встроенной sitemap само по себе не ускоряет сайт заметно, но уменьшает путаницу в индексации и снижает риск того, что поисковик будет обходить лишний набор URL. С точки зрения безопасности это тоже нейтрально-полезная правка: меньше публичных технических точек входа, меньше шансов случайно светить служебные структуры.
Если у вас уже стоит SEO-плагин, не держите одновременно несколько генераторов sitemap без необходимости. Это не только лишняя нагрузка, но и источник ошибок, которые потом сложно отлавливать по логам и отчетам Search Console.
Если нужен более широкий набор технических правок — чистка дублей, управление мета-данными, отключение лишних элементов WordPress — такие задачи удобно закрывать одним инструментом, например Clearfy Pro: https://wpshop.ru/plugins/clearfy.
Главная проверка здесь простая: если /wp-sitemap.xml больше не отдает встроенную XML-структуру WordPress, а нужная sitemap при этом остается доступной, настройка выполнена правильно.