Структурированные данные для действий, связанных с книгами (Book
)
Пользователи могут искать в Google Поиске книги и их авторов. Благодаря этому типу данных они смогут сразу же купить нужную книгу
(например, роман Война и мир) или взять ее напрокат. Если вы продаете книги, загрузите в Google фид с описанными здесь структурированными данными. В нашей спецификации есть действия ReadAction
(купить книгу) и BorrowAction
(взять напрокат).
Действия ReadAction и BorrowAction преобразуются в блоках знаний и других панелях Google в ссылки "Купить" и "В библиотеке". Нажав на такую ссылку, пользователь переходит на страницу книги на вашем сайте или в вашем приложении.
Порядок поставщиков в блоке знаний определяется индивидуально для каждого пользователя. То есть у каждого из них поставщики будут расположены по-разному, и даже для одного и того же пользователя в разных случаях блок знаний может быть разным. Это зависит от нескольких факторов. Например, если пользователь часто нажимает на ссылки одного из поставщиков, то этот поставщик, скорее всего, будет располагаться выше других в блоке знаний. Изменить этот порядок вручную нельзя.
Начало работы
Чтобы реализовать действия, связанные с книгами, создайте фид в соответствии со спецификацией структурированных данных Book. Но предварительно изучите следующие разделы:
- Правила
- Создание фида
- Проверка фида с помощью инструмента валидации
- Размещение фида
- Отправка фида на проверку
- Обновление фида
Правила
Если вы хотите, чтобы ваши книги появлялись в результатах в Поиске, ознакомьтесь с важной информацией и основными понятиями. Также не забывайте, что ваш фид должен соответствовать стандартизованным требованиям к этому формату.
Чтобы выполнить эти требования, изучите информацию, приведенную в этой статье, а также общие рекомендации по использованию структурированных данных и Главное о Поиске. Эти требования разделены на следующие категории:
- Произведения и издания
- Библиотечные сети и филиалы
- Номер ISBN и другие поддерживаемые идентификаторы
- Ссылки
Произведения и издания
В этой документации используются два термина, связанных с книгами:
- Произведение. Абстрактная книга, которая характеризуется такими атрибутами, как название, автор и язык оригинала.
- Издание. Определенный набор экземпляров книги, который характеризуется такими атрибутами, как год издания, название издания и номер ISBN.
Например, Война и мир – это произведение, которое может иметь несколько изданий: первое, второе, сокращенное, перевод на английский язык и т. д.
Об этом отличии (не всегда очевидном) особенно важно помнить при создании фида. Есть два элемента Book
:
Book
(Work
) – произведение. Это элементBook
верхнего уровня:workExample
– это свойство элементаWork
, которое обозначает один единственный экземпляр элементаBook
(Edition
).- У каждого элемента
Work
должно быть хотя бы одно свойствоworkExample
.
Book
(Edition
) – издание. Это элементBook
нижнего уровня.
У каждого произведения может быть несколько изданий. Издания рекомендуется объединять в как можно более крупные группы. Так алгоритмам Google будет проще обработать всю информацию о книге и представить ее в Поиске. При необходимости можно разбить их на несколько записей с произведениями, но тогда каждая запись должна иметь:
- уникальный идентификатор
@id
; - хотя бы одно издание с номером ISBN или другим поддерживаемым идентификатором.
Библиотечные сети и филиалы
Library entity
– элемент Library
верхнего уровня. Это обобщенное понятие, в которое входит элемент LibrarySystem
(библиотечная сеть) и элементы Library (member)
(филиал библиотеки), относящиеся к этой сети.
Элемент LibrarySystem
– это абстрактное понятие, обозначающее библиотечную сеть, которая состоит из филиалов библиотеки. Например, Публичную библиотеку Остина (штат Техас) можно представить элементом LibrarySystem
. На ее сайте указано, что это сеть публичных библиотек, обслуживающих город Остин в штате Техас. Она состоит из 20 аффилированных библиотек, или филиалов.
Каждый элемент LibrarySystem
должен иметь хотя бы один элемент Library (member)
, даже если в реальности библиотека не входит в библиотечную сеть. В таком случае просто считается, что она является единственным филиалом в сети. В отличие от библиотечной сети, филиал библиотеки не является абстракцией и имеет физический адрес.
Каждый филиал (элемент Library (member)
) должен принадлежать хотя бы к одной библиотечной сети (элемент LibrarySystem
).
Номер ISBN и другие поддерживаемые идентификаторы
Номер ISBN – это основной признак, который используется, когда Поиск сопоставляет данные фида с данными Google. Для всех книг, которые вы хотите сделать доступными в результатах поиска, нужно указать номер ISBN или другой поддерживаемый идентификатор. В противном случае ваши книги могут не сопоставляться с запросами пользователей и не показываться на странице результатов.
Для Google Поиска желательно использовать номера в формате ISBN-13, но также допускаются следующие идентификаторы:
- номер OCLC (система Компьютерного библиотечного онлайн-центра);
- номер LCCN (система Библиотеки Конгресса);
- номер JP e-code (система японского Комитета по изучению и управлению кодами электронных изданий).
Ссылки
Чтобы пользователям было удобно находить ваши книги, ссылки в фиде должны соответствовать следующим правилам:
- Если контент дублируется, используйте в качестве ссылки канонический URL, который содержит название и другую информацию о книге.
- Когда пользователь нажимает на ссылку, чтобы прочитать книгу, он должен переходить на страницу, где он может купить ее или взять напрокат. Не настраивайте переадресацию на страницы, где понадобится снова нажимать на ссылки, чтобы выполнить эти действия, например на страницу с результатами поиска или описанием книги.
Создание фида
Если на вашем сайте продаются книги, отправьте нам фид Book
. Узнайте у своего представителя Google, как и куда его загружать.
Если на вашем сайте пользователи могут брать книги напрокат, вам нужно отправить нам два фида: Book
и Library
. Узнайте у своего представителя Google, как и куда их загружать.
Требования к размеру файла, количеству и формату
Учитывайте перечисленные ниже требования.
- Размер файла:
- Размер несжатого файла с фидом не должен превышать 1 ГБ.
- Перед сжатием размер файла не должен превышать 1 ГБ. В противном случае его нужно разбить на несколько файлов.
- Файлы с фидами можно сжимать, используя следующие форматы: ZIP, GZ, TAR, TAR.GZ, JAR, AR, ARJ, CPIO или DUMP.
- Если у вас несколько файлов с фидами, их можно загрузить отдельно или включить в файл индекса Sitemap.
- Отдельные файлы с фидами должны иметь расширение
.json
.
Требования к содержанию фида
Соблюдайте перечисленные ниже требования к содержанию фида.
- В фиде не должно быть неактивных элементов. Неактивными считаются элементы, у которых в свойстве
availabilityEnds
задана прошедшая дата, и те, которых больше нет на вашем сайте. - Все ссылки на контент (например,
urlTemplate
) и все URL (например,url
) в фиде должны быть рабочими. URL, которые используются для тестирования, разработки или других целей, отличных от рабочих, не допускаются. - Все URL (например,
url
) должны быть каноническими. - Для каждого элемента в фиде должны быть заданы следующие свойства:
- уникальный идентификатор
@id
; - уникальный URL
url
; - уникальная ссылка на контент
urlTemplate
.
- уникальный идентификатор
Проверка фида с помощью инструмента валидации
Если проверка фида с помощью инструмента валидации показала наличие ошибок или предупреждений, рекомендуем выполнить следующие действия, чтобы устранить их:
-
Выберите нужный вариант в поле Проверить. Для элемента
Book
это должно быть Действие с книгами. - Убедитесь, что в значении параметра
@type
нет ошибок. - Проверьте, правильно ли указано значение параметра
@context
. Установите значение"@context": "https://schema.org"
и дляReadAction
, и дляBorrowAction
.
Размещение фида
Завершив создание фида, поместите его в надежное хранилище так, чтобы у Google был к нему доступ для периодического обновления информации о ваших книгах.
Где можно размещать фиды
Поддерживаются следующие варианты размещения:
Хостинг | Поддерживаемые методы аутентификации | |
---|---|---|
Google Cloud Storage | Разрешение для Наблюдателя объектов в хранилище | |
HTTPS | Имя пользователя и пароль или сертификат клиента для HTTP-соединения | |
SFTP | Пароль или ключ с кодовой фразой (или оба этих варианта) | |
AWS S3 | Идентификатор ключа и ключ доступа |
Отправка фида на проверку
Прежде чем ваши книги появятся в Google Поиске, наши специалисты должны проверить качество используемых в фиде ссылок на контент. Мы настоятельно рекомендуем вам вручную проверить хотя бы некоторые из них и убедиться, что они ведут на страницы, на которых можно купить книгу или получить временный доступ к ней.
Чтобы запросить проверку фида, укажите следующую информацию:
- где находится фид – URL файла с фидом;
- способ аутентификации – учетные данные для доступа Google к фиду.
Обновление фида
Мы рекомендуем обновлять фид ежедневно, но в конечном итоге периодичность обновления зависит от того, как часто изменяется ваш каталог. Также учитывайте следующее:
- В Google Поиске не поддерживаются обновления в режиме реального времени.
- Google Поиск считывает фид один раз в сутки и индексирует контент (как правило) в течение двух дней.
- Если срок доступности издания в ближайшем будущем будет изменен, укажите точные даты с помощью свойств
availabilityStarts
иavailabilityEnds
. Если элемент недоступен, его необходимо удалить.
Типы структурированных данных
Чтобы контент мог появиться в структурированных результатах поиска, необходимо задать все указанные здесь обязательные свойства. Вы также можете добавить рекомендуемые свойства, чтобы пользователи получали больше полезной информации.
Элемент DataFeed
Каждый файл с фидом данных schema.org, переданный в Google, должен содержать единственный элемент DataFeed
на корневом уровне. Все элементы Book
и Library
должны быть перечислены в поле dataFeedElement
элемента DataFeed
.
Google поддерживает следующие свойства:
Обязательные свойства | |
---|---|
@context |
Должно иметь значение |
@type |
Должно иметь значение |
dataFeedElement |
Должны иметь в качестве значения один элемент Пример использования для фида { "@context": "https://schema.org", "@type": "DataFeed", "dataFeedElement": [ { "@context": "https://schema.org", "@type": "Book", "@id": "https://example.com/work/the_catcher_in_the_rye", "url": "https://example.com/work/the_catcher_in_the_rye", "name": "The Catcher in the Rye", "author": { "@type": "Person", "name": "J.D. Salinger" }, "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye", "workExample": [ { "@type": "Book", "@id": "https://example.com/edition/the_catcher_in_the_rye_paperback", "isbn": "9787543321724", "bookEdition": "Mass Market Paperback", "bookFormat": "https://schema.org/Paperback", "inLanguage": "en", ... }, ... ] } ], "dateModified": "2018-09-10T13:58:26.892Z" } Пример использования для фида { "@context": "https://schema.org", "@type": "DataFeed", "dataFeedElement": [ { "@context": "https://schema.org", "@type": "LibrarySystem", "@id": "https://example.com/library-systems/100", "name": "Santa Clara County Library District", "additionalProperty": [ { "@type": "PropertyValue", "name": "librarytype", "value": "public" } ], ... }, ... ], "dateModified": "2018-09-10T13:58:26.892Z" } |
dateModified |
Дата и время последнего обновления фида в формате ISO 8601. |
Элемент Book
Полное определение элемента Book
приведено на странице schema.org/Book. Однако вам достаточно ознакомиться с описанными ниже свойствами. Для каждой книги, включенной в фид, необходимо указать обязательные свойства. Вы также можете задать рекомендуемые свойства, чтобы пользователи получали больше полезной информации.
Элемент Book
(Work
)
Этот элемент Book
относится к верхнему уровню разметки и соответствует произведению.
Google поддерживает следующие свойства:
Обязательные свойства | |
---|---|
@context |
Должно иметь значение |
@id |
Уникальный идентификатор книги в формате URL. Этот идентификатор не должен повторяться в пределах вашей организации. Его нельзя изменять. Использование формата URL – рекомендация, а не требование. Это не обязательно должна быть рабочая ссылка, но домен, указанный в идентификаторе |
@type |
Должно иметь значение |
author |
Авторы книги. |
name |
Название книги. |
url |
URL страницы с презентацией или описанием книги на вашем сайте. Эта ссылка помогает точно сопоставить контент в фиде с контентом в базах данных Google. Значение этого свойства может совпадать со значением свойства Для фактических целевых страниц в Google Поиске используется URL, указанный в свойстве |
workExample |
Издания произведения. |
Рекомендуемые свойства | |
---|---|
sameAs |
URL страницы с информацией, идентифицирующей произведение. Это может быть страница книги в Википедии, Викиданных, Виртуальном каталоге международного нормативного контроля информации о произведениях и их авторах (VIAF) или на сайте Библиотеки Конгресса. |
Элемент Book
(Edition
)
Этот элемент Book
используется в свойстве workExample
и обозначает издание произведения.
Google поддерживает следующие свойства:
Обязательные свойства | |
---|---|
@id |
Уникальный идентификатор книги в формате URL. Этот идентификатор не должен повторяться в пределах вашей организации. Его нельзя изменять. Использование формата URL – рекомендация, а не требование. Это не обязательно должна быть рабочая ссылка, но домен, указанный в идентификаторе |
@type |
Должно иметь значение |
bookFormat |
Формат издания. Возможные значения:
|
inLanguage |
Основной язык издания. Укажите двухбуквенный код по стандарту ISO 639-1 alpha-2. |
isbn |
Номер ISBN-13 издания. Если у вас есть номер ISBN-10, преобразуйте его в формат ISBN-13. |
potentialAction |
Действие, которое пользователи выполняют с книгой, – покупка или скачивание. Подробнее: |
Рекомендуемые свойства | |
---|---|
author |
Авторы издания. |
bookEdition |
Информация об издании книги в свободном формате, например |
datePublished |
Дата публикации издания в формате YYYY-MM-DD (ГГГГ-ММ-ДД) или YYYY (ГГГГ). Можно указать точную дату или только год. |
identifier |
Внешний или другой идентификатор, позволяющий точно идентифицировать издание. Идентификаторов может быть несколько. Подробнее: Это свойство может повторяться. |
name |
Название издания. Используйте это свойство, только если название издания отличается от названия произведения. |
sameAs |
URL веб-страницы с подробной информацией, которая позволяет однозначно идентифицировать издание. Например, страница с описанием этого издания в Википедии. Не используйте повторно свойство |
url |
URL страницы с презентацией или описанием издания на вашем сайте. Значение этого свойства может совпадать со значением свойства |
Пример Book
(Edition
):
"workExample": { "@type": "Book", "@id": "https://example.com/book/100", "inLanguage": "en", "isbn": "9787543321724", "bookEdition": "20 Anniversary Edition", "datePublished": "2000-02-26", "bookFormat": "https://schema.org/Hardcover", "potentialAction": {...} }
Пример Book
(Edition
) с несколькими свойствами workExample
:
"workExample": [ { "@type": "Book", "@id": "https://example.com/book/200", "inLanguage": "zh", "isbn": "9787543321721", "bookEdition": "2nd Edition", "bookFormat": "https://schema.org/Hardcover", "potentialAction": {...} }, { "@type": "Book", "@id": "https://example.com/book/300", "inLanguage": "zh", "isbn": "9787543321722", "bookEdition": "1st Edition", "bookFormat": "https://schema.org/EBook", "potentialAction": {...} } ]
Элемент Person
или Organization
(author
)
С использованием элемента Person
или Organization
задается свойство author
.
Обязательные свойства | |
---|---|
@type |
Должно иметь значение |
name |
Имя человека или название организации. |
Рекомендуемые свойства | |
---|---|
sameAs |
URL веб-страницы с подробной информацией, которая позволяет однозначно идентифицировать человека или организацию. Например, это может быть страница в Википедии. |
Пример author
:
"author": { "@type": "Person", "name": "William Shakespeare" }
Пример с несколькими свойствами author
:
"author": [ { "@type": "Person", "name": "William Shakespeare" }, { "@type": "Person", "name": "Victor Hugo", "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo" } ]
Элемент PropertyValue (identifier)
Элемент PropertyValue
используется в свойстве identifier
элемента Edition
.
Обязательные свойства | |
---|---|
@type |
Должно иметь значение |
propertyID |
Тип идентификатора. Может принимать следующие значения (см. раздел Номер ISBN и другие поддерживаемые идентификаторы):
|
value |
Значение идентификатора. Внешний идентификатор, позволяющий точно идентифицировать издание. Из внешнего идентификатора следует удалить все начальные нецифровые символы. |
Пример identifier
:
"identifier": { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }
Пример с несколькими свойствами identifier
:
"identifier": [ { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }, { "@type": "PropertyValue", "propertyID": "LCCN", "value": "220123456" },{ "@type": "PropertyValue", "propertyID": "JP_E-CODE", "value": "12345678901234567890" }]
Пример фида ReadAction
Book
в JSON-файле
{ "@context": "https://schema.org", "@type": "DataFeed", "dataFeedElement": [ { "@context": "https://schema.org", "@type": "Book", "@id": "https://example.com/work/the_catcher_in_the_rye", "url": "https://example.com/work/the_catcher_in_the_rye", "name": "The Catcher in the Rye", "author": { "@type": "Person", "name": "J.D. Salinger" }, "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye", "workExample": [ { "@type": "Book", "@id": "https://example.com/edition/the_catcher_in_the_rye_paperback", "isbn": "9787543321724", "bookEdition": "Mass Market Paperback", "bookFormat": "https://schema.org/Paperback", "inLanguage": "en", "url": "https://example.com/edition/the_catcher_in_the_rye_paperback", "datePublished": "1991-05-01", "identifier": { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "1057320822" }, "potentialAction": { "@type": "ReadAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://example.com/store/9787543321724", "actionPlatform": [ "https://schema.org/DesktopWebPlatform", "https://schema.org/AndroidPlatform", "https://schema.org/IOSPlatform" ] }, "expectsAcceptanceOf": { "@type": "Offer", "category": "purchase", "price": 6.99, "priceCurrency": "USD", "availabilityStarts": "2020-01-01T11:0:00-04:00", "availabilityEnds": "2050-06-30T23:59:00-04:00", "eligibleRegion": { "@type": "Country", "name": "US" } } } }, { "@type": "Book", "@id": "https://example.com/edition/the_catcher_in_the_rye_hardcover", "isbn": "9780316769532", "bookEdition": "Hardcover", "bookFormat": "https://schema.org/Hardcover", "inLanguage": "en", "url": "https://example.com/edition/the_catcher_in_the_rye_hardcover", "datePublished": "1951-07-16", "potentialAction": { "@type": "ReadAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://example.com/store/9780316769532", "actionPlatform": [ "https://schema.org/DesktopWebPlatform", "https://schema.org/AndroidPlatform", "https://schema.org/IOSPlatform" ] }, "expectsAcceptanceOf": [ { "@type": "Offer", "category": "nologinrequired", "availabilityStarts": "2020-01-01T11:0:00-04:00", "availabilityEnds": "2050-06-30T23:59:00-04:00", "eligibleRegion": [ { "@type": "Country", "name": "US" }, { "@type": "Country", "name": "GB" } ] }, { "@type": "Offer", "category": "Subscription", "availabilityStarts": "2020-01-01T11:0:00-04:00", "availabilityEnds": "2050-06-30T23:59:00-04:00", "eligibleRegion": { "@type": "Country", "name": "IN" } } ] } } ] } ], "dateModified": "2018-09-10T13:58:26.892Z" }
Пример фида BorrowAction
Book
в JSON-файле
{ "@context": "https://schema.org", "@type": "DataFeed", "dataFeedElement": [ { "@context": "https://schema.org", "@type": "Book", "@id": "https://example.com/work/the_catcher_in_the_rye", "url": "https://example.com/work/the_catcher_in_the_rye", "name": "The Catcher in the Rye", "author": { "@type": "Person", "name": "J.D. Salinger" }, "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye", "workExample": [ { "@type": "Book", "@id": "https://example.com/edition/the_catcher_in_the_rye_paperback", "isbn": "9787543321724", "bookEdition": "Mass Market Paperback", "bookFormat": "https://schema.org/Paperback", "inLanguage": "en", "url": "https://example.com/edition/the_catcher_in_the_rye_paperback", "datePublished": "1991-05-01", "identifier": { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "1057320822" }, "potentialAction": { "@type": "BorrowAction", "lender": { "@type": "LibrarySystem", "@id": "https://example.com/librarySystem/100" }, "target": { "@type": "EntryPoint", "urlTemplate": "https://example.com/borrowpurchase?bookId=170", "actionPlatform": [ "https://schema.org/DesktopWebPlatform", "https://schema.org/AndroidPlatform", "https://schema.org/IOSPlatform" ] } } }, { "@type": "Book", "@id": "https://example.com/edition/the_catcher_in_the_rye_hardcover", "isbn": "9780316769532", "bookEdition": "Hardcover", "bookFormat": "https://schema.org/Hardcover", "inLanguage": "en", "url": "https://example.com/edition/the_catcher_in_the_rye_hardcover", "datePublished": "1951-07-16", "potentialAction": { "@type": "BorrowAction", "lender": { "@type": "LibrarySystem", "@id": "https://example.com/librarySystem/100" }, "target": [ { "@type": "EntryPoint", "urlTemplate": "https://example.com/borrowpurchase?bookId=170", "actionPlatform": [ "https://schema.org/DesktopWebPlatform" ] }, { "@type": "EntryPoint", "urlTemplate": "https://example.com/mobile/borrowpurchase?bookId=170", "actionPlatform": [ "https://schema.org/AndroidPlatform", "https://schema.org/IOSPlatform" ] } ] } } ] } ], "dateModified": "2018-09-10T13:58:26.892Z" }
Элемент ReadAction
(potentialAction
)
Элемент ReadAction
используется в свойстве potentialAction
.
В элементе ReadAction
определяются ссылки на контент, предоставляющие доступ к книге, продавец, у которого ее можно купить, и критерии, которым должны соответствовать пользователи (регистрация, вход в аккаунт, местоположение или другие требования для доступа к книге).
Обязательные свойства | |
---|---|
@type |
Должно иметь значение |
expectsAcceptanceOf |
Определение критериев пользователей, которые могут получить доступ к книге. Если задано несколько свойств Это свойство может повторяться. |
expectsAcceptanceOf.@type |
Должно иметь значение |
expectsAcceptanceOf.category |
Тип свойства
|
expectsAcceptanceOf.eligibleRegion |
Страна, в которой действует предложение ( Это свойство может повторяться. |
expectsAcceptanceOf.eligibleRegion.@type |
Должно иметь значение |
expectsAcceptanceOf.eligibleRegion.name |
Код страны в формате ISO 3166-1 alpha-2. |
target |
Спецификация ссылки на контент с информацией о поддерживаемой платформе. Чтобы определить разные ссылки на контент для разных платформ, можно использовать несколько свойств Это свойство может повторяться. |
target.@type |
Должно иметь значение |
target.actionPlatform |
Платформы, для которых можно использовать ссылку на контент. Возможные значения:
Это свойство может повторяться. |
target.urlTemplate |
Ссылка, которая ведет непосредственно к контенту на целевой странице. |
Рекомендуемые свойства | |
---|---|
expectsAcceptanceOf.availabilityEnds |
Время окончания периода доступности. С помощью этого свойства можно указать точное время, до которого книга будет доступна пользователям. |
expectsAcceptanceOf.availabilityStarts |
Время начала периода доступности. С помощью этого свойства можно указать точное время, когда книга станет доступна пользователям. |
expectsAcceptanceOf.price |
Покупная цена книги. Это свойство является обязательным, если категории ( |
expectsAcceptanceOf.priceCurrency |
Валюта, в которой указана цена, в трехбуквенном формате ISO 4217. |
Пример ReadAction
:
"potentialAction": { "@type": "ReadAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://example.com/purchase?bookId=170", "actionPlatform": [ "https://schema.org/DesktopWebPlatform", "https://schema.org/AndroidPlatform", "https://schema.org/IOSPlatform" ] }, "expectsAcceptanceOf": { "@type": "Offer", "category": "purchase", "price": "9.99", "priceCurrency": "USD", "availabilityStarts": "2018-04-01T11:01:00-04:00", "availabilityEnds": "2018-06-30T23:59:00-04:00", "eligibleRegion": { "@type": "Country", "name": "US" } } }
Пример ReadAction
с несколькими свойствами EntryPoint
:
"potentialAction": { "@type": "ReadAction", "target": [ { "@type": "EntryPoint", "urlTemplate": "https://example.com/purchase?bookId=170", "actionPlatform": [ "https://schema.org/DesktopWebPlatform" ] }, { "@type": "EntryPoint", "urlTemplate": "https://example.com/mobile/purchase?bookId=170", "actionPlatform": [ "https://schema.org/AndroidPlatform", "https://schema.org/IOSPlatform" ] } ], "expectsAcceptanceOf": [ { "@type": "Offer", "category": "noLoginRequired", "availabilityStarts": "2018-04-01T11:01:00-04:00", "availabilityEnds": "2018-06-30T23:59:00-04:00", "eligibleRegion": [ { "@type": "Country", "name": "US" }, { "@type": "Country", "name": "GB" } ] }, { "@type": "Offer", "category": "Subscription", "availabilityStarts": "2018-04-01T11:01:00-04:00", "availabilityEnds": "2018-06-30T23:59:00-04:00", "eligibleRegion": { "@type": "Country", "name": "IN" } } ] }
Элемент BorrowAction
(potentialAction
)
Элемент BorrowAction
используется в свойстве potentialAction
.
В элементе BorrowAction
определяются ссылки на контент, предоставляющие доступ к книге, библиотека, где ее можно взять, и критерии, которым должны соответствовать пользователи (регистрация, вход в аккаунт, местоположение или другие требования для доступа к книге).
Обязательные свойства | |
---|---|
@type |
Должно иметь значение |
lender |
Библиотечная сеть, в которой можно получить это издание. |
lender.@id |
Идентификатор библиотечной сети |
lender.@type |
Должно иметь значение |
target |
Спецификация ссылки на контент с информацией о поддерживаемой платформе. Чтобы задать ссылки на контент для разных платформ, используйте массив Это свойство может повторяться. |
target.@type |
Должно иметь значение |
target.actionPlatform |
Платформы, для которых можно использовать ссылку на контент. Возможные значения:
Это свойство может повторяться. |
target.urlTemplate |
Ссылка, которая ведет непосредственно к контенту на целевой странице. |
Пример BorrowAction
:
"potentialAction": { "@type": "BorrowAction", "lender": { "@type": "LibrarySystem", "@id": "https://example.com/librarySystem/100" }, "target": { "@type": "EntryPoint", "urlTemplate": "https://example.com/borrow?bookId=170", "actionPlatform": [ "https://schema.org/DesktopWebPlatform", "https://schema.org/AndroidPlatform", "https://schema.org/IOSPlatform" ] } }
Пример BorrowAction
с несколькими свойствами EntryPoint
:
"potentialAction": { "@type": "BorrowAction", "lender": { "@type": "LibrarySystem", "@id": "https://example.com/librarySystem/100" }, "target": [ { "@type": "EntryPoint", "urlTemplate": "https://example.com/borrow?bookId=170", "actionPlatform": [ "https://schema.org/DesktopWebPlatform" ] }, { "@type": "EntryPoint", ` "urlTemplate": "https://example.com/mobile/borrow?bookId=170", "actionPlatform": [ "https://schema.org/AndroidPlatform", "https://schema.org/IOSPlatform" ] } ] }
Элемент Library
Полное определение элемента Library
приведено на странице schema.org/Library. Однако вам достаточно ознакомиться с описанными ниже свойствами. Для каждой библиотеки, включенной в фид, необходимо указать обязательные свойства.
Кроме того, вы можете задать рекомендуемые свойства, чтобы добавить больше информации о своем контенте и повысить удобство использования.
Этот элемент Library
является элементом Library
верхнего уровня. Это абстрактный конструкт, состоящий из элемента LibrarySystem
(библиотечная сеть), который включает элементы Library (member)
нижнего уровня, относящиеся к LibrarySystem
.
Library
и Book
– это разные фиды. И если вы создаете фид Library
, его не следует смешивать с фидом Book
.
Подробнее о создании фидов…
Элемент LibrarySystem
Элемент LibrarySystem
обозначает сеть библиотечных филиалов.
Обязательные свойства | |
---|---|
@context
|
Text
Должно иметь значение |
@id
|
URL
Уникальный идентификатор библиотечной системы в формате URL. Его нельзя изменять. Он интерпретируется как непрозрачная строка, поэтому рабочую ссылку указывать необязательно. Домен, указанный в идентификаторе |
@type
|
Text
Должно иметь значение |
additionalProperty
|
PropertyValue
Дополнительное свойство, которое обозначает тип библиотеки. |
additionalProperty.@type
|
Text
Должно иметь значение |
additionalProperty.name
|
Text
Должно иметь значение |
additionalProperty.value
|
Text
Тип библиотеки. Возможные значения:
|
member
|
Library
Филиалы библиотечной сети. |
name
|
Text
Название библиотечной сети, например |
url
|
URL
URL страницы с презентацией или описанием библиотечной сети. Эта ссылка помогает Поиску точно сопоставить контент в фиде с контентом в базах данных Google. Для фактических целевых страниц в Google Поиске используется URL, указанный в свойстве |
Элемент Library
(member
)
Элемент Library (member)
используется в свойстве member
элемента LibrarySystem
.
Элемент Library (member)
обозначает один филиал библиотечной сети.
Обязательные свойства | |
---|---|
@id
|
URL
Уникальный идентификатор библиотечного филиала в формате URL. Его нельзя изменять. Он интерпретируется как непрозрачная строка, поэтому рабочую ссылку указывать необязательно. Домен, указанный в идентификаторе |
@type
|
Text
Должно иметь значение |
location
|
PostalAddress
Почтовый адрес филиала библиотеки. Некоторые свойства могут быть неприменимы в той или иной стране. Используйте все свойства, которые требуются для адресов ваших библиотек. Пример для элемента { "@type": "Library", "@id": "https://example.com/library-branches/1001", "name": "Campbell Library", "location": { "@type": "PostalAddress", "streetAddress": "77 Harrison Ave", "addressLocality": "Campbell", "addressRegion": "CA", "postalCode": "95008", "addressCountry": "US" } } Пример для элемента { "@type": "Library", "@id": "https://example.com/library-branches/1003", "name": "Tokyo Metropolitan Central Library", "location": { "@type": "PostalAddress", "streetAddress": "7-13-5 Minamiazabu, Minato City", "addressLocality": "Tokyo", "postalCode": "106-0047", "addressCountry": "JP" } } |
location.@type
|
Text
Должно иметь значение |
location.addressCountry
|
Text
Код страны в формате ISO 3166-1, например |
location.addressLocality
|
Text
Населенный пункт, например |
location.addressRegion
|
Text
Регион, область, штат и т. п., например |
location.postalCode
|
Text
Почтовый индекс, например |
location.streetAddress
|
Text
Почтовый адрес, например |
name
|
Text
Название филиала библиотеки. |
Пример JSON-файла с фидом LibrarySystem
{ "@context": "https://schema.org", "@type":"LibrarySystem", "@id":"https://example.com/library-systems/100", "name":"Santa Clara County Library District", "additionalProperty":[ { "@type":"PropertyValue", "name":"librarytype", "value":"public" } ], "member":[ { "@type":"Library", "@id":"https://example.com/library-branches/1001", "name":"Campbell Library", "location":{ "@type":"PostalAddress", "streetAddress":"77 Harrison Ave", "addressLocality":"Campbell", "addressRegion":"CA", "postalCode":"95008", "addressCountry":"US" } }, { "@type":"Library", "@id":"https://example.com/library-branches/1002", "name":"Gilroy Library", "location":{ "@type":"PostalAddress", "streetAddress":"350 W 6th St", "addressLocality":"Gilroy", "addressRegion":"CA", "postalCode":"95020", "addressCountry":"US" } } ] }