2014-11-13 13 views
55

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

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

+5

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

ответ

43

Schema.org - это словарь, который может, как и любой другой словарь, использоваться во многих формах. На сайте http://schema.org/ есть примеры использования МИКРОДАННОГО и RDF синтаксисов RDFa и JSON-LD, но они не являются единственными Синтаксисами она может быть использована с. Вы могли бы, например, использовать его с любым другим синтаксисом RDF, например Turtle или RDF/XML.

синтаксис. Все они имеют преимущества и недостатки. См. Например, мой ответ о differences between Microdata and RDFa. Обратите внимание, что you can use different syntaxes (and vocabularies) в том же документе.

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

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

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

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

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

+1

Об ошибке, у меня была проблема с http://schema.org/openingHours. Поскольку они используют свойство

+0

@ Gacek: Я [сообщил о проблеме] (https://github.com/rvguha/schemaorg/issues/143), которую вы упомянули прошлый месяц; обратите внимание, что это не ошибка с Microdata или Schema.org сама по себе, это только их * пример *, это неправильно. Вы можете (и должны), конечно, использовать свойство 'openingHours' с любым другим подходящим элементом. – unor

16

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

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

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

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

но даже все еще разъединяет между этими двумя, как this example.

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

2017 Update

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

+0

Google действительно рекомендует JSON-LD _representation_. Тем не менее, я не вижу упоминания о Bing, Yahoo !, Yandex поддерживает JSON-LD. Хотя они поддерживают schema.org _vocabulary_, исторически они поддерживают microdata _representation_. CMIIW. –

+0

@ HendyIrawan Truth. Bingbot [все еще] не понимает JSON-LD. Bing структурированный тестер разметки также не регистрирует данные. Это точно так же для Yahoo. https://www.bing.com/webmaster/help/marking-up-your-site-with-structured-data-3a93e731 – dhaupin

+0

Bing теперь поддерживает JSON-LD https://plus.google.com/106943062990152739506/posts/ fEV3TyBhAr4 – runios

6

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

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

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

+2

Microdata устарел – SuperUberDuper

+0

Ваш источник? –

+3

http://www.thesearchagents.com/2013/08/the-problematic-future-of-microdata/ – SuperUberDuper

9

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

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

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

+0

Какой текущий статус? похоже, что Google очень медленно обновляет документацию, и я все еще вижу в документах, что они «находятся в процессе» обновления для JSON-LD. –

3

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

О "популярности", пожалуйста, см this question/answers.

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

Во вселенной "областей, выражающих семантику" (7,75 млн) профиль статистика:

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

Правило большого пальца в 2017 году

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


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

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


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

0

С нуля, JSON-LD - это путь. Давайте пусть one of the primary creators of JSON-LD, Ману спорны, весят:

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

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

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