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

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

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

Предупреждение Яндекс об ошбиках в 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. Написал небольшой плагин, который это делает. Получить его бесплатно можно здесь. Если не хотите возится с настройкой темы, просто установите и активируйте этот плагин.

Update 3. июль 2017. Исправил плагин, сейчас он отключает кэш карт сайта в SEO Yoast, и явно фильтрует по регулярным выражениям элементы, которые не нравятся Яндексу. Скачиваем свежую версию плагина.

Update 4. апрель 2019. Доработали плагин. Теперь он еще и правильно канонизирует пагинацию архивов. Подробности позже.

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

Стандартное изображение
Иван Никитин
Никитин Иван Геннадьевич окончил Северо-Кавказский Горно-Металлургический Институт, факультет электронной техники по специальности инженер промышленной электроники. Места и опыт работы СКГМИ, ФЭТ, преподаватель программирования Судебный департамент при Верховной Суде РФ, системный администратор Центр Компьютерного обучения "Специалист" при МГТУ им. Баумана, преподаватель, руководитель направления веб-технологий Центр Компьютерного обучения "Центр Мастеров", преподаватель Высшая школа корпоративного управления Российской академии народного хозяйства и государственной службы при Президенте Российской Федерации, преподаватель Интернет-агенство BinN, руководитель отдела поискового продвижения, аналитик Статусы и сертификации Microsoft Certified Solution Developer Microsoft Certified Trainer Zend Certified Engineer Google Advertising Professional Список читаемых курсов Разработка веб-приложений ASP.Net Разработка веб-приложений PHP Разработка веб-приложений AJAX (автор курса) Эффективная работа с Microsoft SharePoint (все версии, автор курса) Интернет-маркетинг и поисковое продвижение (автор курса) Google Analytics, полный курс (автор курса) Информационные технологии в бизнесе в рамках Executive MBA (автор курса)
Статей: 641

39 комментариев

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

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

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

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

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

  5. Спасибо, статья помогла, я вставила второй вариант кода. Ошибка на post убралась, но появилась или осталась ошибка page-sitemap.xml, вот как ее убрать?

    • Вы правы, судя по всему, в новой версии Yoast этот хук действует только на посты. Как его распространить на все типы записей — напишу чуть позже.

    • Нет, не думаю, что решит. Это просто вывод или его отключение карты сайта самих картинок и вложений, а не отключение их в постах. А у вас просто в постах прикрепленных картинок нет, вот и нет ошибок… Я думаю.

  6. Здравствуйте. Подскажите пожалуйста. Почему то в плагине yoаst seo нет строки HML sitemaps. Перерыл весь инет.. нет ответов. Яндекс пишет чтобы я ввел файл sitemap. Что теперь делать,не понимаю.. будет ли Яндекс искать мой сайт?… Спасибо за ответ

      • Здравствуйте. Извините ,не так написал вам. Нажимал на вопрос, далее— посмотреть Hml карту сайта. И, открывается пустая страница.. нет ничего.. Пробовал: вкл.выкл.. , перезагружал, бесполезно, . В чём может быть проблема, Можно ли другим путем отыскать Xml карту?

          • Здравствуйте. Отправил пароль вам на почту.. Спасибо!!!

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

%d такие блоггеры, как: