Микроразметка – Яндекс валидатор нашел “ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix”
Здравствуйте, уважаемые друзья и гости блога! Сегодня пойдет разговор серьезный, как Вы уже наверное догадались по заголовку статьи?! Ведь Яндекс валидатор не любит шутить и ему очень трудно угодить, но мы сегодня с вами постараемся это сделать и у нас все получится на 100% – Я вам обещаю!
Микроразметка как в Яндекс, так и в Гугл очень серьезная и важная вещь. Потому, что если не учитывать все замечания валидаторов Google и Яндекса, то ваш сайт никогда не поднимется в поисковой выдаче, а так и будет на задворках плестись в хвосте у тех, кто наиболее трепетно и с любовью относится к требованиям поисковых систем.
Вот и давайте поговорим о том, как нам преодолеть все трудности и исправить вот такую хитрую и часто встречающуюся у всех практически вебмастеров погрешность в микроразметке Яндекса – ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix!
И так, приступим к исправлению данного казуса в микроразметке сайта …
ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix – ИСПРАВЛЯЕМ!
Микроразметка что это?
Микроразметка сайта – это специальная разметка сайта для поисковых роботов, которая использует определенные атрибуты и теги. Они помогают поисковым роботам ориентироваться на вашем сайте. Робот ведь это же не человек, а машина и у него свои методы определять где на сайте записи, где картинки и так далее.
Вот в двух словах о том, что такое микроразметка и для чего она нужна на сайте.
Раньше, когда я только увлекся сайтостроением, а затем стал блоггером, я не придавал особого значения вопросам поисковой оптимизации сайта. Но теперь я понял, что микроразметка очень важна для поисковой оптимизации сайта и если она хромает, то срочно нужно ее исправлять!
Вы можете проверить свой сайт на наличие микроразметки в таких популярных валидаторах, как Яндекс валидатор микроразметки и Гугл валидатор микроразметки для сайта.
После проверки Вы с точностью на 100% будете знать, есть ли она у Вас на сайте и правильно ли она создана!
Когда я только начал заниматься вопросом микроразметки на своих сайтах, мне приходилось лопатить очень много материала по этому вопросу в интернете. И мне стало интересно! Люди, которые написали кучу статей про микроразметку и пытаются в них учить уму-разуму других, а статей по поводу внедрения на сайте микроразметки я нашел в интернете множество и прочел их, они сами на своих ресурсах применили ее? И я стал ради спортивного интереса проверять их сайты на микроразметку. Что бы Вы думали? Большинство из проверенных мной сайтов были неправильно размечены и у них вылезали такие же ошибки, о которых они писали и учили других как нужно их исправлять! Абсурд!!!
Ну, не столь важно!
И все же не зря было мной потрачено уйма времени и сил, все же я научился правильно внедрять микроразметку на сайтах и примером может служить мой блог. Можете проверить его в валидаторах как Яндекс, так и Google, чтобы Вы смогли убедиться,что я не вру вам!
И вот теперь я имею полное право, с моей точки зрения, написать статью о микроразметке, а в частности об исправлении очень распространенной ошибке в микроразметке Яндекса …
ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix
Ну теперь о главном …
Данная ошибка возникает чаще у тех, кто использует плагин Yoast Seo в WordPress, коим и я являюсь. Поэтому наверное я и взялся за написание статьи об этой ошибке?!
И так, Вы проверили свой сайт в валидаторах Гугла и Яндекса. В Гугле вроде бы все впорядке и ни каких ошибок не найдено, а вот Яндекс выдает – ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix!
И как бы Вы не бились и что бы Вы не делали, ничего не выходит и эта злополучная ошибка опять и опять вылезает. Мало того, но и другие появляются после наших неправильных действий с внедрением микроразметки. Что делать? Как нам быть? Все оказывается до смешного просто!
При использовании плагина Yoast Seo на WordPress происходит один казус. При при настройке плагина Yoast Seo, а именно на вкладке “Социальные сети” в разделе “Facebook“. Вот скриншот на всякий случай:
Вы включаете, добавить метаданные OpenGraph в раздел <head>
вашего сайта. Facebook и другие социальные сети используют эти данные, когда делятся вашей страницей. Далее Вы добавляете ссылки на ваши социальные сети и так далее, если кому-то это нужно и интересно, настройка плагина Yoast Seo, то я об этом уже писал и Вы сможете прочесть в статье “Плагин Yoast SEO настройка и сео продвижение“, но сейчас не об этом.
После этих действий у Вас на сайте внедряется микроразметка плагином Yoast Seo, которую хорошо понимает Гугл валидатор, но не очень хорошо понимает Яндекс и выдает нам – ОШИБКА: префикс article неизвестен валидатору укажите его явно атрибутом prefix
Я долго бился, но все же нашел выход! И как всегда он был довольно простым и лежал на поверхности. Вот он!
Для Яндекса вам нужно всего лишь указать вот такой префикс, который вставляется в код вашей активной темы сайта в HTML файл header.php
prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile# fb: http://ogp.me/ns/fb#"
Возникает встречный вопрос – В какое место нужно вставить данный код? Показываю на примере своего сайта!
Вам нужно найти вот такой код (это мой кусок кода из файла header.php , он находится прямо вверху!):
<html <?php language_attributes(); ?> class=no-js> <!--<![endif]-->
У Вас он может немного отличаться, но это не столь важно. Просто найдите его. Затем нужно внедрить ранее предоставленный мной код префикса в этот HTML кусок кода. Смотрите сейчас я вам даю свой код, который уже исправлен:
<html <?php language_attributes(); ?> prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile# fb: http://ogp.me/ns/fb#" class=no-js> <!--<![endif]-->
Не трудно определить, куда вставлен префикс?! Просто сравните два кода и Вы сразу во всем разберетесь!
Теперь вставьте исправленный код на свое место в файл header.php вашей темы.
Но это еще не все!
Вот вам функция, которую Вы должны вставить в файл той же темы вашего сайта в файл function.php. Без этой функции ранее вставленный код микроразметки просто не будет работать. Вот эта функция:
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);
Вставьте ее в самом конце в файле function.php перед вот таким значком “?>“. Теперь все!
Обязательно сохранитесь и обновите кэш в админке сайта!
Пробуйте теперь свой сайт в валидаторе Яндекса на наличие микроразметки и ошибки. которую мы с вами исправляли. Ну, что? Вот и я о том же!
Благодарю Вас друзья за внимание и что посетили мой блог. Заходите еще. Очень буду вам рад!
А теперь, если вам понравился материал, то прошу Вас поделитесь им со своими друзьями и знакомыми в соцсетях и подпишитесь на обновления моего блога в форме ниже.
Спасибо вам!
Валерий, спасибо за статью. Попробовал, сделать как вы описали в статье, но… не нашел именно 1. таких кодов у себя куда именно вставлять.. и 2. во втором файле function.php я не нашел у себя в конце такого значка.. “?>” Поэтому рисковать и экспериментировать не стал. Я просто зашел в плагин и отключил соц сети.. И проверка валидатора в Яндекс не нашла ошибки=)) Хотя до этого проверка показала что именно та описанная выше в статье ошибка присутствовала.
Да Александр, эта ошибка именно из-за соцсетей, которые подключены в плагине. Но отключив и этот сервис, Вы не выигрываете, так как соцсети играют важную роль в seo. Так, что советую Вам еще раз покопаться в коде своего сайта. Удачи и спасибо, что следите за новостями на блоге!
Все понятно! Но возник один нюанс – в статьях и на главной все в порядке,
а вот на отдельных страницах блога эта ошибка остается:
“префикс article неизвестен валидатору, укажите его явно атрибутом prefix”
Не подскажешь – что еще можно сделать?
Здравствуйте, Grigoriy! Дело еще может быть в специфике вашей темы оформления. Многое зависит от ее верстки. Мой Вам совет, если у Вас не выходит с микроразметкой, то попробуйте другую тему оформления для сайта. Например в моем случае было именно так!
Во, мне ваша статья помогла, на одном сайте ошибка исчезла.
Очень рад Михаил, что помог Вам! Удачи! заходите в гости!
Я тоже соц сети отключила и эта ошибка исчезла. Но другая осталась вот ее копия ПРЕДУПРЕЖДЕНИЕ: Не выполнено обязательное условие для структурированных сниппетов Яндекс.Справочника: кажется, ваша разметка hCard описывает не организацию (поля fn и org не совпадают). В данный момент такая разметка не поддерживается Яндексом
Это серьезная ошибка или нет Валерий ?
Здравствуйте, Ольга! Нет, это не серьезная ошибка и на нее можно не обращать особого внимания. Но на вашем сайте есть некоторые нюансы, которые можно, да и нужно бы, исправить. Я бы например например не стал выводить главной страницей карту сайта. Также есть небольшой косяк в построении постоянных ссылок. Ну это так, к слову пришлось. Пожалуйста не принимайте это как укор и без обид. Спасибо за Ваш комментарий! Удачи Вам!
Здравствуйте, Валерий.
Сделала всё по вашим советам, хотя тоже не нашла такого знака «?>», сама добавила). Прежняя ошибка исчезла, появилась вот эта: поле http://ogp.me/ns#image отсутствует или пусто. А может она и была уже. Подскажите, пожалуйста, что делать?
И ещё там предупреждение: поле https://schema.org/query-input не определено в спецификации http://schema.org/SearchAction. Это значит, что на сайте нет разметки шема? А плагин уост seo её не делает?
Вы бы хоть с кода убрали свой копирайт! Зачем такие неудобства создаете?
А как быть с плагином Rank Math, яндекс тоже это пишет, я отключила соц сети, но не помогло. Может соц сети еще где-то зарыты в плагине, не подскажите?
А вот с плагином Rank Math нужно еще разбираться. Сейчас еще не готов ответить.
Подскажите, пожалуйста, если просто отключить в плагине соцсети? Ничего же страшного не произойдет. Просто я не пользуюсь Facebook.
Страшного ничего не произойдет.