wpcontent.ru wordpress wpcontent.ru

Как отключить XML sitemap в WordPress и оставить только нужные карты сайта

Встроенная XML-карта сайта в WordPress удобна, пока сайт не начинает жить по своим правилам: отдельный SEO-плагин уже генерирует sitemap, в индексе всплывают служебные архивы, а в /wp-sitemap.xml поисковик видит лишние URL. В такой ситуации лучше не «ломать всё подряд», а аккуратно убрать именно встроенную карту WordPress и оставить один понятный источник sitemap.

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

Когда встроенная sitemap в WordPress действительно мешает

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

  • в robots.txt или в Search Console указаны сразу две sitemap;
  • /wp-sitemap.xml открывается, хотя вы используете Yoast SEO, Rank Math или другой SEO-плагин;
  • в карте сайта есть архивы авторов, дат, вложений, которые не нужны для индексации;
  • после обновления WordPress поисковик начал видеть новые служебные URL.

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

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

Сначала проверьте, кто генерирует sitemap. Это можно сделать без доступа к серверу, просто открыв несколько адресов:

  • /wp-sitemap.xml — встроенная карта WordPress;
  • /sitemap_index.xml — часто используется Yoast SEO;
  • /sitemap.xml — нередко встречается у других плагинов;
  • /robots.txt — там часто прописан основной адрес sitemap.

Если вы видите, что /wp-sitemap.xml доступен, а SEO-плагин уже генерирует свою карту, это и есть кандидат на отключение.

Полезно проверить ответ сервера через curl:

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

Если в ответе 200 OK, встроенная карта активна. Если 404 или 410, значит она уже отключена или перехвачена другим правилом.

Как отключить встроенную XML sitemap в WordPress

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

Вариант 1: через functions.php темы или mu-plugin

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

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

После этого WordPress перестанет отдавать встроенную sitemap по адресу /wp-sitemap.xml.

Вариант 2: через mu-plugin

Это более практичный вариант для боевого сайта. Создайте файл, например wp-content/mu-plugins/disable-wp-sitemap.php:

<?php
/**
 * Plugin Name: Disable WP Sitemap
 */
add_filter( 'wp_sitemaps_enabled', '__return_false' );

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

Если нужен не полный отказ, а только отключение отдельных разделов

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

<?php
add_filter( 'wp_sitemaps_add_provider', function( $provider, $name ) {
	$disabled = array( 'users', 'posts' );

	if ( in_array( $name, $disabled, true ) ) {
		return false;
	}

	return $provider;
}, 10, 2 );

Но здесь важно не путать провайдеры и типы контента. Если вы не уверены, какие именно разделы у вас отдает ядро, сначала откройте /wp-sitemap.xml и посмотрите структуру. У разных конфигураций набор может отличаться.

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

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

Пошаговая проверка после внедрения

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

  1. Откройте /wp-sitemap.xml в браузере — он должен вернуть ошибку 404 или пустую страницу, если вы специально так настроили сервер.
  2. Проверьте заголовки ответа через curl -I и убедитесь, что адрес больше не отдает 200 OK.
  3. Откройте основную sitemap вашего SEO-плагина и убедитесь, что она доступна.
  4. Посмотрите robots.txt: там должен остаться только один актуальный адрес sitemap.
  5. В Search Console отправьте на проверку именно ту карту сайта, которую вы хотите использовать дальше.

Если у вас есть кэш на уровне сервера или CDN, очистите его. Иначе старый /wp-sitemap.xml может еще какое-то время отдаваться из кеша, и вы решите, что фильтр не сработал.

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

Отключили sitemap, но в индексе остались старые URL

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

Сломали sitemap SEO-плагина

Частая причина — отключили не только встроенную карту WordPress, но и генерацию в плагине, а потом забыли оставить альтернативу. В итоге в robots.txt есть ссылка на несуществующий XML-файл. Проверьте, какой именно плагин должен быть источником sitemap, и оставьте только его.

Добавили код в родительскую тему

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

Путают отключение sitemap с запретом индексации

Это разные вещи. Sitemap — это карта для поисковика. Запрет индексации управляется мета-тегами, robots.txt и настройками SEO-плагина. Если задача именно убрать лишнюю карту, не надо трогать индексацию всего сайта.

Что еще стоит проверить рядом с sitemap

Если вы уже наводите порядок в технической SEO-части, проверьте соседние настройки:

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

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

Как понять, что решение сработало

Результат считается нормальным, если выполняются все условия:

  • /wp-sitemap.xml больше не отдает активную XML-карту;
  • в Search Console осталась только одна актуальная sitemap;
  • в robots.txt указан один источник карты сайта;
  • SEO-плагин продолжает отдавать свою карту без ошибок;
  • в логах и отчетах нет всплеска 404 по старому адресу sitemap.

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

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше