Для seo сниппетов на сайте размещаю микроразметку добавляя в строки
<title>заголовок сайта</title>
...
<div id="wrapper">
...
следующее содержимое
<title itemprop="headline">заголовок сайта</title>
...
<div id="wrapper" itemscope itemtype="http://schema.org/WPHeader">
...
на что в вебмастере яндекса получаю такую ошибку:
microdata ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop itemType = headline = заголовок сайта wpheader itemType = schema.org/WPHeader
как заполнить поля корректно?
-
Вопрос заданболее трёх лет назад
-
9016 просмотров
Пригласить эксперта
Itemprop должен быть внутри itemscope
<div itemscope itemtype="http://schema.org/WPHeader">
<div itemprop="headline">заголовок сайта</div>
</div>
-
Показать ещё
Загружается…
28 янв. 2023, в 22:48
500 руб./за проект
28 янв. 2023, в 20:58
30000 руб./за проект
28 янв. 2023, в 20:46
50000 руб./за проект
Минуточку внимания
Правильно настроенная микроразметка вашего сайта играет важную роль в SEO оптимизации. Это упрощает взаимодействие с поисковыми системами и повышает доверие ресурса в их глазах, что непосредственно влияет на позиции в поисковой выдачи.
В Blogger внедрена разметка schema.org. И если в новых темах она настроена более-менее корректно, то в шаблонах старых тем необходимо делать корректировки, чтобы устранить ошибки.
Проверить наличие ошибок в микроразметки вашего сайта вы можете в валидаторах от Яндекса или Гугла. Ошибки у них могут отличаться, т.к. алгоритмы работы у них разные. Поэтому, проверяйте и там, и там. Делается это очень просто: вставляете адрес своего интернет ресурса, запускаете тест и получаете данные.
А сегодня мы разберемся с распространённые ошибки schema.org и их исправим.
Ошибка: image_url
Описание ошибки:
- В Google: Свойство image_url не является действительным свойством объекта, относящегося к типу BlogPosting, в рамках используемой схемы.
- В Яндекс: поле image_url не определено в спецификации http://schema.org/BlogPosting
Чтобы исправить данную ошибку, в шаблоне нужно найти следующий код (может встречаться несколько раз):
<b:if cond=’data:post.thumbnailUrl’>
<meta expr:content=’data:post.thumbnailUrl’ itemprop=’image_url’/>
</b:if>
И замените его на:
<b:if cond=’data:post.thumbnailUrl’>
<meta expr:content=’data:post.thumbnailUrl’ itemprop=’image’/>
</b:if>
Ошибка: blogId
Описание ошибки:
- В Google: Свойство blogId не является действительным свойством объекта, относящегося к типу BlogPosting, в рамках используемой схемы.
- В Яндекс: поле blogId не определено в спецификации http://schema.org/BlogPosting
Для устранения данной ошибки в шаблоне находим строку (встречается несколько раз) и удаляем ее:
<meta expr:content=’data:blog.blogId’ itemprop=’blogId’/>
Ошибка: postId
Описание ошибки:
- В Google: Свойство postId не является действительным свойством объекта, относящегося к типу BlogPosting, в рамках используемой схемы.
- В Яндекс: поле postId не определено в спецификации http://schema.org/BlogPosting
Для устранения данной ошибки в шаблоне находим строку (встречается несколько раз) и удаляем ее:
<meta expr:content=’data:post.id’ itemprop=’postId’/>
Ошибка: невозможно определить принадлежность данных полей
Данная ошибка встречается только в Яндекс и имеет следующий комментарий: Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop
В шаблоне находим участок кода: itemprop=’blogPost’ и удаляем его.
ОШИБКА: поле http://ogp.me/ns#type отсутствует или пусто
Ошибка встречается в валидаторе микроразметки от Яндекс и информирует о том, на сайте отсутствует разметка Open Graph. Для решения проблемы, установите Open Graph в свой блог на Blogger.

Микроразметка schema.org очень важна для оптимизации вашего блога. Сайты с настроенной микроразметкой любят поисковые системы, повышается уровень доверия и количество переходов.
В шаблоны Blogger (Blogspot) изначально внедрена микроразметка, но в некоторых шаблонах она дает ошибки.
Проверить структурированные данные (так еще называют микроразметку) можно в валидаторах Гугл и Яндекс, которые вы найдете в соответствующих панелях вебмастеров.
Самые распространенные ошибки schema.org мы разберем сегодня.
Пройдите в Инструменты для вебмастеров Гугл –> Инструмент проверки структурированных данных –> Получить данные по URL. Здесь вставьте адрес своего блога в окно и нажмите кнопку “Получить и поверить”.
/*
Примечание. Несколько дней назад инструмент проверки структурированных данных Google поменял интерфейс. В этой статье скриншоты в новом виде.
Как видно из скриншота выше ошибки микроразметки в типе данных BlogPosting, а именно свойства:
- Image_url
- Blogid
- Postid
Внимание! Актуальная статья по теме — Исправление ошибок микроразметки Schema.org. В ней более свежие и полные данные о настройке структурированных данных в Blogger / Blogspot
Напомню, что перед всеми изменениями в шаблоне Blogger, нужно сохранить резервную копию.
- Исправляем свойство image_url
Оно выдает ошибку “Свойство image_url недопустимо для объекта типаBlogPosting”
Откройте редактор шаблона Blogger (Шаблон –> изменить html), найдите все отрезки тегов image_url. они будут размещаться в кодах:
<b:if cond=’data:post.thumbnailUrl’>
<meta expr:content=’data:post.thumbnailUrl’ itemprop=‘image_url’/>
</b:if>Удалите отрезок _url из всех найденных кодов image_url в шаблоне блога.
У вас должен получиться следующий код<b:if cond=’data:post.thumbnailUrl’>
<meta expr:content=’data:post.thumbnailUrl’ itemprop=‘image’/>
</b:if> - исправляем ошибки Blogid и Postid
Они дают следующие ошибки: “Свойство blogId недопустимо для объекта типаBlogPosting” и “Свойство postId недопустимо для объекта типаBlogPosting”
Исправляем также в окне редактора шаблона Blogger. Также делаем резервную копию. В поиск по шаблону вводим “blogId” и находим следующий отрезок кода:
<meta expr:content=’data:blog.blogId’ itemprop=’blogId’/>
<meta expr:content=’data:post.id’ itemprop=’postId’/>Просто удаляем этот код (метатеги) и сохраняем изменения. Снова проверяем в валидаторе. Все должно получиться!
Продолжим разбираться с микроразметкой. Если Вы ещё не прочитали мою предыдущую статью, то очень рекомендую это сделать.
Она не большая, но даёт необходимое понимание того, о чём мы будем говорить.
Первым делом определим, какая разметка, применена на блоге по умолчанию, и какие ошибки выдают валидаторы Google и Яндекса.
Заходим в Google Инструменты для веб мастеров — Ваш сайт — Вид в поиске — Структурированные данные.

Как видите, на моём блоге применена разметка microformats.org, то есть она уже была внедрена в файлы шаблона, и в 151 элементе, выдаётся ошибка.
А вот schema.org, рекомендуемой к применению ПС Яндекса и Google — нет вообще. Значит будем удалять то, что не нужно, и внедрять то, что рекомендуют ПС.
Но, ребята, настоятельно рекомендую: прежде чем браться за это дело, убедитесь, что у вас есть бекап сайта, и если нет, то сделайте его.
У меня хостинг обеспечивает ежедневное резервное копирование, и в процессе этого эксперимента, я дважды восстанавливал блог.
Первым делом удалим весь кеш сайта, если у Вас установлен плагин отключим его, а так же почистим кеш браузера.
Необходимо это для того, чтоб при проверке выполненных действий, в Инструментах веб мастера, сервис не цеплял сохранённые копии.
microformats.org использует очень много форматов разметки. Это:
hcard — организации и люди
hatom — ленты новостей
hCalendar — события
hProduct — товары
hReview — отзывы о товарах
hRecipe — кулинарные рецепты
XFN — социальные сети
И это ещё не полный список. Как очень точно сказано в Википедии: «Вот наиболее известные из них». И все они, или только некоторые могут присутствовать в коде блога.
Но самое интересное, что в том виде, в котором они представлены в этом списке, в коде их найти невозможно.
В код эти форматы разметки вводятся в виде классов со свойствами, закреплёнными за каждым форматом. И этих свойств, тоже достаточно много.
Вот например формат hcard, в коде выводится как атрибут, или класс контейнер vcard, а его свойства, как class=»fn» или class=»n», который в свою очередь тоже является контейнером, и так далее.
И если первый класс применяется к имени, то второй, с некоторыми дополнениями, к фамилии-имени-отчеству.
Так же есть классы для организации, её названия, адреса, профиля, и так далее.
Конечно далеко не факт, что всё это заложено в вашем шаблоне, но чтоб выявить то что есть, желательно знать всё. Или, как в Википедии, наиболее известные.
Такое ощущение, что все их вообще никто не знает. А наиболее известные, я собрал в Шпаргалках
Ну ладно, в инструментах веб мастера Google, мы определили, что в блог внедрена разметка microformats.org.
Теперь определим, имеющиеся у нас, форматы этой разметки.
Для этого воспользуемся инструментами Google Инструмент проверки структурированных данных, и Яндекс веб-мастер Проверить микроразметку.
Начнём с Главной страницы, чтоб по порядку. Вводим в поле для адреса, адрес Главной страницы, и нажимаем Проверить, в обеих инструментах.
В подавляющем большинстве случаев, Яндекс выведет предупреждение, и начинаться оно будет словом «кажется». То есть точно не знает, но чувствует, что что-то не то.

То же самое делаем в Google. Здесь информация будет более подробная. Google покажет, какие форматы он видит на Вашем сайте, и какие в них есть ошибки.

Вот это как раз то, что нам и нужно.
Первым идёт Издатель. И скорее всего, у Вас будет сообщение: Страница не содержит тега издателя.
Если это так, то чтоб тег издателя появился, нужно создать аккаунт в Google+, войти в свой Профиль, перейти в Записи, и скопировать адрес, обозначенный в адресной строке браузера.

Затем этот адрес нужно будет привязать к страницам нашего сайта, и для этого есть два варианта.
1. Если у Вас установлен плагин All In One SEO Pack, по заходим в Консоль — Инструменты SEO — Основные, прокручиваем их вниз до раздела Настройки сервисов Google, и вставляем скопированный адрес в строку Профиль в сети Google+.
Обновляем настройки, и проверяем страницу в инструментах. У Вас должна появиться зелёное сообщение о том, что тег издателя подтверждён.
2. Если у Вас нет плагина All In One SEO Pack, то адрес нужно вставить в виджет Текст, в Вашей панели виджетов, в виде ссылки.
Текст ссылки — на Ваше усмотрение. Можно «Я в Google+», а можно сделать её не видимой. Тогда никакого текста не надо.

Этот виджет можно разместить в любой области, и проверить так же как в пункте 1.
Следующий формат обычно присутствующий в блоге по умолчанию — это hatom.
Так как он работает в RSS лентах, и прочих службах слежения за обновлениями, то его лучше не удалять, а исправить имеющиеся в нём ошибки.
У меня, как видно из картинки, в этом формате выдаётся ошибка Missing required field «updated».
То, что эта ошибка принадлежит именно данному формату, можно определить с помощью Шпаргалок. По ним сразу видно, что свойство updated применяется в формате hatom.
Будем исправлять.
Дело это творческое, и для каждой темы может оказаться сугубо индивидуальным.
Во первых, в моей теме TwentiTen, на статических страницах, дата публикации не выводиться, а ошибка как раз и состоит в том, что у меня нет данных по обновлению даты и времени публикации статей.
Значит статические страницы, пока, оставляем в покое, и переходим на записи. Там время и дата публикации имеются, и нужно задать им свойство обновления.
Несмотря на множество рекомендаций в интернете, ни одна из них в моей теме не сработала, поэтому я пошёл немного другим путём.
Возможно и Вам придётся искать свой вариант устранения ошибки, поэтому давайте посмотрим, как гарантированно можно найти её причину.
Для этого воспользуемся старым добрым инструментом веб-инспектор.
Открываем страницу в браузере Chrome, нажимаем клавишу F12, или щёлкаем правой клавишей мыши и выбираем Просмотр кода элемента.
В открывшемся окне веб-инспектора находим строку с кодом, которая подсветит дату на нашей странице.
Эта строка и будет тем элементом кода, в котором нужно искать ошибку.

Как видите — это ссылка, и ей задано свойство rel=»bookmark».
Быстренько идём в Гугл, то есть вставляем rel=»bookmark» в поисковую строку браузера, окунаемся в поисковую выдачу, и узнаём, что bookmark — это закладка, а в формате hatom, это свойство применяется, как определение чего-то постоянного, а от нас требуется обновление.
Значит нужно удалить rel=»bookmark», и на его место вставить class=»updated». Как это сделать?
Идём Внешний вид — Редактор, и начинаем в файлах темы искать слово bookmark. Кто ещё не знает, как это быстро делается, прочитайте эту инструкцию.
У меня этот элемент нашёлся в файле functions.php.

Удаляем его, вставляем class=»updated», обновляем файл, и идём проверять в Google Инструмент проверки микроразметки.

Как видите — одной ошибкой стало меньше. За что и боролись.
Тут нужно обратить внимание на ещё один момент. Возможно, у Вас вывод даты будет реализован совсем по другому, и вы найдёте ошибку в другой строке кода.
Возможно Вам не нужно будет ничего удалять, а только вставить class=»updated», но если уж необходимо будет удалить какой-то элемент, то обязательно проверьте, нет ли его в файле style.css.
Ведь любому элементу, выводимому на страницу, могут быть заданы стили оформления, и после его удаления, дизайн страницы может поплыть.
Чтобы этого не произошло, требуемый элемент удалять не обязательно. Достаточно его просто переименовать. Можно убрать, или добавить одну букву, и название станет другим.
Переименовав его и в файле php, и в таблице стилей, Вы избавитесь от ненужного элемента, и сохраните дизайн.
Теперь посмотрим вторую ошибку. Как видно из названия: Ошибка. Missing required hCard «author», относиться она к формату hCard.
В этом формате представлены свойства (смотри Шпаргалки), которые мы сможем заменить на свойства schema.org, поэтому данный формат лучше полностью удалить.
В коде он представлен корневым классом vcard, то есть если в блоге присутствует hCard, то в коде он будет vcard.
Идём в файлы темы, и просматриваем их на наличие vcard, не забывая про style. css.
Если в стилях его нет, то просто удаляем, там где он найдётся. Если есть, то переименовываем.
Затем проверяем точно так же свойства этого формата. Причём, тут нужно смотреть по смыслу. Например свойство fn состоит из двух букв, и эти две буквы могут входить в какое либо слово, или свойство url может быть реальным адресом.
Естественно, удалять их не нужно. Обычно свойство, в коде является значением класса: class=»fn», class=»url». Вот эти конструкции можно смело удалять. Опять же, если их нет в стилях. И так далее.
После всех выполненных действий, и обновления файлов, посмотрим, что нам покажут инструменты проверки микроразметки (кеш сайта отключен или очищен).
Яндекс должен доложить, что микроразметка не обнаружена.

А у Google в результатах не должно быть красных строк.

Если это так, то ваши мучения закончены. Если нет то веб-инспектор всегда к Вашим услугам.
Вообще-то, не успокоившись на достигнутом, и так как остались не понятные до конца моменты, я потратил ещё некоторое время, на поиск информации по microformats.org.
Оказывается этот вопрос волнует не только русскоязычную аудиторию, но и пользователей по всему миру.
И на всех форумах и блогах, гораздо больше вопросов, чем ясных ответов.
Очень много ответов заканчиваются рекомендацией не расстраиваться особо по поводу ошибок, так как большого значения они не имеют.
Видимо сказывается путаница, и не скоординированнось действий, создателей этой технологии, и сейчас словарь schema.org, должен исправить эту ситуацию.
Так что если кто-то не сможет исправить ошибки в структурированных данных, не расстраивайтесь. Просто внедряйте schema.org на свой блог, и всё будет нормально.
В следующей статье этим и займёмся.
Желаю высоких позиций в поиске.
Неужели не осталось вопросов? Спросить
Перемена
Внук приехал к деду в деревню на крутом мотоцикле.
— Здравствуй внучек. Как поживаешь?
— Хорошо дедуля. Я теперь байкер.
Дед чешет репу:
— Про моржовый хер слышал, поросячий — сам видел, а вот про бай хер впервые слышу. Век живи — век учись.
Что такое микроразметка < < < В раздел > > > Микроразметка для Яндекса
А ну-ка, что там ещё интересного
Snippet
0 Пользователей и 1 Гость просматривают эту тему.
- 11 Ответов
- 5130 Просмотров

Мои сайты после внедрения микроразметки стали неверно отображаться в результате поиска. Т.е. вместо нормального сниппета осталась только первая строка в теле страницы: почта@yandex.ru. заявка on-line. А на другом, слава богу, полнее — первая строка статьи. Инструмент проверки микроразметки не имеет никаких замечаний. т.е. она правильная.
Кто-то сталкивался с этим? Кто-то знает как правильно внедрить в <head></head>
просто если ставить itemscope itemtype=»http://schema.org/WPHeader»
… то получается такая ошибка.
microdata
ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop
itemType =
keywords = скайсы, эстетическая реставрация, лечение зубов, лечение кариеса
description = Терапия — раздел стоматологии включающий: реставрацию зубов, лечение кариеса, лечение заболеваний полости рта.
тип определяется если делать http://schema.org/TechArticle
но сайт у меня клиники, а не технический и
techarticle
itemType = http://schema.org/TechArticle
keywords = скайсы, эстетическая реставрация, лечение зубов, лечение кариеса
description = Терапия — раздел стоматологии включающий: реставрацию зубов, лечение кариеса, лечение заболеваний полости рта.
wpheader
itemType = http://schema.org/WPHeader пустой
кто знает как правильно вставить в Joomla 3
Не знаем.
Разметку проверяли в инструментах Google и яндекса?
Конечно, проверяли и ошибки там их и посмотрели.
эти все ошибки мы там и взяли
microdata
ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop
itemType =
keywords = скайсы, эстетическая реставрация, лечение зубов, лечение кариеса
description = Терапия — раздел стоматологии включающий: реставрацию зубов, лечение кариеса, лечение заболеваний полости рта.
тип определяется если делать http://schema.org/TechArticle
но сайт у меня клиники, а не технический и
techarticle
itemType = http://schema.org/TechArticle
keywords = скайсы, эстетическая реставрация, лечение зубов, лечение кариеса
description = Терапия — раздел стоматологии включающий: реставрацию зубов, лечение кариеса, лечение заболеваний полости рта.
wpheader
itemType = http://schema.org/WPHeader
привет, а как реализовали что у вас картинка в поиске отображается к рецепту?
это все вручную версталось?
Это всё добавлялось или исправлялось в article php
А лучше предопределить свой вариант, а оригинальный article оставить как есть
Вчера Google начал выдавать ошибки (если включен плагин рейтинг для контента) разметка article: «Article – недопустимый тип целевого объекта для свойства itemReviewed.»
Причем на всех сайтах где включен рейтинг. Звезды в выдаче сразу пропали. Что делать? Есть какие то идеи?
Вчера Google начал выдавать ошибки (если включен плагин рейтинг для контента) разметка article: «Article – недопустимый тип целевого объекта для свойства itemReviewed.»
Причем на всех сайтах где включен рейтинг. Звезды в выдаче сразу пропали. Что делать? Есть какие то идеи?
Поправить разметку.
Записан
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Поправить разметку.
что именно править?
вот кусок кода с файла plugins/content/vote/tmpl/rating.php где ошибку Google распознает:
<div class="content_rating">
<?php if ($rcount) : ?>
<p class="unseen element-invisible" itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating">
<?php echo JText::sprintf('PLG_VOTE_USER_RATING', '<span itemprop="ratingValue">' . $rating . '</span>', '<span itemprop="bestRating">5</span>'); ?>
<meta itemprop="ratingCount" content="<?php echo $rcount; ?>" />
<meta itemprop="worstRating" content="1" />
</p>
<?php endif; ?>
<?php echo $img; ?>
</div>
что именно править?
вот кусок кода с файла plugins/content/vote/tmpl/rating.php где ошибку Google распознает:<div class="content_rating">
<?php if ($rcount) : ?>
<p class="unseen element-invisible" itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating">
<?php echo JText::sprintf('PLG_VOTE_USER_RATING', '<span itemprop="ratingValue">' . $rating . '</span>', '<span itemprop="bestRating">5</span>'); ?>
<meta itemprop="ratingCount" content="<?php echo $rcount; ?>" />
<meta itemprop="worstRating" content="1" />
</p>
<?php endif; ?>
<?php echo $img; ?>
</div>
Google не поддерживает с 2019 года рейтинг для Article
Просто удаляем ее и все.
Микро-разметка Schema.org — это, как пишет Яндекс и Google, стандарт семантической разметки передачи данных с Вашего сайта для поисковых систем с помощью синтаксиса microdata (способ разметки микро-данных) — непосредственно в HTML-коде страниц.
JSON-LD (англ. Linked Data) – способ описания и передачи данных сайта поисковикам с помощью текстового формата JSON. Но внедрение происходит уже не в код страницы, а помещается в отдельный тег <script>, чтобы сделать доступными для обработки на веб-странице.
Schema.org была признана основными поисковиками и рекомендована еще в 2011 году. В свою очередь, Schema.org рекомендовал к применению JSON-LD в 2013 году, а начиная с лета 2014 года, уже и Google советовал его использовать.
Так что формат JSON-LD в связке с Schema.org можно с успехом использовать для разметки своего сайта.
Не буду вдаваться в подробности и утомлять Вас различными терминами, более подробную информацию можете найти на том же https://yandex.ru/support/webmaster/.
Моя же задача состояла в том, чтобы найти более оптимальный вариант для своего сайта, поделиться им с Вами — возможно кому-то поможет.
На данном сайте стоит Премиум-тема (или, как говорят, шаблон) для WordPress — BeTheme, разработанная западными специалистами Muffin Group. Обновление данного шаблона происходит очень часто.
Так что вносить какие-то кардинальные изменения в Редакторе: Заголовок — header.php или functions.php, сами понимаете, не очень-то хотелось.
Разметка Schema.org встроена в настройки данной темы — можно включить или выключить. В самом начале, при настройке блога, Google и Yandex никаких ошибок не показывали. Но, как только я внедрил на сайт микро-размету Open Graph, и использовал для этого плагин All in One SEO Pack, появилось пару предупреждений на Google. Я уже не говорю про Yandex.
Про настройки Open Graph для социальных сетей, читайте в статье: «Социальные кнопки — настройка мета тегов Open Graph».
Кто-то посоветует, что нужно избавиться от плагина. Но тогда о продвижении сайта в социальных сетях можно забыть. Любой внешний SEO-плагин будет создавать те же проблемы. С Google проще — пару настроек и все стало на место, а вот с Yandex сложнее. Обновления поисковых систем по этим настройкам происходили уже не раз, но никак Yandex с Google не могут прийти к общему знаменателю.
Перелопатив гору информации в интернете, я нашел, как мне кажется, пока, самый приемлемый вариант.
Код JSON-LD в виде скриптов для разметки Schema.org не требует вставки его в шаблон самого блога. Вернее, автор его, Артур Абрамович, на своем сайте wpruse.ru, предлагает вставить его в файл функции темы functions.php.
Я же нашел более оптимальный способ. Заключить данный код в файл php с дополнительными функциями плагина. Я здесь не открываю Америку, этот способ, добавления новых функций в свой сайт, известен давно.
Как Вы сами понимаете, при обновлении темы или при ее смене, все изменения и дополнения, которые Вы внесете в файлы шаблона будут утеряны. А это то, чего я хотел, по возможности, избежать.
Создание плагина functionsphp.php.
Для того, чтобы создать свой плагин, который будет альтернативой файлу functions.php, находящемуся в Редакторе WordPress, необходимо загрузить на свой сайт пустой плагин. Плагин загружается в корневую папку блога: public_html/wp-content/plugins/, как обычный плагин через FTP-клиент или архивируем его в ZIP-архив и через Консоль блога — Плагины — Добавить новый — Загрузить — Активировать.
Первое, что нужно сделать — открываете бесплатную программу Notepad++, создаете Новый файл, копируете данный код и вставляете его в программу:
<?php
/* ====================================
* Plugin Name: Functions.PHP
* Description: Мой новый functions.php
* Version: 1.0
* ==================================== */
function functionsphp_head_info(){
echo "n<!-- Плагин Functions.PHP активен -->n";
}
add_action('wp_head', 'functionsphp_head_info');
В настройках Notepad++, в разделе Кодировки, должно быть выставлено: UTF-8 без BOM. Дальше, нажимаете Файл — Сохранить как — даете ему название functionsphp — Тип файла PHP и сохраняете к себе на компьютер.

Заметьте разницу в названиях файлов. Файл плагина, если открыть его свойства, называется — functionsphp.php, а в Редакторе темы — functions.php. Не надо пугаться — файл плагина дополняет функции файла в Редакторе, но никак не меняет его.
И еще, не маловажная информация! В дальнейшем, при редактировании этого плагина, даже, если сделаете фатальную ошибку, это никак не повлияет на работу сайта — плагин просто автоматически деактивируется. Исправив ошибку, можно снова активировать. Чего не могут официальные плагины.
Первая часть кода — это информация плагина для WordPress и его название.
Вторая часть — функция, выводящая HTML-комментарий,
<!-- Плагин Functions.PHP активен -->
показывающая об его активации.
Загружаете файл одним из способов, описанных выше, к себе на сайт. После активации плагина, открываете любую запись на сайте, нажимаете на клавиатуре Ctrl+U, потом Ctrl+F, вбиваете, вверху, в окно поиска название плагина, если увидите вставленный код, значит плагин работает.

Второй этап Ваших действий — редактирование кода JSON-LD schema.org в соответствии с настройками блога. Я не хочу на этой странице размещать данный код, так как он занимает приличное место. Скачать его можно либо на сайте автора, или же ниже по ссылке, нажав на одну из кнопок соц.сетей.
Сразу же предупреждаю — файл кода на авторском блоге имеет ряд небольших технических ошибок. В комментариях на сайте Артема я писал ему об этом, но когда он их исправит — не знаю, хотя обещал. В коде:
«height»: ‘. $img_post[1] .’, «width»: ‘. $img_post[2] .’
необходимо поменять местами height и width. Поисковики первое значение привыкли принимать как ширину, а не высоту — выдают ошибку. Там таких несколько мест.
В данной редакции ошибки кода файла JSON-LD исправлены — скачивайте:
Скачанный файл разархивируйте и открываете той же программой Notepad++ и в самом начале, в строке 10 и 11 меняете мои ссылки на ссылки со своих картинок:
- В строке 10 ставите ссылку на картинку, которая будет у Вас отображаться по-умолчанию в анонсах соц.сетей, если в статьях таковые отсутствуют. Эта картинка должна быть загружена на блог в медиафайлы в обязательном порядке. Размер по ширине не меньше 650 — 700 пикселей.
- В строке 11 вставляете ссылку на логотип Вашего блога. Так же в обязательном порядке. Размер: ширина — 600px, высота — 60px. Открою маленький секрет. В Photoshop создаете Новое изображение с заданными размерами и с названием Logo. А в это окно уже помещаете картинку любого размера и сохраняете в формате png или jpg./

