Добавляем schema.org к Open graph

+55
8.68K
Иллюстрация
Всем привет.
Данная доработка добавляет поддержку schema.org к компоненту Open Graph (автор Fuze)

Что такое микроразметка?
Данные добавляются в JSON-LD формате, при этом не придется править файлы шаблона.

Установка

Если у вас уже установлен компонент Open graph, скачайте этот архив и загрузите файлы с заменой, если нет, то с начало надо установить Open Graph потом загрузить доработку.

После установки откройте настройки компонента Open graph и заполните новые поля
+3
Алексей Т Алексей Т 7 лет назад #
Evanescence + Ну ты красавчик!
Пробуем
0
TOPg TOPg 7 лет назад #
у меня стоит компонент
Микроформат Open Graph
1.2.0 InstantMedia Team

я перезалил данне из архива, больше ничего не делал, у меня в компоненте появились дополнительные поля, я всё правильно сделал?
+4
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Да, доп. поля заполнять и проверить тут https://search.google.com/structured-data/testing-tool
0
TOPg TOPg 7 лет назад #
"url": " https://site.ru000/u1/002/20bb344f.jpg","width": "166","height": "23" судя по анализ гугла, не правильно формирует урл, это на статьях проверял
0
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Проверил на двух сайта, версии 2.6.1 и 2.7 всё нормально, ошибок нет.
У кого нибудь еще такая ошибка?
0
TOPg TOPg 7 лет назад #
посмотрите скрин я скинул в ЛС, там видно что есть два поля url одно верно, а второе гугл показывает как ошибка
0
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Такая ошибка была когда загружена картинка по умолчанию.
Всё исправил и архив перезалил
0
TOPg TOPg 7 лет назад #
спасибо!
0
Андрей Андрей 5 лет назад #
Парвиз, добрый вечер, в логотипе ошибка по размеру выскакивает,

Атрибут logo.height имеет недопустимое значение.

не подскажете что поправить?
0
Андрей Андрей 5 лет назад #
0
AndroS AndroS 4 года назад #
Парвиз, подскажите, будет ли работать на 2.13.1?
И насколько сложно доделать, чтоб работало в формате микроданных, а не JSON-LD (Яндекс не использует такую разметку в выдаче)
0
My-InstantCMS.Ru My-InstantCMS.Ru 4 года назад #
Не проверял, но где то в комментариях Андрей выкладывал патч с исправлениями.
Уйти от JSON-LD думаю не вариант, потому что для микроданных придется править стили чужих шаблонов
0
RSN RSN 4 года назад #
Выкладывал здесь:
/blogs/moi-razrabotki/dobavljaem-schema-org-k-open-graph.html#comment_111607

Но архив больше не доступен для скачивания...
0
Андрей Андрей 4 года назад #
Перезалил архив schema.org_for_open_graph_protocol_1.3_update
+4
Val Val 7 лет назад #
+1 v
0
letsgo letsgo 7 лет назад #
Есть демо страницы? Хочу проверить. Скиньте кто нибудь.
+2
letsgo letsgo 7 лет назад #
Дело не в разработке, думаю она достойно сделана и +1. Дело в том, что Гугл и Яндекс по своему хотят видеть некоторые моменты и их трудно совместить.
0
Pasechnik Pasechnik 7 лет назад #
Всем не уладишь. smile
+3
Def Def 7 лет назад #
так задача разметки как раз угождать гуглу и яндексу, ибо в обратном случае толку от нее нет
0
artoss artoss 7 лет назад #
Так а какая ее главная польза? Что дает сайту? Критично ли что на сайте нет микроразметки..
+2
letsgo letsgo 7 лет назад #
Вот как раз задумался, что надо написать статью об этом.

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

Например: NewsArticle - TechArticle - BlogPosting - CreativeWork - и много других. Попробуйте все схемы совместить для всех видов контента.

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

При этом совместить требования Яндекса и Гугла не получится универсально. Существует более 500 видов разметки на различные виды материалов. Поисковики поддерживают только немногое из этого и при этом каждый чуть по своему требует.

Отсутствие микроразметки не критично и сейчас поисковики это направление не акцентируют. Думаю столкнувшись с разнообразием выдуманных видов и свойств, они решили остановиться на основных и не более.
0
TOPg TOPg 7 лет назад #
поисковики то не требуют, но по факту микро-разметка нужна сайту для продвижения в соц.сетя, как минимум
+1
letsgo letsgo 7 лет назад #
Именно по факту, вам следует прежде чем писать - сначала изучать вопрос.

Разметка schema, которую мы обсуждаем, никак не связана с добавлением контента в социальные сети.
0
TOPg TOPg 7 лет назад #
прошу прощения, как оказалось я с опен граф их наоборот перепутал
0
Jestik Jestik 7 лет назад #
Спасибо больше!
На будущее, архивируйте в .zip smile
0
Александр Александр 7 лет назад #
А для первой версии есть?))

PS за старания ++ и спасибо! (большое) хоть и для второй, она для многих даже перспективней)
-1
&$!#% &$!#% 7 лет назад #
Description формируется нt правильно - берется не description страницы, а description сайта. То же самое и keywords. Как исправить?

Спасибо.
0
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
для типа NewsArticle берется из записи (новости например) из поле seo_desc http://prntscr.com/ebr665
для типа WebSite берется из настроек сайта http://prntscr.com/ebr6ma
-1
&$!#% &$!#% 7 лет назад #
Подскажите, где этот тип указать? Потому что у меня для всех страниц description берется из описания сайта.
-1
&$!#% &$!#% 7 лет назад #
Всё, врубился. Создается несколько описаний. Спасибо.
-1
&$!#% &$!#% 7 лет назад #
Не правильно формируется ссылка на лого.



По этому адресу ничего нет. В урле пропущена папка upload.
0
&$!#% &$!#% 7 лет назад #
Прошу прощения, перезалил файлы, и ошибка пропала. Видимо, ее раньше уже исправили.
0
Endroid Endroid 7 лет назад #
Отличное дополнение! Больше не нужно править свои шаблоны.

Единственное, размеры логотипа формируются неверно, если даже в настройках указать размеры. Собственно, и сам логотип берется не тот, что в настройках.
+1
Endroid Endroid 7 лет назад #
Еще момент:
в файле engine_start.php 49 строка @type": "Thing" необходимо заменить на Organization, иначе не проходит проверку Яндекса (правила: http://schema.org/copyrightHolder)

А в content_before_item.php можно добавить:
$microdata .= '"commentCount": "' . strip_tags(addslashes($item['comments'])) . '",';
0
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Спасибо, буду дорабатывать в свободное время.
Если вы уже доработали и есть желание поделиться, можете сделать в своем блоге
0
Endroid Endroid 7 лет назад #
У себя я изменил. Эти две строчки каждый сам сможет добавить, думаю )
Успехов!
0
sindoyun sindoyun 7 лет назад #
В яндексе ошибку показывает

Код PHP:
  1. rdfanode
  2. resource = http://сайтру.html
  3. http://www.w3.org/1999/xhtml/vocab#search = http://сайт.ру/search/opensearch
  4. microdata
  5. ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop
  6. itemType =
0
Александр Витальевич Александр Витальевич 6 лет назад #
Решили этот вопрос?
0
Endroid Endroid 6 лет назад #
У вас где-то лишний itemprop указан.
Попробуйте отрыть исходный код страницы и простым поиском найти, где он прячется
0
Iceman Iceman 7 лет назад #
В гугле выдает ошибку:
Код PHP:
  1. image
  2. @type
  3. ImageObject
  4. url
  5. http://site.ru/upload/000/u1/123/123456.jpg
  6. cancelheight
  7. Необходимо указать значение для поля height.
  8. cancelwidth
  9. Необходимо указать значение для поля width.
