Новости

Как правильно применять в JavaScript асинхронные функции: примеры работы с ES 2017
От автора: возможность писать на JavaScript асинхронные функции является важным обновлением в ES2017. Что такое асинхронные функции? Асинхронные функции — это функции, которые возвращают promise. Мы

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

Как исправить JavaScript error "ВКонтакте"? Что делать при ошибках JavaScript в "ВКонтакте"?
"ВКонтакте" - это на сегодняшний день самый удобный русскоязычный ресурс, который является не только популярнейшей социальной сетью, но и сервисом для прослушивания аудиозаписей и просмотра видео. Здесь

Правильное использование Tor Browser
Tor Browser полностью анонимен – Миф или реальность? Многие считают, что Tor — это полностью анонимное и безопасное средство для интернет-серфинга, которое не дает никому возможность контролировать то,

Javascript error object is not a function вконтакте как исправить
"ВКонтакте" - это на сегодняшний день самый удобный русскоязычный ресурс, который является не только популярнейшей социальной сетью, но и сервисом для прослушивания аудиозаписей и просмотра видео. Здесь

Как исправить ошибку javascript error вконтакте
На сегодняшний день «Вконтакте» является наиболее удобным русскоязычным ресурсом, который представляет собой не только крупнейшую социальной сеть, но и сервис для просмотра видео и прослушивания аудиозаписей.

Что такое JavaScript и для чего он используется?
Подробности декабря 10, 2015 Просмотров: 20225 В интернете миллионы веб-страниц,

Практика javascript синтаксис написания
Javascript — это язык программирования, который активно используется для построения динамических веб страниц. Собственно с этой целью он и был изобретен. У нашего с вами языка еще есть такое интересное

JavaScript учебник
Код функций в JavaScript начинает выполнение после их вызова. Функции являются одним из наиболее важных строительных блоков кода в JavaScript. Функции состоят из набора команд и обычно выполняют

Рекомендации решившим начать изучать JavaScript
Если вы решили начать изучать JavaScript , то эта статья для вас. Надеюсь, что её прочтение избавит вас в будущем от множества ошибок и сделает его изучения более простым, быстрым и эффективным. В статье

Yoast SEO Неизвестный тег image:image в яндекс вебмастере

Опубликовано: 01.09.2018

видео Yoast SEO Неизвестный тег image:image в яндекс вебмастере

Исправляем фатальные SEO ошибки в Яндекс Вебмастере

У замечательного плагина для WordPress он называется SEO by Yoast или даже иногда WordPress-seo плагин, хороший самый известный и стал уже стандартом де факто в своей нише. Но как обычно у него нашелся один фатальный недостаток (известная шутка) но проблема связана не с плагином, а с Яндексом об этом далее и пойдет речь.



Сут поста описать следующем образом, зарегистрировавшись в сервисе для вебмастеров от яндекса — webmaster.yandex.ru появился один интересный инструмент который призван показать возможные проблемы в индексации сайта, он проверяет многие аспекты в том числе SitemapXML сайта и если у вас карта сайта создается при помощи плагина Yoast SEO то панель яндекс вебмастер в разделе «Возможные проблемы» выдаст что то типо это


Убираем ошибку в xml карте Неизвестный тег image:image

«В одном или нескольких файлах Sitemap обнаружены ошибки, которые могут повлиять на обработку файлов индексирующим роботом.»

Если посмотреть подробности выяснится что краулер Яндекса на способен распознать тег xml


Поисковая оптимизация сайта: Ищем дубли страниц

строка с ошибкой выглядит как то так

...image:image...

Конечно тег не совсем стандартный (язык XML предпологает возможность расширения синтаксиса) и консервативный бот Яндекс не воспринимает его как валидный, хотя он вполне валидный и Google его нормально воспринимает, поэтому авторы плагина не используя Яндекс (в их стране Яндекс не популярен) не видят проблемы в этом и ничего не исправляют.

Есть два сценария развития событий:

1. так как Яндекс оценивает это как «Возможные проблемы» и синтаксис xml как я выяснил не нарушен, то можно просто забить и ничего странного не произойдет, я сам так делал и ничего ужасного не случилось, Яндекс

не пессимизировал мои сайты из-за этого.

2. не менее хорошее решение — пытаться исправить ситуацию и убрать все проблемные для яндекса теги из SitemapXML, этот можно сделать например если вам не важно наличие в каком либо виде индексирование гуглом карты сайта вашего сайта именно с приложенными картинками.

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

Первых плох тем что там там предлагается хакнуть вендорный код плагина и огрести проблем при каждой обновлении плагина, которые выходят регулярно.

Второй использует немного странный код который создает экземпляр класса WPSEO_Sitemap_Timezone, уже наверное не должно сломаться но все же есть вероятность что код этого класса изменится в дальнейшим что предмет

к ошибкам к кате сайта которые будет трудно заметить.

По третей ссылки предлагается не использовать Yoast SEO для создания карты сайта, но мене он нравится не вижу смысла страдать если проблема не во мне а в Яндексе

Поэтому я решил написать свой код который бы удалил ненужный тег и при обновлении точно бы ничего не поломал, сделать я это решил при помощи одной регулярки, анонимной функции и фильтра который нашел в плагине Yoast SEO

&lt;?php /* * Plugin Name: Yoast SEO Helper * Plugin URI: https://alkoweb.ru/?p=1018 * Version: 1.0.0 * Author: petrozavodsky * Author URI: https://alkoweb.ru */ <?php add_filter( 'wpseo_sitemap_url', function ($output, $url) { $output = preg_replace("'<image:image[^>]*?>.*?</image:image>'si", '', $output); return $output; }, 10, 2 );

* Файл можно назвать yoast-seo-helper.php например это не важно .

Что происходит после генерации готового XML и прямо перед его выводом моя регулярка вырезает все что находится внутри тега включая сам тег, так же она вырежет тег не зависимо от наличия у него атрибутов (а вдруг) и уже после этого готовый код отдается клиенту.

Вставить этот сниппет я предлога в отдельный файл расположенный в каталоге wp-content/mu-plugins/ не вкоем случае не в function.php активной темы как это бывает, почему так я уже как то писал в этом блоге , если интересно можете почитать предыдущие посты или крайнем случае спросить в комментариях.

Есть ценное дополнение о том как проверить работает ли наш сниппет.

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

https://site.ru/post-sitemap1.xml

значит открываем его в приватной вкладке

view-source:https://brodude.ru/post-sitemap1.xml[.code]

ищем там такую строку image:image, для надежности искать можно воспользовавшись поиском браузера по содержимому нажав (ctrl+f) .

Если такой строки не нашлось значит у нас все получилось, нажимаем в вебмастере кнопку «проверить»

 

P.S.  как подсказали в комментариях есть способ проще    

add_filter( 'wpseo_xml_sitemap_img', '__return_false' );

UPD: Евгений в комментария пишет что первый вариант кода тоже имеет свои плюсы, думаю можно поверить ему на слово.

rss