Будьте внимательны — ссылки вставлять между одинарными кавычками, без пробелов. И ради бога — перед тем как загрузить в медиафайлы, пишите название своим картинкам латинским шрифтом.
Редакция плагина functionsphp.php.
Следующим шагом будет — внесение изменений в загруженный плагин functionsphp.php. Для этого, переходите в Консоль своего блога — Плагины — Установленные. Находите свой плагин Functions.PHP. Сначала нажимаете — Деактивировать, потом Изменить. В открывшемся окне увидите код своего плагина.
Возвращаетесь к своему файлу JSON-LD, выделяете мышкой весь код и копируете. В окне редактора плагина отступаете одну строку и вставляете, скопированный в буфер обмена, отредактированный код. Закрываете редактор.
Переходите опять в плагины и активируете Functions.PHP. Если все сделали правильно, плагин активируется. Можно проверить его действие в валидаторах Yandex: https://webmaster.yandex.ru/tools/microtest/

и Google: https://search.google.com/structured-data/testing-tool/u/0/.

Проверяйте каждую страницу и запись на блоге.
Да, еще, что пришлось сделать для дальнейших настроек — отключить настройки Schema.org в опциях настроек шаблона BeTheme (в плагине All in One SEO Pack они были отключены), иначе с Яндексом не совладать. В Google все ошибки исчезли.
Редакция файла темы Заголовок (header.php).
Проверка страниц и записей блога валидатором Яндекса выявила ошибку в микро-разметке:
«ОШИБКА: префикс article неизвестен валидатору, укажите его явно атрибутом prefix».
Это единственная ошибка, показанная в Yandex-валидаторе, которую пришлось исправлять непосредственно в Редакторе шаблона блога. Перепробовал все возможные способы. Принимая во внимание то, что код не большой, и даже при обновлении шаблона, я без особого труда, всегда смогу внести эти изменения, пришлось согласиться с этой жертвой.
В классических шаблонах WordPress эти изменения обычно делаются в файле — Заголовок (header.php).
В моем шаблоне, а возможно и во многих других премиум-темах, изменения потребовались и в файле Редактора — Шаблон страницы «Blank Page» (template-blank.php).
HTML-код в обоих файлах редактора, требующий редакции, обычно почти идентичен. В оба эти файла нужно вставить код подтверждения префикса с помощью специальных атрибутов. Копируете и вставляете именно этот код:
prefix="og: https://ogp.me/ns# article: https://ogp.me/ns/article# profile: https://ogp.me/ns/profile# fb: https://ogp.me/ns/fb#"
В header.php вставляете данный код в HTML-файл:

