Исправляем ошибку OpenGraph «префикс article неизвестен валидатору»
Некоторые вещи не влияя на общее функционирование сайта вымораживают своим наличием. Это относиться и к такому заявлению валидатора Яндекса «ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix».
Данная ошибка появляется, если в плагине Yoast SEO включить поддержку OpenGraph. Причем в Гугле все нормально, а вот Яндекс выдает такую ошибку. Эта ошибка никак не влияет ни на формирование сниппета, ни на общее продвижение, но раздражает.
Так поковыряв немного плагин Yoast SEO написал решение, которое исправляет эту ошибку. Решение элементарное, как валенок. Надо в тег html
просто добавить нужный префикс
prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile# fb: http://ogp.me/ns/fb#"
Но если просто так вставить. то ничего не выйдет, не позволит сам плагин. Потому будем применять штатные фильтры WordPress. В итоге получаем такую функцию
function artabr_opengraph_fix_yandex($lang) { $lang_prefix = 'prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile# fb: http://ogp.me/ns/fb#"'; $lang_fix = preg_replace('!prefix="(.*?)"!si', $lang_prefix, $lang); return $lang_fix; } add_filter( 'language_attributes', 'artabr_opengraph_fix_yandex',20,1);
Данную функцию надо добавить в файл functions.php
и все, ошибка исчезнет…
Если есть вопросы задавайте в комментариях. Всегда рад помочь.
Всегда ваш, Артем.