Микроданные, RDFa или JSON-LD Подходящее или лучшее использование?

Мне было интересно, какой из этих форматов «лучший»? Schema.org, Microdata и RDFa реализовать довольно сложно. Они могут нарушить валидацию и потребовать значительных усилий для отражения в документах.

JSON-LD для меня, наконец, лучший способ реализовать структурированные данные. Но так ли это работает? Какой уровень поддержки есть для этого (по крайней мере, со стороны Google)?


person Grzegorz    schedule 13.11.2014    source источник
comment
Просто для обновления: теперь Google отображает на своих страницах микроданные в стиле json-ld. Даже инструмент тестирования данных отображает их в качестве примеров. Кажется, они начали отдавать предпочтение именно им в то время.   -  person Grzegorz    schedule 04.03.2015


Ответы (6)


Schema.org - это словарь, который, как и любой другой словарь, можно использовать во многих формах. На веб-сайте http://schema.org/ есть примеры использования микроданных и синтаксиса RDF < strong> RDFa и JSON-LD, но это не единственные синтаксисы, с которыми он может использоваться. Вы можете, например, использовать его с любым другим синтаксисом RDF, например Turtle или RDF / XML.

Не существует лучшего синтаксиса. У всех есть достоинства и недостатки. См., Например, мой ответ о различиях между микроданными и RDFa. Обратите внимание, что вы можете использовать разные синтаксисы (и словари) в одном документе.

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

В случае Google вас, вероятно, заинтересуют их Rich Snippets. В их документации по Rich Snippets упоминаются микроданные, микроформаты и RDFa. Однако обратите внимание, что не во всех связанных примерах используется словарь Schema.org, а используется более старый Data-vocabulary.org или Микроформаты (поскольку вы не можете использовать словари, такие как Schema.org или Data-vocabulary.org, с Микроформатами). И есть также несколько расширенных фрагментов кода, которых нет на этой странице, например, окно поиска дополнительных ссылок, для которого они даже рекомендую синтаксис JSON-LD.

Общий совет: поисковые системы обычно предпочитают видимый контент скрытым метаданным. Например, наличие ключевых слов в качестве скрытых метаданных позволяет авторам легко утверждать, что их документы о чем-то другом, чем они есть на самом деле (либо из-за попытки обмануть поисковую систему, либо из-за того, что авторы забывают обновить контент в both места). Следовательно, отделение метаданных от контента, как в случае с JSON-LD, может (возможно!) Привести к тем же проблемам, которые есть у текущих поисковых систем со скрытыми метаданными. (Если или какие поисковые системы действительно обрабатывают это, это вопрос, который не по теме в Stack Overflow.)

Еще одно возможное преимущество связывания метаданных с контентом (например, с RDFa) состоит в том, что вы можете легко и автоматически генерировать ту же информацию в JSON-LD, Turtle и т. Д., Потому что все это просто RDF. Просто проанализируйте RDFa, конвертируйте в форматы по вашему выбору и вставьте (в script) или свяжите (с _2 _-_ 3_), если это имеет смысл.

Но да, добавление RDFa часто бывает сложнее, чем добавление большого двоичного объекта JSON-LD, потому что вам нужно адаптировать его к существующей разметке. (Однако он не должен «нарушать валидацию», если вы не делаете ошибок.)

person unor    schedule 13.11.2014
comment
По поводу ошибки, у меня возникла проблема с schema.org/openingHours. Поскольку они используют свойство ‹time datetime =›. Который должен быть в формате ISO, чтобы быть действительным .. Но у schema.org есть собственный формат, который, например, несовместим с понедельника по вторник 11: 00-22: 00. В любом случае, очень хороший ответ. Спасибо за уделенное время. Не знал о разнице между синтаксисом и словарем. И действительно. JSON-LD может привести к чрезмерному использованию, например, к злоупотреблению метатегами и описаниями. Но микроданные также могут (например, путем скрытого содержимого в CSS). И я думаю, вы можете легче отличить контент от JSON-LD, чем между контентом и контентом. - person Grzegorz; 13.11.2014
comment
@Gacek: Я сообщил о проблеме, о которой вы упомянули в прошлом месяце; обратите внимание, что это не ошибка Microdata или Schema.org как таковых, а только их пример, который неверен. Конечно, вы можете (и должны) использовать свойство openingHours с любым другим подходящим элементом. - person unor; 13.11.2014

Границы между микроданными, RDFa и JSON-LD действительно в настоящее время очень размыты, и до сих пор не существует широко признанного де-факто среди трех. Этого пока придется подождать. Возможно, пару лет или больше.

Между тем, микроданные не следует маркировать с помощью Schema.org, как вы упомянули, потому что это разные вещи. Schema.org - это словарь, поэтому его можно использовать для микроданных, RDFa и JSON-LD.

Использование Schema.org в качестве словаря и использование JSON-LD в качестве представления данных, вероятно, является наиболее ожидаемой парой из-за двух общих аспектов:

  1. Легко читается людьми; а также
  2. Легкий машиночитаемый