0
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Сайт локальный или хостинг?
0
Iceman Iceman 7 лет назад #
Хостинг, версия CMS - 2.7.1
0
My-InstantCMS.Ru My-InstantCMS.Ru 7 лет назад #
Дайте ссылку в ЛС
0
Iceman Iceman 7 лет назад #
Оно у меня сейчас откачено на стандартную разметку. Но в добавляемой разметке после ширины и высоты просто пустота, как будто функция получения размера ничего не возвращает.
0
sergemat sergemat 6 лет назад #
В Яндекс ошибку показывает ОШИБКА: ваша JSON-LD разметка не может быть разобрана. Проверьте документ на синтаксические ошибки: ...
0
Александр Витальевич Александр Витальевич 6 лет назад #
У меня тоже самое
Код PHP:
rdfanode
resource = http://сайтру.html
http://www.w3.org/1999/xhtml/vocab#search = http://сайт.ру/search/opensearch

microdata
ОШИБКА: невозможно определить принадлежность данных полей. Возможны две причины: эти поля некорректно размещены, либо указан лишний атрибут itemprop
itemType =
-1
Андрей Андрей 6 лет назад #
У меня две ошибки после того как добавил расширение:

1. Не правильно формируется ссылка на лого, пропущена папка upload - http://joxi.ru/xAepbWCYDPnz2y
2. И яндекс ругается "ОШИБКА: ваша JSON-LD разметка не может быть разобрана. Проверьте документ на синтаксические ошибки: ..." - http://joxi.ru/nAyakgsX6Q0DAZ

Подскажите пожалуйста, что я сделал не так?
+2
My-InstantCMS.Ru My-InstantCMS.Ru 6 лет назад #
По поводу ошибки в валидаторе яндекса:
Пользователь Андрей задал вопрос яндексу и вот что получил


По этому волноваться не стоит.
0
Олег с клещами Олег с клещами 5 лет назад #
Всё установил, вроде всё работает. Проверка Гугла для картинок выдаёт:
"Для image.url указан недопустимый URL", хотя реально URL правильный.
0
My-InstantCMS.Ru My-InstantCMS.Ru 5 лет назад #
Компонент старый, наверно что то гугл поменял в микроразметке, посмотрю как будет свободное время
0
Олег с клещами Олег с клещами 5 лет назад #
Получилось посмотреть?
+1
Андрей Андрей 4 года назад #
Компонент рабочий, Evanescence помог доработать до актуальной версии ICMS 2.12.2 и под Микроформат Open Graph 1.3.0, спасибо.
+2
My-InstantCMS.Ru My-InstantCMS.Ru 4 года назад #
Вроде всё сами сделали)
Если есть желание поделиться со всеми, сделайте, а то у меня сейчас нет времени этим заняться.
В приоритете магазин и турбо-страницы
+2
Андрей Андрей 4 года назад #
Если Вы даёте разрешение, то вот ссылка на готовый поправленный компонент schema.org_for_open_graph_protocol_1.3_update
+2
Андрей Андрей 4 года назад #
Порядок установки:
1. Сделайте бэкап сайта и базы,
2. Установите Микроформат Open Graph версию 1.3 стандартным способом.
3. Сделайте бэкап сайта и базы.
4. Добавьте файлы из архива schema.org_for_open_graph_protocol_1.3_update
5. Потом Админка - Компоненты - Управление событиями - Обновить события
+1
Андрей Андрей 4 года назад #
Перезалил архив
+1
RSN RSN 4 года назад #
Андрей, спасибо большое.
0
RSN RSN 4 года назад #
Нет, что то там надо поправить...
С этим обновлением не поддерживает патерны и некоторые пункты Open Graph дублируются((
-1
Андрей Андрей 4 года назад #
Ну не знаю, у меня всё норм.
0
alexandr22 alexandr22 4 года назад #
Здравствуйте на версии 2.13.1 будет работать ?
0
Андрей Андрей 4 года назад #
У меня работает!
0
alexandr22 alexandr22 4 года назад #
благодарю )
0
R161Net R161Net 4 года назад #
Подскажите где настроить Микроформат Open Graph?? Не могу найти где он!
0
RSN RSN 4 года назад #
в типе контента в низу...
0
RSN RSN 4 года назад #
Не доступно для скачивания.
Не могли бы поделится?
0
vladimird vladimird 4 года назад #
Было бы очень полезно для всех.
0
noname noname 4 года назад #
Особенно для тех, кто знает, что такое schema.org и Open graph .
+1
alpik alpik 3 года назад #
Добрый день! Есть ли возможность обновить доработку.
При включении события process_render_content_item_view Микроформат Open Graph сайт выдает в режиме отладки ошибку:
Код PHP:
  1. Fatal error: Uncaught Error: Call to a member function isAjax() on null in /var/www/site.ru/data/www/site.ru/system/core/template.php:2036 Stack trace: #0 /var/www/site.ru/data/www/site.ru/system/core/template.php(1991): cmsTemplate->processRender(NULL, NULL, NULL) #1 /var/www/site.ru/data/www/site.ru/system/controllers/content/actions/item_view.php(453): cmsTemplate->render('/var/www/......', Array) #2 /var/www/site.ru/data/www/site.ru/system/core/controller.php(585): actionContentItemView->run() #3 /var/www/site.ru/data/www/site.ru/system/core/controller.php(456): cmsController->runExternalAction('item_view', Array) #4 /var/www/site.ru/data/www/site.ru/system/core/controller.php(432): cmsController->executeAction('item_view', Array) #5 /var/www/site.ru/data/www/site.ru/system/controllers/content/frontend.php(24): cmsController->runAction('item_view') #6 /var/www/site.ru/data/www/site.ru/system/core/controller.php(479): content->route('news/2120-objaz...' in /var/www/site.ru/data/www/site.ru/system/core/template.php on line 2036
Про сайт: Версия InstantCMS 2.13.1, Версия PHP 7.4.9
0
RSN RSN 3 года назад #
Поддерживаю просьбу alpik.
Evanescence, тоже прошу сделать ревизию и актуализировать под последний Open graph.

Когда последний раз ставил (с обновлением от Андрея) если не ошибаюсь, там не все поля формировались, которые есть в чистом Open graph...
0
RSN RSN 3 года назад #
Вот выше писал:
/blogs/moi-razrabotki/dobavljaem-schema-org-k-open-graph.html#comment_113153

С этим обновлением не поддерживает патерны и некоторые пункты Open Graph дублируются((
В общем надо посмотреть...
0
skewes skewes 1 год назад #

Кто нибудь устанавливал на последнюю версию — 2.15.2 ?

У меня через админку не устанавливается. rar переверстал в zip — также не помогло...
Ручками токо?

0
RSN RSN 1 год назад #

Кто нибудь устанавливал на последнюю версию — 2.15.2

Дополнение давно нуждается в ревизии… Выше описаны проблемы...

У меня через админку не устанавливается

Там в описании «Установка» написано как ставить… Заменить файлы из архива… Только лучше пробовать на тестовом))..

0
Юран Юран 1 год назад #

Ребята, кто-нибудь смог сделать под последнюю версию 2.15.2? Я у себя добавил как описано… Что то задублировалось почти все:( 

Изображение

0
kazakdona kazakdona 11 месяцев назад #

Я установил, все появилось но не обрабатывает выражения скобках  {title}

так и вываодит в коде

{content|string_get_meta_description}. Казачья песня {title} просмотров {hits_count}, народный рейтинг песни {rating|html_spellcount: голос: голоса: голосов}

0
Pawell Pawell 6 месяцев назад #

Здравствуйте. Столкнулся с небольшой проблемой вывода полного адреса картинки в «image»: {"@type": «ImageObject»,«url»: По умолчанию выводится логотип:

  1. $microdata .= '"url": "' . (isset($img) ? $img : $img_default) . '",';

если поменять на:

  1. $microdata .= '"url": "'.($is_https_image_host ? $this->cms_config->upload_host_abs : str_replace('http', 'https', $this->cms_config->upload_host_abs)).'/'.$image_url.'",';

то выводится: {"@type": «ImageObject»,«url»: «httpss://site.com/upload/»

Помогите решить пробему, чтобы выводился корректный адрес изображения, как в «og:image».

Еще от автора

Компонент Находки и потеряшки
С помощью данного компонента можете организовать на сайте Бюро находок, где пользователи пишут о своих находках или потерянных вещах.
Разработка компонента Справочник
Анонс разработки компонента Справочник для InstantCMS2
Разработка компонента Викторина
Обсуждение разработки нового компонента Викторина или Тесты
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.