Как отключить wp-sitemap.xml в WordPress

Sitemap WordPressВ недавнем обзоре WordPress 5.5, который вышел буквально на днях, мы упомянули о добавленной в ядро CMS карте сайта. Функция, безусловно, полезная, но больше для новых проектов на WordPress. Что касается ранее созданных сайтов, то вряд ли они обходились без карты сайта. Если у вас уже есть заботливо составленная карта вашего сайта, возможно, вы захотите отключить wp-sitemap.xml, который теперь будет создавать WordPress.

Первым делом стоит сказать, что wp-sitemap.xml создаётся не всегда. Для его создания необходимо расширение для PHP SimpleXML. Если вы его не используете, то можете и не предпринимать дополнительных действий.

Держат нос по ветру и разработчики плагинов, с помощью которых в WordPress традиционно формируют карты сайтов. Например, разработчики плагина Yoast SEO внедрили функцию отключения wp-sitemap.xml. А вот в том же Google XML Sitemaps пока что о такой функции не заявлено.

Как бы то ни было, но новые функции CMS нуждаются в тестировании. Если вам пока не до того или нет желания, отключить wp-sitemap.xml можно, добавив в файл functions.php вашей темы следующую строку:

add_filter( 'wp_sitemaps_enabled', '__return_false' );

После этих манипуляций можно не бояться появления второй карты сайта.

Также я рекомендую использовать Google Searche Console и Яндекс.Вебмастер для того, чтобы отслеживать, как поисковые системы обрабатывают карту вашего сайта.

Комментарии: 3 к “Как отключить wp-sitemap.xml в WordPress”

  1. yoast seo карту сайта уже не отключает, а делает редирект на новую, созданную им

  2. Здравствуйте. Подскажите как сменить название карты сайта с wp-sitemap.xml на sitemap.xml Спасибо.

    1. Попробуйте:
      add_action( ‘init’, ‘add_new_url_main_sitemap’ );
      add_filter( ‘home_url’, ‘fix_wp_sitemap_url’, 11, 2 );

      # Добавляет правило с новым адресом карты сайта
      function add_new_url_main_sitemap() {
      add_rewrite_rule( ‘^sitemap\.xml$’, ‘index.php?sitemap=index’, ‘top’ );
      }

      # Заменяет URL с wp-sitemap.xml на sitemap.xml
      function fix_wp_sitemap_url( $url, $path ) {

      if ( ‘/wp-sitemap.xml’ === $path ) {
      return str_replace( ‘/wp-sitemap.xml’, ‘/sitemap.xml’, $url );
      }

      return $url;
      }

Добавить комментарий для Артём Отменить ответ

Ваш адрес email не будет опубликован.