Какие бывают типы микроразметки?
Семантическая разметка состоит из двух ключевых понятий: словари и синтаксис, именно две эти вещи вместе образуют разметку, и разные словари могут применяться с разными синтаксисами. Что такое «словарь»? — Это соглашение о том, как будут называться сущности, и как они будут друг с другом соотноситься: какая будет вложенность в иерархии, какие поля каким сущностям принадлежат.
Словари бывают универсальные, — например, shema.org;
и специализированные, — например, goodrelations для товаров. Кроме того, вы всегда можете написать свой словарь, и договориться с другими, как вы будете использовать этот словарь.
Мы рисовали тут недавно карту. Примерно так выглядит в нашем понимании карта словарей: большой материк OpenGraph, его, правда, много в Интернете, чуть поменьше: shema.org; и дальше — маленькие острова других словарей.
На примере HTML-кода, это выглядит так, где красным выделены те части, которые относятся к словарю. То есть, здесь это название типа и название его свойств.
Что такое «синтаксис»? — Это договорённость о том, каким способом сущности будут внедряться в существующий HTML-код, с помощью каких атрибутов, тегов.
Синтаксиса всего 4:
— Лигалас — это RDFA-синтаксис; здесь есть prefix, property — по этим ключевым словам вы можете узнать этот синтаксис.
— Товарищ Гимли у нас представляет json-ld,— это почти обычный Джейсон, в котором есть контекст, и некоторые другие особенности, о которых я позже расскажу.
— Гэндальф у нас представляет микроданные. Его вы можете узнать по словам Itemscope, itemtype, Itemprop.
— Ну, и несчастный Бэггинс представляет форматы, о которых я подробно рассказывать не буду, потому что это достаточно устаревающий сейчас формат. То есть, рекомендовать я его новым людям не стану, хоть он ещё и поддерживается, но внедрение его нежелательно.
Что важно знать про микронные?
— Itemscope — говорит о том, что внутри данного HTML-тега содержится некая сущность. (продукт, товар, услуга, организация);
— Itemtype — говорит о том, какого типа эта сущность, Itemscope и Itemtype всегда идут в паре; одно без другого лучше не указывать;
— Itemprop — указывает на свойства сущности, все Itemprop должны лежать внутри HTML-тега, в котором объявлена сущность, к которой они относятся.
Что важно знать про JSON-LD?
- @context определяет словарь; например, shema.org;
- @type описывает тип описываемой сущности;
- Ключи и значения чувствительны к регистру; то есть, маленькая или большая буква — имеет значение;
- Имена ключей в одном и том же объекте, в отличие от обычного JSON, не должны повторятся. Если у вас есть несколько значений для одного свойства, то используйте массивы;
Что важно знать про RDFa?
- Если в коде есть префиксы, то есть, — ug: , то это префикс, то их лучше явно указывать в теге <html> атрибутом prefix, потому что, если вы этого не сделаете , то вас могут не понять или могут понять не правильно;
- Свойства задаются атрибутом property;
- Типы указываются с помощью атрибута typeof;
Какие бывают популярные сочетания словарей?
OpenGraph всегда использует синтаксис RDFa,
Shema.org более гибкая, она используется и в микроданных, и JSON-LD, и вообще-то в RDFa, но это менее популярный вариант, его совсем мало в Интернете.
Data-vocabulary.org — достаточно старый словарь, он используется сейчас в основном с RDFa.