В итоге получиться:
<html class="no-js<?php echo mfn_user_os(); ?>" <?php language_attributes(); ?> <span style="color: #0000ff;">prefix="og: https://ogp.me/ns# article: https://ogp.me/ns/article# profile: https://ogp.me/ns/profile# fb: https://ogp.me/ns/fb#"</span> <?php mfn_tag_schema(); ?>>
Такие же действия делаем и в HTML-файле template-blank.php:

Измененный HTML-файл:
<html class="no-js<?php echo mfn_user_os(); ?>" <?php language_attributes(); ?> <span style="color: #0000ff;">prefix="og: https://ogp.me/ns# article: https://ogp.me/ns/article# profile: https://ogp.me/ns/profile# fb: https://ogp.me/ns/fb#"</span> <?php mfn_tag_schema(); ?>>
После редактирования файлов header.php и template-blank.php ошибки «префикс article» в Yandex-валидаторе исчезли.
Исправление ошибки microdata.
После очередной проверки валидатором Яндекса оставалось еще пару ошибок. Одна из них:
«microdata
ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop»
Честно говоря, снова редактировать файлы шаблона не было никакого желания. Стоит пойматься на этот крючок — уже не сорвешься. Хватит одной жертвы.
Немного подумав, решил использовать для этих целей плагин Header and Footer Version 2.0.3. Тем более, что он пригодиться в дальнейшем и для других целей.
В частности, когда, недавно, делал рекламу своих инфо-продуктов через рекламный кабинет Facebook, понадобилось установить на сайт Pixel Facebook, для отслеживания числа конверсий не только на сайте, но и на продающих страницах — Lending Page. Шаблон BeTheme, с его обширным и уникальным функционалом, позволяет делать такие страницы на одном и том же домене, что и блог.
Так вот, после очередного обновления шаблона, естественно, код пикселя был удален. Код Pixel Facebook ставился в файлы Редактора WordPress.
Этот же плагин позволяет добавлять дополнительный функционал в WordPress не изменяя файлы самого Редактора шаблона. То, что мне и нужно.
Плагин устанавливается классическим методом. Заходите в Консоль — Плагины — Добавить новый. В окно поиска пишите название плагина — WordPress выдаст нужный. Устанавливаете его и активируете.
После активации — Настройки — Header and Footer.
Чтобы устранить ошибку в настройках Schema.org «microdata», в окне настроек плагина, в первой вкладке «Header and footer», в поле «AFTER THE <BODY> TAG» вставляете вот такой код:
<div itemscope itemtype="https://webmaster.yandex.ru/vocabularies/term-def.xml">

