В недавнем обзоре 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 и Яндекс.Вебмастер для того, чтобы отслеживать, как поисковые системы обрабатывают карту вашего сайта.
yoast seo карту сайта уже не отключает, а делает редирект на новую, созданную им
Здравствуйте. Подскажите как сменить название карты сайта с wp-sitemap.xml на sitemap.xml Спасибо.
Попробуйте:
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;
}