Исправляем ошибку разметки Open Graph — префикс article неизвестен валидатору!

Здравствуйте, дорогие читатели блога!

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

ошибка префикс article неизвестен

ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix

Собственно вот скриншот проверки в валидаторе микроразметки Яндекса.

префикс article неизвестен валидатору

Что интересно, Google не выдавал никаких ошибок. Судя по коду сразу понятно что это не микроразметка Schema.org, а совсем другой формат — Open Graph.

Микроразметку Open Graph у меня генерирует плагин All In One Seo Pack. Таким образом он размечает и делает расширенные сниппеты для Twitter, Facebook и Google +.

Можно было бы просто забыть про эту ошибку, ведь она никак не влияет на продвижение и позиции блога. Но она упорно не давала мне покоя. Я решил разобраться с этой ошибкой и найти решение. После пары часов серфинга по глобальной паутине и изучения микроразметки Open Graph в мануалах Яндекса, я наконец попал на блог Артема Абрамовича, где описано решение этой проблемы.

Оказывается все достаточно просто. Нужно в 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 моего блога с ошибкой:

<html <?php language_attributes(); ?> prefix="og: http://ogp.me/ns#">  <head>  <meta charset="<?php bloginfo( 'charset' ); ?>" />  <link rel="profile" href="#" />  <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />  <?php wp_head(); ?>  </head>

После вставленного префикса, код стал выглядеть вот так:

<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#">  <head>  <meta charset="<?php bloginfo( 'charset' ); ?>" />  <link rel="profile" href="#" />  <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />  <?php wp_head(); ?>  </head>

Вместе с этим пропала ошибка в валидаторе Яндекса.

пропала ошибка с валидатора

Микроразметку Open Graph генерируют практически все SEO плагины. Если ошибка в валидаторе не пропадает после описанного выше способа, вероятнее всего это дело блокирует плагин и не позволяет вывести требуемый префикс. В этом случае Артем предлагает вставить следующую функцию в файл 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);

Такое вот простое решение исправит одну из самых распространенных ошибок микроразметки.

Рейтинг автора
Автор статьи
Назыров Андрей
Основатель блога и его главный редактор.
Написано статей
105
Поделись информацией:
Помогла статья? Оцените её
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Оценок: 2
Загрузка...

Подписка на рассылку

Комментарии
  1. Ольга

    Андрей, привет. Микроразметку я так и не внедрила на блогах. Откладываю на после Нового года. Если что обращусь к тебе.

    • Андрей Назыров

      Оль, привет.Там какие-то нововведения ввел гугл, теперь немного другие правила,с которыми я еще не разобрался.

      • Ольга

        Андрей, когда разберёшься я увижу по статьям, так как слежу за твоими публикациями). С наступающими праздниками!

      • Андрей Назыров

        Спасибо, что следишь за моим скромным блогом! С наступающим!

  2. Вадим

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

    • Андрей Назыров

      К сожалению подобных ошибок может быть немало )) Спасибо за комментарий!

  3. Contentim

    Автор, спасибо за материал! Следуйте по шагам, внедряйте с умом и у вас обязательно пропадет эта ошибка.

  4. Игорь

    Здравствуйте. У Вас в исходном дублирован prefix=»og: http://ogp.me/ns#, один нужно убрать. С уважением.

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