Микроданные, RDFa или JSON-LD Подходящее или лучшее использование?
Мне было интересно, какой из этих форматов "лучший"? Schema.org, Microdata и RDFa немного трудны для реализации. Они могут нарушить валидацию и требуют значительных усилий для вставки в документы.
Наконец-то для меня JSON-LD - лучший способ реализации структурированных данных. Но работает ли это? Какой уровень поддержки для него (по крайней мере, Google)?
6 ответов
Schema.org - это словарь, который, как и любой другой словарь, может использоваться во многих формах. На веб-сайте http://schema.org/ есть примеры использования микроданных и синтаксиса RDF RDFa и JSON-LD, но это не единственные синтаксисы, с которыми он может использоваться. Вы можете, например, использовать его с любым другим синтаксисом RDF, например, Turtle или RDF / XML.
Там нет лучшего синтаксиса. Все они имеют свои преимущества и недостатки. Посмотрите, например, мой ответ о различиях между микроданными и RDFa. Обратите внимание, что вы можете использовать разные синтаксисы (и словари) в одном документе.
Теперь, если вы имеете в виду конкретного потребителя, вам следует обратиться к его документации. Однако поддержка синтаксиса приходит и уходит, и не все, что они могут поддерживать, обязательно документировано, и не все, что документировано, обязательно работает.
В случае Google, вы, вероятно, заинтересованы в их Rich Snippets. В их документации о Rich Snippets упоминаются микроданные, микроформаты и RDFa. Однако обратите внимание, что не во всех связанных примерах используется словарь Schema.org, но более старые Data-vocabulary.org или микроформаты (поскольку вы не можете использовать словари, такие как Schema.org или Data-vocabulary.org с микроформатами). И есть также некоторые Rich Snippets, которые не перечислены на этой странице, такие как окно поиска дополнительных ссылок, для которых они даже рекомендуют синтаксис JSON-LD.
Как общий совет: поисковые системы обычно предпочитают видимый контент, а не скрытые метаданные. Например, наличие ключевых слов в качестве скрытых метаданных позволяет авторам утверждать, что их документы о чем-то отличном от реального (либо из-за попытки обмануть поисковую систему, либо из-за того, что авторы забывают обновить контент в обоих местах). Следовательно, отсоединение метаданных от контента, как в случае с JSON-LD, может (возможно!) Привести к тем же проблемам, которые существуют у современных поисковых систем со скрытыми метаданными. (Если или какие поисковые системы действительно обрабатывают это так, это вопрос, не относящийся к теме переполнения стека.)
Другое возможное преимущество для связи метаданных с контентом (например, с RDFa) заключается в том, что вы можете легко и автоматически генерировать ту же информацию в JSON-LD, Turtle и т. Д., Потому что все это просто RDF. Просто проанализируйте RDFa, конвертируйте в форматы по своему вкусу и вставьте (в script
) или ссылка (с rel
-alternate
) это если имеет смысл.
Но да, добавить RDFa часто сложнее, чем добавить BLOB-объект JSON-LD, потому что вам нужно адаптировать его к существующей разметке. (Однако, это не должно "нарушать проверку", если вы не делаете ошибки.)
Границы между Microdata, RDFa и JSON-LD действительно в настоящее время очень размыты, и что до сих пор не существует общепризнанного фактического факта среди этих трех. Это придется ждать сейчас. Возможно, пару или более лет.
Между тем, микроданные не должны быть помечены Schema.org, как вы упомянули, потому что эти две вещи разные. Schema.org - это словарь, поэтому его можно использовать для микроданных, RDFa и JSON-LD.
Использование Schema.org в качестве словаря и использование JSON-LD в качестве представления данных, вероятно, является наиболее ожидаемой парой из-за двух общих для них аспектов:
- Легко читать для людей; а также
- Легкий машиночитаемый
но, несмотря на это, между ними все еще есть разногласия, как в этом примере.
Что касается поддержки JSON-LD, так как Bing, Google, Yahoo!, и Яндекс признают использование schema.org, то, возможно, можно с уверенностью сказать, что они также поддерживают его, как в этом примере.
Обновление 2017
В последние пару лет Google активно продвигал JSON-LD-schema.org.
Кажется, что Google склоняется к использованию JSON-LD, но он не реализовал это для каждого варианта использования!
Google находится в процессе добавления поддержки JSON-LD к более мощным функциям разметки. Пока что JSON-LD поддерживается всеми функциями графа знаний, окнами поиска ссылок сайта, фрагментами с расширенными событиями и фрагментами с богатым набором рецептов; Google рекомендует использовать JSON-LD для этих функций. Для остальных типов Rich Snippets и хлебных крошек Google рекомендует использовать микроданные или RDFa.
(обновление ответов!)
О "популярности", пожалуйста, смотрите этот вопрос / ответы.
Микроданные на сегодняшний день являются самыми популярными: во вселенной из 34 миллионов доменов 5,63 миллиона (~17%) используют "разметку контента" (я буду использовать разметку жаргона) от RDFa (0,9 миллиона), микроданных (2,5 миллиона) или микроформаты, и менее половины используют отдельные семантические дескрипторы, отметив, что наиболее популярным является JSON-LD, с 2,12 млн (6%).
PS: мы предпочитаем "статистику по доменам" (вместо статистики по страницам), потому что страницы в одном домене в целом имеют одинаковые шаблоны и другие соглашения о соблюдении местных полномочий.
Во вселенной "доменов, выражающих семантику" (7,75 миллионов) статистический профиль:
- 73% разметки семантические
- 27% разделены семантически
- (... пересечение как микс "разделено + разметка" может быть нулевым для упрощения...)
Эмпирическое правило в 2017 году
Используйте семантику разметки с микроданными, а после нее, если вам нужно выразить что-то большее на машинах, используйте JSON-LD.
Используйте семантику разметки, потому что она наиболее популярна, и потому что помеченная как удовлетворенная будет проверяться / проверяться одновременно людьми и машинами.
Важно: помните, что Microdata, RDFa (стандарт W3C) и JSON-LD (стандарт W3C) могут быть (легко) переведены в RDF, поэтому все эти форматы совместимы.
PS: для таблиц HTML см. Также табличные метаданные W3C. Для открытых не HTML-ресурсов, таких как файлы CSV, используйте RDF-совместимую модель табличных данных W3C и / или https://github.com/frictionlessdata/specs.
Google использует JSON-LD в качестве справочных примеров для SEO структурированных данных для своего Графа знаний (компании и люди). См. https://developers.google.com/structured-data/customize/overview
Я лично использую комбинацию JSON-LD и микроданных для своих сайтов (на данный момент).
Я бы сказал, что у них есть другие способы определить, относится ли информация, которую вы предоставляете через JSON-LD, к их поисковой системе (например, проверка того, что ваша страница фактически говорит о том, о чем она говорит).
С нуля, JSON-LD будет путь. Давайте позволим одному из основных создателей JSON-LD, Ману Спорни, взвесить:
Стремление к созданию лучших веб-API-интерфейсов послужило причиной создания JSON-LD, а не семантической сети. Если вы хотите сделать семантическую сеть реальностью, прекратите доказывать это и потратьте время на то, чтобы сделать что-то более полезное, например, сделать машины умнее или помочь людям публиковать данные так, чтобы это было полезно для них.
JSON-LD предназначен для публикации данных способами, которые полезны / просты в реализации, потому что...
он основан на технологии, которую сегодня используют большинство веб-разработчиков.