но даже в этом случае между ними все еще есть разрывы, например этот пример.

Что касается поддержки JSON-LD, поскольку Bing, Google, Yahoo !, и Яндекс признают использование schema.org, возможно, можно с уверенностью сказать, что они также поддерживают его, как в этом примере.

Обновление 2017 г.

Google очень активно продвигал JSON-LD-schema.org последние пару или три года.

person Abel Callejo    schedule 25.04.2015
comment
Google рекомендует представление в формате JSON-LD. Однако я не вижу упоминания о Bing, Yahoo !, Яндекс поддерживает JSON-LD. Хотя они поддерживают словарь schema.org, исторически они поддерживают представление микроданных. CMIIW. - person Hendy Irawan; 21.04.2016
comment
@HendyIrawan Truth. Bingbot [все еще] не понимает JSON-LD. Тестер структурированной разметки Bing также не регистрирует данные. То же самое и с Yahoo. bing.com/webmaster/help/ - person dhaupin; 16.05.2016
comment
Bing теперь поддерживает JSON-LD plus.google.com/106943062990152739506/posts/fEV3TyBhAr4 - person runios; 08.09.2017

Похоже, Google склоняется к использованию JSON-LD, но не реализовал его для всех вариантов использования!

Google находится в процессе добавления поддержки JSON-LD к большему количеству функций, основанных на разметке. Пока JSON-LD поддерживается для всех функций сети знаний, окон поиска по дополнительным ссылкам, расширенных фрагментов событий и расширенных фрагментов рецептов; Google рекомендует использовать JSON-LD для этих функций. Для остальных типов Rich Snippets и хлебных крошек Google рекомендует использовать микроданные или RDFa.

http://developers.google.com/structured-data/schema-org

person JeroenVdb    schedule 06.10.2015
comment
каков текущий статус? похоже, что Google очень медленно обновляет документацию, и я все еще вижу в документах, что они находятся в процессе обновления до JSON-LD. - person Samia Ruponti; 29.06.2016
comment
В разделе обзора есть ярлык рекомендовать на JSON-LD. - person djmj; 08.01.2019

Google использует JSON-LD в качестве справочных примеров для структурированных данных SEO для своей сети знаний (компании и люди). См. https://developers.google.com/structured-data/customize/overview.

Я лично использую для своих сайтов комбинацию JSON-LD и Microdata (пока).

Я бы сказал, что у них есть другие способы определить, актуальна ли информация, которую вы предоставляете через JSON-LD, для их поисковой системы (например, проверка вашей страницы на самом деле говорит о том, о чем, как утверждается, говорится).

person Arnaud Leyder    schedule 05.05.2015
comment
Микроданные устарели - person SuperUberDuper; 14.04.2016
comment
Каков ваш источник? - person Arnaud Leyder; 14.04.2016

(обновление ответов!)

О «популярности» см. этот вопрос / ответы.

Сегодня микроданные являются самыми популярными: из 34 миллионов доменов 5,63 миллиона (~ 17%) используют «разметку контента» (я буду использовать жаргон разметку) RDFa (0,9 миллиона ), микроданные (2,5 миллиона) или микроформаты, и менее половины используют разделенные семантические дескрипторы, наиболее популярным из которых является JSON-LD с 2,12 миллиона (6%).
PS: мы предпочитаем «статистику по доменам» (вместо статистики по страницам), потому что страницы в одном домене, как правило, имеют одинаковые шаблоны и другие требования местных властей.

В совокупности «доменов, выражающих семантику» (7,75 миллиона) статистический профиль выглядит следующим образом:

  • Семантическая разметка 73%
  • 27% разделены семантики
  • (... пересечение как смесь "разделенный + разметка" может быть нулевым для упрощения ...)

Практическое правило в 2017 году

Используйте семантику разметки с микроданными и, после нее, если вам нужно передать что-то еще машинам, используйте JSON- LD.


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

Важно: помните, что микроданные, RDFa (стандарт W3C) и JSON-LD (стандарт W3C) можно (легко) перевести в RDF, поэтому все эти форматы совместимы.


PS: для таблиц HTML см. Также табличные метаданные W3C. Для открытых ресурсов, отличных от HTML, таких как файлы CSV, используйте RDF-совместимый табличная-модель данных W3C и / или frictionlessdata / specs.

person Peter Krauss    schedule 14.05.2017

С нуля JSON-LD будет подходящим вариантом. Пусть один из основных создателей JSON-LD, Ману Sporny, взвесьте:

Стремление к лучшим веб-API - вот что мотивировало создание JSON-LD, а не семантической сети. Если вы хотите воплотить семантическую сеть в реальность, перестаньте ее аргументировать и потратьте свое время на что-то более полезное, например, на то, чтобы сделать машины умнее или помочь людям публиковать данные таким образом, чтобы они были им полезны.

JSON-LD - это публикация данных полезными / простыми в реализации способами, потому что ...

он основан на технологии, которую сегодня используют большинство веб-разработчиков.

person Mac    schedule 29.01.2018