Баги, ошибки

Ошибки Яндекс с XML Sitemap Yoast SEO

При анализе сайтов в Яндекс.Вебмастере который раз получаем вот такое предупреждение:

Предупреждение Яндекс об ошбиках в XML sitemap

При этом при детальном рассмотрении ошибка становится просто предупреждением, не влияющим на индексацию:

Ошибки Яндекс с XML Sitemap Yoast SEO

Ситуация проясняется, Яндекс не понимает дополнение image, которое присутствует в XML Sitemap.

Лирическое отступление. Вообще-то это обычный косяк Яндекса! Само слово XML (eXtensible Markup Language — расширяемый язык разметки) изначально предполагает любые и произвольные расширения в разметке, при условии, что они делаются в другом пространстве имен. Однако разработчики Яндекса о пространствах имен XML имеют такое же представление, как слушательницы хореографических курсов о мелиорации Узбекистана.

На большинстве наших сайтов XML Sitemap генерируется плагином Yoast SEO, который решает наши задачи более чем полно, и менять его из-за тупой ошибки обработки Яндекса нам не хотелось бы. Поэтому мы попытались найти иное решение.

И решение было найдено. Yoast SEO, как и большая часть плагинов и дополнений к WordPress сделан с учетом архитектуры WP, то есть использует хуки WordPress, что позволяет нам контролировать поведение плагина, не вмешиваясь в программный код (вот за что мы любим WordPress). Был найден фильтр wpseo_xml_sitemap_img_src, который отвечает за формирование URL изображения и мы на него повесили простой обработчик в functions.php:

// Уберем из карты сайта URL картинок
add_filter( 'wpseo_xml_sitemap_img_src', 'remove_image_url' );
function remove_image_url( $uri ) {
	return '';
}

Всё! Ссылок на изображения в XML Sitemap WordPress больше нет.

Update. Тут предложили еще более простое решение:

/* Remove Images From Yoast Sitemap */
add_filter( 'wpseo_xml_sitemap_img', '__return_false' );

 

Update 2. Написал небольшой плагин, который это делает. Получить его бесплатно можно здесь. Если не хотите возится с настройкой темы, просто установите и активируйте этот плагин.

Надеюсь, этот простой рецепт вам поможет.

Комментариев: 10
  1. Спасибо за Решение! недавно на своих сайтах тоже заметил такую же ошибку в вебмастере.

  2. Проверял на версии 3.7.1 Данное решение не работает, видимо что то поменялось в модуле.

  3. Здравствуйте! Подскажите, пожалуйста, в какую часть functions.php нужно вставить указанный выше код? Просто вписать его и все?

    1. Вот и славно! Вообще Вам интересны такие трюки с WordPress? Писать мне о них чаще?

    1. Нет, не делаем.

      1. Наличие или отсутствие картинок в карте сайта никоим образом не сказывается на их ранжировании. Максимум что, это лишняя гарантия их индексации, причем только в Google
      2. Яндекс вообще не понимает расширение XML карты сайта для картинок и считает это расширение ошибкой. Собственно об этом эта статья.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *