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

О том, как просто исправить ошибку валидатора микроразметки Яндекса "Префикс article неизвестен валидатору, укажите его явно атрибутом prefix".

Как легко устранить ошибку "Префикс 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 Оптимизация

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

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

Здравствуйте, уважаемые друзья и гости блога! Сегодня пойдет разговор серьезный, как Вы уже наверное догадались по заголовку статьи?! Ведь Яндекс валидатор не любит шутить и ему очень трудно угодить, но мы сегодня с вами постараемся это сделать и у нас все получится на 100% – Я вам обещаю!

Микроразметка как в Яндекс, так и в Гугл очень серьезная и важная вещь. Потому, что если не учитывать все замечания валидаторов Google и Яндекса, то ваш сайт никогда не поднимется в поисковой выдаче, а так и будет на задворках плестись в хвосте у тех, кто наиболее трепетно и с любовью относится к требованиям поисковых систем.

Вот и давайте поговорим о том, как нам преодолеть все трудности и исправить вот такую хитрую и часто встречающуюся у всех практически вебмастеров погрешность в микроразметке Яндекса – ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix!

И так, приступим к исправлению данного казуса в микроразметке сайта …

ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix – ИСПРАВЛЯЕМ!

Микроразметка что это?

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

Вот в двух словах о том, что такое микроразметка и для чего она нужна на сайте.

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

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

После проверки Вы с точностью на 100% будете знать, есть ли она у Вас на сайте и правильно ли она создана!

Когда я только начал заниматься вопросом микроразметки на своих сайтах, мне приходилось лопатить очень много материала по этому вопросу в интернете. И мне стало интересно! Люди, которые написали кучу статей про микроразметку и пытаются в них учить уму-разуму других, а статей по поводу внедрения на сайте микроразметки я нашел в интернете множество и прочел их, они сами на своих ресурсах применили ее? И я стал ради спортивного интереса проверять их сайты на микроразметку. Что бы Вы думали? Большинство из проверенных мной сайтов были неправильно размечены и у них вылезали такие же ошибки, о которых они писали и учили других как нужно их исправлять! Абсурд!!!

Ну, не столь важно!

И все же не зря было мной потрачено уйма времени и сил, все же я научился правильно внедрять микроразметку на сайтах и примером может служить мой блог. Можете проверить его в валидаторах как Яндекс, так и Google, чтобы Вы смогли убедиться,что я не вру вам!

И вот теперь я имею полное право, с моей точки зрения, написать статью о микроразметке, а в частности об исправлении очень распространенной ошибке в микроразметке Яндекса …

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

Ну теперь о главном …

Данная ошибка возникает чаще у тех, кто использует плагин Yoast Seo в WordPress, коим и я являюсь. Поэтому наверное я и взялся за написание статьи об этой ошибке?!

И так, Вы проверили свой сайт в валидаторах Гугла и Яндекса. В Гугле вроде бы все впорядке и ни каких ошибок не найдено, а вот Яндекс выдает – ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix!

И как бы Вы не бились и что бы Вы не делали, ничего не выходит и эта злополучная ошибка опять и опять вылезает. Мало того, но и другие появляются после наших неправильных действий с внедрением микроразметки. Что делать? Как нам быть? Все оказывается до смешного просто!

При использовании плагина Yoast Seo на WordPress происходит один казус. При при настройке плагина Yoast Seo, а именно на вкладке “Социальные сети” в разделе “Facebook“. Вот скриншот на всякий случай:

yoast seo

yoast seo

Вы включаете, добавить метаданные 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 перед вот таким значком “?>“. Теперь все!

Обязательно сохранитесь и обновите кэш в админке сайта!

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

Благодарю Вас друзья за внимание и что посетили мой блог. Заходите еще. Очень буду вам рад!

А теперь, если вам понравился материал, то прошу Вас поделитесь им со своими друзьями и знакомыми в соцсетях и подпишитесь на обновления моего блога в форме ниже.

Спасибо вам!

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

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

ПРЕДУПРЕЖДЕНИЕ: поле 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.

Задача. Необходимо разрешить ошибки и предупреждения в валидаторе микроразметки Яндекс.Вебмастера.

Проблема 1:

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

Решение: Нужно включить разметку Open Graph и добавить изображение. В настройках плагина WordPress Yoast SEO => Социальные сети => Facebook => в настройках по умолчанию в URL-адрес изображения указать изображение.


Проблема 2:

! ОШИБКА: Не выполнено обязательное условие для структурированных сниппетов Яндекс.Справочника: поле fn отсутствует или пусто

Решение: Нужно добавить название организации и обернуть в тег span с классом class="fn". Например: <span class="fn">ООО Моя Организация</span>;


Проблема 3:

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

Решение: Нужно добавить к тегу 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#". Т.е. микроразметка может выглядеть так:

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

Код №1: Префикc тега для html

Где искать тег html? Обычно в WordPress-темах его можно найти в файле темы header.php.

Как утверждает источник, также может помочь следующий Код №2, который нужно вставить в 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);

Код №2:

Проблема 4:

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

Причина: SEO-плагин «Yoast SEO» выводит на сайте в микроразметку поиск. В нем нет необходимости.

Решение: В файле темы function.php добавляем Код №3 отключения вывода поиска в микроразметку:

// Отключение вывода разметки поиска плагином Yoast Seo

add_filter( ‘disable_wpseo_json_ld_search’, ‘__return_true’ );

Код №3: Отключение вывода разметки поиска плагином Yoast Seo

  • 25.03.2022
  • Разработка сайта

Микроразметка Schema org необходима для успешного продвижения любого сайта. Сегодня мы поделимся с Вами секретами использования микроразметки.

Микроразметка сайта schema org предоставляет общедоступный словарь, с помощью которого вебмастера могут размечать страницы. Контент таким образом становиться более понятным для поисковых систем: Яндекс, Google!

Страница контакты, используем микроразметка Schema org:

Пример адрес организации и контакты:

<div itemscope itemtype=”http://schema.org/Organization”>
<span itemprop=”name”>Яндекс</span>
Контакты:
<div itemprop=”address” itemscope itemtype=”http://schema.org/PostalAddress”>
Адрес:
<span itemprop=”streetAddress”>3 почтовое отделение, 2</span>
<span itemprop=”postalCode”>140003</span>
<span itemprop=”addressLocality”>Люберцы</span>,
</div>
Телефон:<span itemprop=”telephone”>+7 495 559–15–97</span>,
Факс:<span itemprop=”faxNumber”>+7 905 591–02–03</span>,
Электронная почта: <span itemprop=”email”>ra@gourment-foods24.ru</span>
</div>

Пример микроразметка сайта schema org изображений:

Микроразметка Schema org

Микроразметка Schema
<div itemscope itemtype="http://schema.org/ImageObject">
  <h2 itemprop="name">Винни-Пух</h2>
  <img src="vinni.jpg" itemprop="contentUrl" />
  <span itemprop="description">Винни-Пух залезает на дерево.</span>
</div>

Пример разметки Вопрос-ответ
<div itemscope itemtype="http://schema.org/Question">
   <h1 itemprop="name">Зайцы умеют плавать?</h1>
   <div itemprop="acceptedAnswer" itemscope itemtype="http://schema.org/Answer">
      <meta itemprop="upvoteCount" content="3" />
      <div itemprop="text">Превосходно плавают! Однажды, работая на небольшом острове, расположенном в Северном архипелаге Белого моря, я стал свидетелем того, как два зайца — беляка по собственной инициативе приплыли на мой остров через холодный морской пролив, шириной более трехсот метров. Попрыгали на берегу и поплыли обратно на материк.
      </div>
   </div>
   <div itemprop=" suggestedAnswer" itemscope itemtype="http://schema.org/Answer">
      <meta itemprop="upvoteCount" content="1" />
      <div itemprop="text">Если бы умели, Мазай их бы не спасал.</div>
   </div>
</div>

Частые ошибки в валидаторе микроразметки:

В Яндекс Вебмастере Вы можете легко проверить правильность микроразметки. Наиболее часто возникающие проблемы сайтов на CMS WordPress:

ПРЕДУПРЕЖДЕНИЕ: поле https://schema.org/query-input не определено в спецификации http://schema.org/SearchAction
Ошибка возникает из-за плагина Yoast SEO. Для исправления в файл functions.php нужно добавить код между тегами <?php и ?>:
// Убираем в Yoast Seo разметку поиска

add_filter( ‘disable_wpseo_json_ld_search’, ‘__return_true’ );

ОШИБКА: префикс 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#”

Вам нужно найти вот такой код:
class=no-js>
Исправленный код:
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>

ERROR: http://ogp.me/ns#image field missing or empty

Чтобы поправить надо всего-лишь добавить в head мета-теги в файле header.php:

<meta property="og:image" content="http://example.com/ogp.jpg" />  
<meta property="og:image:secure_url" content="https://secure.example.com/ogp.jpg" />  
<meta property="og:image:type" content="image/jpeg" />  <meta property="og:image:width" content="400" />  
<meta property="og:image:height" content="300" />  
<meta property="og:image:alt" content="A shiny red apple with a bite taken out" />

Смотреть другие статьи о SEO продвижении
Услуги рекламного агентства и стоимость: Стоимость рекламных услуг
Инструкция по размещению микроразметки в Яндексе: микроразметка Schema

Не получается сделать самостоятельно? Поможем!
Стоимость проверки или настройки микроразметки Schema.org в gourment-foods24.ru – 1000 рублей.

Похожее

Артем Абрамович

Меня зовут Артем Абрамович и я являюсь фрилансером-вордпресером. Занимаюсь настройкой и редактированием сайтов созданных на CMS WordPress. Это основная моя специализация, есть еще несколько работ, которыми я занимаюсь, но обо этом вы можете более подробно узнать из моего портфолио.

16 комментариев к “Исправляем ошибку OpenGraph “префикс article неизвестен валидатору””

  1. Спасибо, помогло.

    Ответить

    • +Alex ReL
      Пожалуйста

      Ответить

  2. Большое спасибо!

    Ответить

  3. А что за ошибка vcard

    Ответить

    • В комментариях данный класс сидит. Достаточно его убрать и ошибка уйдет

      Ответить

  4. Каждое видео полезно! Спасибо!

    Ответить

    • Вам спасибо, что смотрите

      Ответить

  5. Отличный канал, не могу оторваться, смотрю все подряд

    Ответить

  6. Спасибо, добрый человек, даже функцию нам написали ))

    Ответить

  7. В All in One SEO Pack с плагином Социальные мета , тож такая хрень может выйти

    Ответить

  8. Мне не помогло, как и всё остальное что нашлось в инете (
    видимо тяжёлый случай ))

    Ответить

  9. Артём здравствуйте !.
    А если стоит не Yoast , a Rank Match и тоже эта ошибка выдаётся, то Ваша функция тоже может решить эту проблему ? Или нужно что – то другое.?

    Ответить

  10. Спасибо вам.
    У меня было проблемы с WP super Cache. После удаления, я добавил этот код и работает!

    Ответить

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

Небольшое объявление от Ночного Блоггера: “Я раскрутился до 4000 человек/сутки за 5 месяцев и ни копейки не потратил на ссылки, хочешь знать как? Принимай участие в марафоне «Seo — это просто!«”

Привет. Сегодня будет урок про лучший SEO плагинWordPress SEO by Yoast. Идея для статьи взята с одного классного сайта по WordPress и вот ссылка на оригинал статьи про плагин WordPress SEO by Yoast. Да простит меня Виталий, но плагин настолько хорош, что я решил написать про него на своем блоге. Как многие знают, я использую свой WPnew.ru в виде шпаргалочки, всю необходимую информацию по плагинам, разным настройкам я ищу на своем же блоге, как бы странно это не звучало Улыбка. Невозможно все держать в голове. Да и собственный стиль статей мне нравится больше, естественно. Улыбка

Читайте урок от корки до корки и Вы поймете, почему я, как и многие, считаю WordPress SEO by Yoast лучшим SEO плагином для Вордпресс.

  1. Как всегда, в начале нам нужно скачать плагин WordPress SEO by Yoast.
  2. Далее нам нужно включить поле Keywords для плагина (по умолчанию он выключен). Для этого в админке Вордпресс –> SEO –> Заголовки и метаданные –> галочка напротив “Использовать в meta ключевые слова?”:
  3. После этого избавляемся уже от ненужного All in SEO Pack или Platinum SEO Pack в моем случае (если, конечно, они у Вас были). Для этого оставляем активными оба плагина (WordPress SEO by Yoast и Platinum SEO Pack), в настройках плагина WordPress SEO by Yoast переходим в раздел “Импорт и экспорт”:
  4. Так как у меня был установлен Platinum SEO Pack, я ставлю галочку напротив “Импортировать из СТАРОГО All-in-One SEO?” и нажимаю на кнопку “Импортировать”:
  5. Все метаданные импортировались, чтобы проверить это, Вы можете зайти в редактор любой записи и увидеть, что в WordPress SEO by Yoast уже дублируются данные с плагина Platinum SEO Pack:
  6. Теперь нам нужно скопировать descriptions и keywords (описание и ключевые слова) главной страницы. Для этого копируем описание сайта с настроек Platinum SEO Pack (либо другого, если у Вас отличен от моего плагин), заходим в админку WordPress –> SEO –> Заголовки и метаданные –> Главное меню и вставляем в соответствующее поле. Аналогично с ключевыми словами. Шаблон названия же я сделал таким «%%sitedesc%% | %%sitename%% %%page%% » (без кавычек), при условии, что в Параметры -> Общие в заголовке я прописал «WPnew.ru», а в описании подобранный заголовок.
  7. Плагин Platinum SEO Pack можно смело отключать.
  8. Вот мои “галочки” в настройках WordPress SEO by Yoast в разделе “Заголовки и метаданные” –> Общие (если Вы не используете ЧПУ, галочку напротив “Спрятать короткую ссылку записей” ставить не надо!):
  9. “Главное меню” вы уже видели выше, остальные разделы на данном блоге не трогал. Единственное, на ФанБар пришлось немного повозиться в разделе “Типы записей”, но все равно до идеала title записей не удалось довести (с Platinum SEO Pack с этим проблем не было).
  10. В разделе “Социальные сети” можете добавить ссылки на свой аккаунт в Google+, Твиттер, Facebook. Что и для чего расписано итак очень подробно:
  11. В разделе “XML Карта сайта” я карту сайта данного плагина включать не стал, так как у меня итак уже все исправно работает с помощью плагина Google XML Sitemaps. С помощью WordPress SEO by Yoast  Вы можете избавиться от старого плагина:
  12. Раздел “Постоянные ссылки”. Один из самых крутых разделов плагина. Здесь я поставил одну единственную галочку напротив “Удалить переменные ?replytocom”:
    Плагин Вордпресс SEO
    Эту галочку я поставил, чтобы избавить от так называемых “соплей” в Google. Сопли – это ненужные страницы, которые находятся в индексе. Вы, наверное, замечали, что в Google у Вас намного больше страниц в индексе, чем в Яндексе? Наберите в Google выражение “site:https://wpnew.ru/” (без кавычек, с адресом своего сайта), Вы увидите, что огромное количество страниц в индексе:
    Потом введите в Google выражение “site:https://wpnew.ru/&”, а это уже реальные страницы:

    Так вот, “site:https://wpnew.ru/&” минус “site:https://wpnew.ru/” равно ваши “сопли”. Снова набрав в поиске “site:https://wpnew.ru/&”. Переходим на последнюю страницу выдачи, нажимаем на кнопку “Показать скрытые результаты”:
    И снова переходим на последние страницы результата выдачи:
    Вооооот они! И таких страниц в индексе огромное количество!!! Так вот, разработчики плагина WordPress SEO by Yoast уверяют, что поставив галочку напротив “Удалить переменные ?replytocom” (см. шаг 14) эти ненужные страницы удалятся из индекса. Почитал отзывы от других вебмастеров, на самом деле так. Что ж, это огромный плюс для данного плагина.
  13. Дальше идет раздел “Хлебные крошки” я его не трогаю, так как я их выводил с помощью плагина Breadcrumb NavXT. В следующих своих и клиентских сайтах благодаря WordPress SEO by Yoast на 2 плагина станет меньше:
  14. В разделе “RSS” Вы можете вместе со своей лентой отправлять свой текст + ссылки:
  15. Про раздел “Импорт и экспорт” я уже говорил выше:
  16. В разделе “Редактировать файлы” Вы можете отредактировать прямо с админки файл robots.txt и htaccess:
  17. Также приятно удивили настройки в написании постов: есть предварительный просмотр, также можно задать “фокусное ключевое слово” и проанализировать сколько раз он упоминается в шапке, в заголовке, в контенте и др.:
  18. Рядом есть клевая функция “Анализ страницы”, где Вы можете узнать много нового и интересного о своей статье Улыбка:

Еще Вам нужно будет удалить слова «Archives» в разделе Таксономии («Заголовки и метаданные»), а также, чтобы вторая и последующая страница сайта отображалась по-русски (Страница 2 из 5, вместо Page 2 of 5). Для этого через FTP клиент открываем файл wpseo-functions.php, который находится в /wp-content/plugins/wordpress-seo/inc, там находите 169 строку и переводите выражение «Page» и «of».

Важный комментарий

Если вдруг даже после нажатия на кнопку «Принудительная перезапись заголовков» в плагине WP SEO by Yoast не прописывается, нужно попробовать заменить в header.php строчку, где выводится title (предварительно сделав резервную копию старого кода):

<title><?php wp_title(); ?></title>

Вот и все. Я очень надеюсь, что благодаря WordPress SEO by Yoast смогу избавиться от многих ненужных страниц в индексе Гугла. Ох как они меня раздражают :). Вот на такой клевый плагин с Platinum SEO Pack я перешел только вчера. 🙂 Вы как, со мной? 🙂

Как вам урок?

Спасибо, очень приятно быть полезными!

Лучшая благодарность — это комментарий к уроку и «шеринг» в соц. сетях. Спасибо!

Помогите стать лучше, скажите что не так?

Непонятно
Урок устарел
Другое

Спасибо за помощь в развитии проекта!

Протокол Open Graph был специально разработан для социальной сети Facebook, однако позднее стал широко использоваться и другими социальными сетями и веб сервисами. Данный протокол позволяет указать какие именно данные будут взяты с Вашего сайта при формировании превьюшки страницы после того как пользователь нажмет на кнопку «Поделиться» в социальных сетях (о кнопках социальных сетей для сайта мы говорили в одной из предыдущих статей).

В данной статье мы разберем на конкретном примере как внедрить протокол (микроразметку) Open Graph для статей сайта созданного при помощи CMS Joomla 3. Поговорим об основных тегах, префиксах и метаданных данного протокола, а так же поговорим об ошибках, которые могут возникнуть в процессе работы.

Для настройки протокола Open Graph на своем сайте достаточно знать лишь небольшой набор основных метатегов используемых данным протоколом. При помощи протокола Open Graph можно дать описание для статьи, музыки, видео и некоторых других объектов. Но прежде чем говорить о различных объектах, давайте посмотрим, как может выглядеть превьюшка страницы сайта в социальных сетях, в частности при публикации записи в Facebook:

Пример превьюшки страницы сайта при использовании протокола Open Graph

А теперь давайте разберем основные теги, использованные при описании статьи, которые необходимо добавлять исключительно между тегами head документа:

  • og:title – при помощи данного тега мы можем передавать заголовок поста в социальные сети;
  • og:description – как следует из названия, тег служит для передачи краткого описания поста, длина краткого описания не должна превышать 300 символов;
  • og:type – указывает тип объекта, это может быть статья, музыка, видео и прочее. Подобных объектов в протоколе Open Graph не так уж и много и если на странице их несколько, то указывать стоит только один, который вы считаете основным;
  • og:url – адрес страницы, который будет использован в качестве постоянного идентификатора;
  • og:image – тег необходим для указания изображения, которое следует брать при формировании поста. Какими должны быть изображения, а точнее, какого размера достаточно интересный вопрос, который мы обсудим в следующий раз;
  • og:site_name – имя сайта (его название) на котором размещена та самая информация об объекте.

