Rdfa ошибка префикс product неизвестен валидатору укажите его явно атрибутом prefix

Ошибка в микроразметке

Исправлено

2

При проверке яндекс валидатором выдает ошибки:

на страницах магазина: 

rdfa
ОШИБКА: поле http://ogp.me/ns#url отсутствует или пусто

страница категории:
rdfa
ОШИБКА: поле http://ogp.me/ns#title, http://ogp.me/ns#image отсутствует или пусто

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

если кто-то сталкивался с подобным и знает решение, напишите пожалуйста.

4 комментария

  • популярные
  • новые


  • +1

    страница категории:
    rdfa
    ОШИБКА: поле http://ogp.me/ns#title, http://ogp.me/ns#image отсутствует или пусто

    Возможно, в свойствах категории товаров не заполнены поля

    • Заголовок для соцсетей
    • URL изображения для соцсетей


  • +1

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

    Возможно, ваша тема дизайна не доработана. Проверьте формирование разметки с оригинальной темой дизайна «Дефолт 2.0» — в ней такая проблема не наблюдается.



  • +1

    Мы выпустили обновление фреймворка Webasyst, в котором добавили формирование значений разметки og:url для информационных страниц. Обновление можно установить в «Инсталлере».

    Проверьте, пожалуйста. Сообщите нам, если проблема сохранилась.

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



    • +1

      Спасибо! Будем пробовать.

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

      Как легко устранить ошибку "Префикс article неизвестен валидатору"

      Последнее обновление — 15 января 2023 в 16:05

      Коллеги, в этой заметке расскажу о том, как я запросто избавился от ошибки валидатора микроразметки Яндекса “Префикс article неизвестен валидатору, укажите его явно атрибутом prefix”. Сделать это можно буквально за одну минуту, поэтому не буду писать долгих предисловий.

      После того, как разметил сайт по Schema.org, устранил все предупреждения и ошибки, остался лишь один вышеуказанный “косяк”. Посмотрите, как это выглядело на скриншоте.

      Ошибка валидатора "Префикс article не известен

      Как выяснилось, вызван он тем, что на сайте используется плагин All In One SEO Pack. С помощью одной из его настроек – “Социальные мета”, добавляются мета-теги Open Graph, с которыми валидатор Яндекса не очень дружит. При этом, инструмент проверки структурированных данных от Google никаких ошибок не выдал.

      Итак, чтобы устранить эту неприятность, необходимо открыть на редактирование файл header.php рабочей темы сайта. После чего, в самом начале файла найти вот такую строку:

      <html lang="ru">

      А может быть, выглядеть она будет так, как в моём случае:

      <html <?php language_attributes(); ?> class=no-js> <!--<![endif]-->

      Теперь, чтобы валидатор остался доволен, а ошибка исчезла, необходимо добавить следующий префикс:

      prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile# fb: http://ogp.me/ns/fb#"

      После внесённых изменений, языковой атрибут тэга html будет выглядеть следующим образом:

      <html lang="ru" prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile# fb: http://ogp.me/ns/fb#">

      Или так:

      <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]-->

      В результате проведённых манипуляций, вышеуказанная ошибка в валидаторе исчезла! Данное решение я нашёл на сайте Артёма Абрамовича. Помимо всего прочего, он предлагает дополнить файл functions.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);

      Артём Абрамович описывает ситуацию для плагина Yoast SEO. В моём случае, для устранения ошибки, при использовании All In One SEO Pack, было достаточно отредактировать лишь файл header.php. Но так было до обновления All In One SEO до версии 4.0.9. Теперь же, без включения вышеприведённого кода в файл функций не обойтись, иначе в валидаторе появится ошибка.

      Всем WEB!

      WordPress Оптимизация

      Друзья, плюсаните, вдруг пригодится!

      увася

      Создатель

      Регистрация
      11 Дек 2012
      Сообщения
      46
      Реакции
      36


      • Автор темы
      • #1

      Добрый день, друзья.
      Для просмотра ссылки Войди или Зарегистрируйся микроразметки яндекса на странице товара в Prestashop выдаёт такую ошибку:
      ОШИБКА: префикс product неизвестен валидатору, укажите его явно атрибутом prefix
      Чтобы её убрать рекомендуется заменить <head> на <head prefix=»
      og: Для просмотра ссылки Войди или Зарегистрируйся
      fb: Для просмотра ссылки Войди или Зарегистрируйся
      product: Для просмотра ссылки Войди или Зарегистрируйся«>

      Однако наш файл product.tpl имеет такой код:
      {block name=’head’ append}
      <meta property=»og:type» content=»product»>
      <meta property=»og:url» content=»{$urls.current_url}»>
      …..
      {/block}

      Подскажите как подправить наш код, чтобы добавить нужную конструкцию в <head>?

      увася

      Создатель

      Регистрация
      11 Дек 2012
      Сообщения
      46
      Реакции
      36


      • Автор темы
      • #2

      Исправлено своими силами. Нужно открыть файл layout-both-columns.tpl и заменить код <head> на
      <head prefix=
      «og: Для просмотра ссылки Войди или Зарегистрируйся
      fb: Для просмотра ссылки Войди или Зарегистрируйся
      product: Для просмотра ссылки Войди или Зарегистрируйся«>.
      Ошибка пропала. Может кому поможет.

      Привет, читатели блога! Если вы здесь оказались, значит, столкнулись с частой проблемой вебмастеров. Это ошибки и предупреждения в Яндекс Вебмастер при проверке валидации микроразметки сайта.

      Мы рассмотрим наиболее распространённые. Чтобы от них избавиться, потребуется небольшая правка кода. Так что, сделайте предварительно дочернюю тему. А также резервное копирование файлов. И начинаем по порядку.

      ПРЕДУПРЕЖДЕНИЕ: поле https://schema.org/query-input не определено в спецификации http://schema.org/SearchAction

      Итак, первым делом обратим внимание на такое предупреждение:

      ПРЕДУПРЕЖДЕНИЕ: поле https://schema.org/query-input не определено в спецификации http://schema.org/SearchAction

      ПРЕДУПРЕЖДЕНИЕ: поле https://schema.org/query-input не определено в спецификации http://schema.org/SearchAction

      Возникает оно в валидаторе микроразметки Яндекс из-за некоторых настроек Yoast SEO. Это великолепный плагин. Но он выводит в микроразметку строку поиска. А нам это не надо. Как его убрать? Сделаем фильтрацию. Для исправления нужно добавить в файл functions.php такой код:

      add_filter( 'disable_wpseo_json_ld_search', '__return_true' );

      Если кто пока не знает, файл functions.php находится в корневой папке сайта. И располагается примерно по такому адресу:

      wordpress/public_html/wp-content/themes/ваша_тема/functions.php

      А вставка делается в конце файла перед закрывающим тегом ?>

      Прилагаю для наглядности скриншот:

      Ошибки и предупреждения валидатора микроразметки Яндекс Вебмастер

      ОШИБКА: поле http://ogp.me/ns#image отсутствует или пусто

      Далее по списку идёт ошибка в валидаторе микроразметки Яндекс такого вида:

      ОШИБКА: поле http://ogp.me/ns#image отсутствует или пусто

      ОШИБКА: поле http://ogp.me/ns#image отсутствует или пусто - частые ошибки микроразметки Яндекс

      И опять же она связана с плагином  Yoast SEO. Но на этот раз исправления нужно производить в настройках самого плагина. А именно, в разделе «Социальные сети» заполнить вкладки и вставить ссылку на изображение в библиотеке. Вот так просто убирается данная ошибка.

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

      И переходим к следующей распространённое ошибке. Выглядит она таким образом:

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

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

      Для исправления требуется вставить префикс в код HTML в файл header.php. Находится он тоже в корневом каталоге сайта. По пути, который я указала выше. Только ищете header.

      Давайте посмотрим, куда именно вставляется данный префикс. Где-то в начале файла должна быть строка примерно такого вида (может отличаться):

      <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#"

      После этого должен получиться такой код:

      <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#"
            >

      И посмотрим изменения на скриншоте:

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

      Рекомендации

      Почему нельзя пренебрегать данными исправлениями? Дело в том, что такие ошибки и предупреждения в валидаторе микроразметки очень сильно влияют на отношение поисковых систем. И даже если человеческому глазу они не видны, то поисковики учитывают фактор валидности микроразметки при ранжировании сайта.

      Валидатор микроразметки Яндекс Вебмастер - исправляем ошибки и предупреждения

      Поэтому первым делом необходимо убедиться, что в валидаторе Яндекс Вебмастер ошибки отсутствуют. Для этого исследуйте несколько страниц сайта, чтобы сделать полную проверку. Всё чисто? Тогда можно спокойно спать по ночам.


      Полезные статьи:

      Исправление неправильных кавычек в WordPress.

      Вставка блока кода на сайт и придание уникального стиля.

      Как присвоить тень тексту в файле style.css.

      Некоторые вещи не влияя на общее функционирование сайта вымораживают своим наличием. Это относиться и к такому заявлению валидатора Яндекса «ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix».

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

      Данная ошибка появляется, если в плагине 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 и все, ошибка исчезнет…

      Если есть вопросы задавайте в комментариях. Всегда рад помочь.

      Всегда ваш, Артем.

      3.7
      3
      голоса

      Рейтинг статьи

    • Rd client ошибка 0x204
    • Rapid кондиционер ошибка df
    • Rapid scada ошибка при обновлении текущих данных
    • Rd client ошибка 0x104
    • Rap pkg на ps3 не устанавливается ошибка 400