Сохраняете изменения.
В дополнение, для большей убедительности Яндекса — это уже по настройкам «Article», в верхнее поле «<HEAD> SECTION INJECTION» вставил код:
<wrapper id="Wrapper" itemscope itemtype="https://schema.org/WPHeader"> <div itemprop="headline"></div>
Это уже не обязательно, хотя и этот код можно конкретизировать для поисковиков. Но все эти настройки уже предусмотрены в коде JSON-LD нашего плагина functionsphp.php.
Очередная проверка микро-разметки Schema.org и кода JSON-LD в валидаторах Google и Yandex дала более-менее удовлетворительный результат. В Google никаких претензий не нашел.
Яндекс, как всегда в своем репертуаре. Осталось предупреждение «vcard» — не выполнено обязательное условие для структурированных сниппетов:
«кажется, ваша разметка hCard описывает не организацию (поля fn и org не совпадают).»
Что можно понять с этого предупреждения? Поля fn (фамилия и имя) не совпадают с org (организацией). Информация для структурированных сниппетов.
Не такое уж и страшное предупреждение. Тем более для блога. Не сайт же организации с прайс-листом продукции на три страницы. Но, подумаем, как это исправить.
Какой же можно сделать вывод? Формат микро-разметки JSON-LD совместно с Schema.org дает возможность корректно размечать необходимые данные на сайте для восприятия поисковыми системами и человеком. Будем надеяться, что алгоритмы Google и Yandex когда-нибудь придут к единообразию.
P. S. Буду рад, друзья, если поделитесь своими наработками в комментариях.
27 минуты назад, SERG25 сказал:
Никто не делал микроразметку для хлебных крошек?
Наверное в следующей версии добавим по умолчанию.
Хотя необязательно, что даже с разметкой в яндексе всё будет работать.
Прочитайте про условия на https://yandex.ru/support/webmaster/search-results/site-description.xml#nav-chains
Навигационные цепочки строятся только для крупных сайтов. Навигационные цепочки строятся строго по каталогам: дерево разделов сайта должно соответствовать URL. Для адресов вида /index.php?cat=7873&item=6787 цепочек не сформируются, но они будут строиться для адресов вида /cat7873/item6787. Для выбора названий используются элемент title и тексты ссылок на страницу. Рекомендуем давать короткое название странице в элементе title и в ссылках. И желательно, чтобы они (title и название ссылок) совпадали.
Да и вообще, яндекс пока что, насколько я понял не поддерживает разметку breadcrumb, гугл поддерживает.
В любом случае, наверное сделаем в следующей версии.
Лишним точно не будет.