Как видите для того чтобы описать такой объект как статья существует не так уж много метатегов, ведь нам достаточно лишь передать основную информацию об объекте. Конечно, это далеко не все метаданные используемые протоколом Open Graph и в рамках одной статьи перечислять их все не вижу смысла, но если вам это интересно можете ознакомиться с ними на официальном сайте протокола.

Внедрение протокола Open Graph в Joomla 3

Теперь давайте перейдем к практике и попытаемся внедрить в наш сайт на Joomla 3 протокол Open Graph. Но тут есть одна загвоздка – все страницы сайта формируются динамически, собственно как и у любой другой системы управления контентом, следовательно, нужно думать, как передать необходимую информацию в блок head документа.

Как всегда самым простым вариантом в решение данной, если можно так сказать, проблемы будет использование специальных плагинов (Easy Open Graph, Phoca Open Graph, Open Graph Tags, Global Open Graph). Но если честно ни один из множества плагинов, которые я тестировал, меня не впечатлили, поэтому я решил делать все самостоятельно, чего и Вам советую.

Как добавить данные в блок head документа Joomla 3? В этом нам поможет стандартный класс JDocument, при помощи которого мы сможем внедрить в блок head документа все что угодно. Чтобы не ходить вокруг да около, давайте сразу рассмотрим код, который необходимо добавить в файл отвечающий макет статьи /components/com_content/views/article/tmpl/default.php, но предварительно я советую вам создать переопределение (скопировать данный файл в папку /templates/имя_шаблона/html/com_content/article). Более подробная информация об этом содержится в статье «Переопределение в Joomla 3».

//Протокол Open Graph
$document =& JFactory :: getDocument();
if($this->item->metadesc == "") {$desc = strip_tags($this->item->introtext);} else {$desc = $this->item->metadesc;} //Описание публикации
$document -> addCustomTag( '
<meta property="og:title" content="'.$this -> escape($this -> item -> title).'" />
<meta property="og:description" content="'.$desc.'" />
<meta property="og:type" content="article" />
<meta property="og:url" content="'.JURI :: current().'" />
<meta property="og:image" content="http://joom4all.ru/'.$images -> image_fulltext.'" />
<meta property="article:published_time" content="'.$this->item->created.'" />
<meta property="article:modified_time" content="'.$this->item->modified.'" />
<meta property="fb:app_id" content="140756266603425" />
');

Код не сложный, изначально мы объявляем, что будем использовать класс JDocument, а затем при помощи метода addCustomTag мы можем добавлять что угодно в секцию head документа, в нашем случае это будут метатеги Open Graph.

Хочу обратить отдельное внимание на то, как формируется описание публикации, тут мы при помощи определенного условия проверяем наличие текста в метатеге description , если его нет, тогда в качестве краткого описания страницы будет использован вступительный текст материала. За это отвечает следующая строчка кода:

if($this->item->metadesc == "") {$desc = strip_tags($this->item->introtext);} else {$desc = $this->item->metadesc;} //Описание публикации

После чего при помощи метода addCustomTag начинаем добавлять в head документа необходимую для протокола Open Graph информацию – заголовок, описание, тип объекта, изображение, а так же дату публикации и модификации статьи. Кроме того обратите внимание на свойство fb:app_id, это идентификатор вашего приложения (сайта, группы) в социальной сети Facebook, получить данный идентификатор можно на странице Инструменты и поддержка -> Мои приложения -> Добавить новое приложение.

Проверка микроразметки Open Graph

После того как микроразметка Open Graph была заполнена и перенесена в секцию head документа самое время проверить корректность её работы. Для этих целей можно воспользоваться валидатором микроразметки от Яндекса  либо отладчиком перепостов от Facebook.

 Начнем с «книгоморды», вставляем в соответствующее поле адрес страницы сайта, которую хотим проверить и жмем на кнопку «Отладка». Если все сделано правильно, ошибок быть не должно, а результат должен быть примерно таким:

Проверка микроразметки Open Graph при помощи отладчика перепостов

Теперь проделаем то же самое в валидаторе микроразметки от Яндекса, но тут оказалось не все так замечательно, и я получил ошибку, которая гласит:

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

Выглядит это дело следующим образом:

В результате проверки микроразметки Open Graph валидатор Яндекса выдал ошибку о неизвестном префиксе article

Что это за атрибут такой и почему он не известен валидатору? Оказалось все просто, чтобы избавиться от подобной ошибки всего на всего необходимо явно указать Яндексу, что мы используем микроразметку (протокол) Open Graph. Для этого в индексном файле нашего шаблона необходимо найти открывающийся тег HTML:

<html lang="en">

И заменить его следующей строкой:

<html lang="en" prefix="article: http://ogp.me/ns/article#">

После этого ошибка в валидаторе Яндекса исчезнет. Кстати возможны случаи, когда вместо article Яндексу не нравится префикс fb, в таком случае в теге html необходимо дописать дополнительную строку fb: http://ogp.me/ns/fb# и так далее:

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

Проблемы с повторяющимися тегами Open Graph

Если вы используете некие плагины на сайте Joomla 3 то велика вероятность того что они вставляют собственные метаданные протокола Open Graph в head документа, даже если они не имеют никакого отношения к данному протоколу.

В частности мне удалось выяснить, что плагин для создания превьюшек изображений mAvik Thumbnails по умолчанию добавляет тег og:image в head документа, а в качестве значения берется самое первое изображение из тела статьи, причем его уменьшенная копия. В этом вы можете убедиться, посмотрев на скриншот результатов проверки микроразметки в валидаторе Яндекса (скриншот выше). Причем добавлять этот самый тег его об этом вроде никто и не просит, но, тем не менее, он это делает.

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

Конечно это не ошибка разработчика плагина, ведь возможно кому то это будет полезно, но я все же предпочитаю от этого избавиться. Так вот, чтобы убрать повторяющийся метатег og:image, необходимо всего лишь внести небольшие изменения в настройки плагина mAvik Thumbnails. Для этого на вкладке «Контекст» необходимо поставить переключатель «Добавлять мета-тег og:image» в положение «Не добавлять», после чего дублирующийся метатег og:image будет удален:

Убираем дублирующийся метатег og:image создаваемый плагином mAvik Thumbnails

На этом разметка страницы (в частности материала Joomla) при помощи протокола Open Graph закончена, как видите, тут нет ничего сложного и не нужно использовать какие либо дополнительные плагины, которые еще неизвестно что могут добавить в код страницы.

Социальная сеть ВКонтакте не берет краткое описание (description)

После того как Open Graph будет внедрен наверняка каждый заметит одну неприятную особенность при публикации записей в социальную сеть ВКонтакте. Дело в том, что именно эта сеть при формировании превьюшки (сниппета) упорно не желает брать в краткое описание статьи указанное в поле description. Все остальные соц. сети это делают, а вот ВКонтакте отказывается.

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

С осени позапрошлого года у сниппетов больше нет описания. Это осознанное решение разработчиков; очевидно, связанное с компромиссами в проблемах веб-дизайна и интерфейса. По их мнению, почти никогда туда не помещался осмысленный текст, в таком описании не было смысла.

Получается ВКонтакте намеренно перестал брать краткое описание в свой сниппет еще с осени 2016 года. Жаль конечно, но что поделаешь. Так что если вы заметили подобную проблему знайте что это не ваша вина, а некие запреты со стороны социальной сети.

В заключение хочу отметить, что кроме протокола Open Graph существует множество других форматов микроразметки, в частности Schema.org, о которой мы говорили в статье «Микроразметка Schema.org для материалов Joomla 3».

Понравилась статья? Поделить с друзьями:
  • Ошибка потока смарт зала решение проблемы
  • Ошибка прессостата стиральной машины аристон
  • Ошибка потока на тв тюнере
  • Ошибка прерывания процессора ff
  • Ошибка потока данных как исправить