Элемент Book

Пользователи могут искать в Google Поиске книги и их авторов. Благодаря этому типу данных они смогут сразу же купить нужную книгу или открыть ее для чтения в электронном виде. Например, если пользователь ищет роман Война и мир, он может прямо из результатов поиска купить его или открыть для чтения. Если вы продаете книги, загрузите в Google фид с описанной здесь схемой структурированных данных. В нашей спецификации есть действия ReadAction (купить книгу) и BorrowAction (открыть для чтения).

Действия с книгой в результатах поиска

Действия ReadAction и BorrowAction отображаются в блоках знаний и других панелях Google в виде ссылок "Получить книгу" и "Книга" и позволяют соответственно купить книгу или открыть ее для чтения. Нажав на такую ссылку, пользователь переходит на страницу книги на вашем сайте или в вашем приложении.

Порядок поставщиков в блоке знаний персонализируется и определяется динамически для каждого пользователя. То есть у разных пользователей поставщики будут упорядочены по-разному и даже у одного и того же пользователя порядок их следования может меняться. Это зависит от нескольких факторов. Например, если пользователь часто нажимает на ссылки одного из поставщиков, то этот поставщик, скорее всего, будет располагаться выше других в блоке знаний. Изменить этот порядок вручную нельзя.

Введение

Чтобы реализовать действия, связанные с книгами, создайте фид в соответствии с типами структурированных данных, предварительно изучив следующие разделы:

Правила

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

Чтобы выполнить эти требования, изучите информацию, приведенную в этой статье, а также общие рекомендации по использованию структурированных данных и рекомендации для веб-мастеров. Ниже рассматриваются следующие темы:

Произведения и издания

В этой документации используются два термина, связанных с книгами:

  • Произведение. Абстрактная концепция, которая характеризуется такими атрибутами, как название, автор и язык оригинала.
  • Издание. Определенный набор экземпляров книги, который характеризуется такими атрибутами, как год издания, название издания и номер ISBN.

Например, Война и мир – это произведение, которое может иметь несколько изданий: первое, второе, сокращенное, перевод на английский язык и т. д.

Об этом отличии (не всегда очевидном) особенно важно помнить при создании фида. Есть два элемента Book (Book entities):

  • 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 (Online Computer Library Center);
  • контрольный номер Библиотеки Конгресса LCCN (Library of Congress Control Number).

Чтобы пользователям было удобно находить ваши книги, ссылки в фиде должны соответствовать следующим правилам:

  • Если контент дублируется, используйте в качестве ссылки канонический 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": "http://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.

Обязательные свойства и определения
@context

Text

Должно иметь значение http://schema.org.

@type

Text

Должно иметь значение DataFeed.

dataFeedElement

Book или LibrarySystem

Должны иметь в качестве значения один элемент Book или LibrarySystem. Также в качестве значений можно использовать массив, состоящий только из элементов Book или только из элементов LibrarySystem. Не используйте массивы, в которых есть и элементы Book, и элементы LibrarySystem.

Пример использования для фида Book:


{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "http://schema.org",
      "@type": "Book",
      "@id": "http://example.com/work/the_catcher_in_the_rye",
      "url": "http://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": "http://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "http://schema.org/Paperback",
          "inLanguage": "en",
          ...
        },
        ...
      ]
   }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

Пример использования для фида LibrarySystem:


{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "http://schema.org",
      "@type": "LibrarySystem",
      "@id": "http://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

DateTime

Дата и время последнего обновления фида в формате ISO 8601.

Элемент Book

Полное определение элемента Book приведено на странице schema.org/Book. Однако вам достаточно ознакомиться с описанными ниже свойствами. Для каждой книги, включенной в фид, необходимо указать обязательные свойства. Кроме того, вы можете задать рекомендуемые свойства, чтобы добавить больше информации о своем контенте и повысить удобство использования.

Элемент Book (Work)

Этот элемент Book является элементом верхнего уровня и соответствует произведению.

Обязательные свойства и определения
@context

Text

Должно иметь значение http://schema.org.

@id

Text

Уникальный (на уровне вашей организации) идентификатор книги в формате URL. Его нельзя изменять. Использование формата URL – рекомендация, а не требование. Это не обязательно должна быть рабочая ссылка, но домен, указанный в идентификаторе @id, должен принадлежать вашей организации.

@type

Text

Должно иметь значение Book.

author

Person

Авторы книги.

name

Text

Название книги.

url

URL

URL страницы с презентацией или описанием книги на вашем сайте. Эта ссылка помогает точно сопоставить контент в фиде с контентом в базах данных Google. Значение этого свойства может совпадать со значением свойства workExample.target.urlTemplate.

Для фактических целевых страниц в Google Поиске используется URL, указанный в свойстве workExample.target.urlTemplate.

workExample

Book (Edition)

Издания произведения.

Рекомендуемые свойства и определения
sameAs

URL

URL веб-страницы с подробной информацией, которая позволяет однозначно идентифицировать произведение. Например, страница с описанием этой книги в Википедии, Викиданных, Виртуальном каталоге международного нормативного контроля информации о произведениях и их авторах (VIAF) или на сайте Библиотеки Конгресса.

Элемент Book (Edition)

Этот элемент Book используется в свойстве workExample и обозначает издание произведения.

Обязательные свойства и определения
@id

Text

Уникальный (на уровне вашей организации) идентификатор книги в формате URL. Его нельзя изменять. Использование формата URL – рекомендация, а не требование. Это не обязательно должна быть рабочая ссылка, но домен, указанный в идентификаторе @id, должен принадлежать вашей организации.

@type

Text

Должно иметь значение Book.

bookFormat

Enum

Вид переплета или формат издания. Возможные значения:

  • http://schema.org/AudiobookFormat
  • http://schema.org/EBook
  • http://schema.org/Hardcover
  • http://schema.org/Paperback
inLanguage

Text

Основной язык издания. Если используется несколько языков, добавьте их коды в формате ISO 639-1 alpha-2.

isbn

Text

Номер ISBN-13 издания. Если у вас есть номер ISBN-10, конвертируйте его в формат ISBN-13. Если номер ISBN не предусмотрен для того или иного формата (например, для электронной книги), используйте номер ISBN соответствующего печатного издания.

potentialAction

ReadAction или BorrowAction

Действие, которое пользователи выполняют с книгой, – покупка или скачивание. Подробнее о действиях ReadAction и BorrowAction

Рекомендуемые свойства и определения
author

Person

Авторы издания.

bookEdition

Text

Информация об издании книги в свободном формате, например 2nd Edition (2-е издание).

datePublished

Date

Дата публикации издания в формате YYYY-MM-DD (ГГГГ-ММ-ДД) или YYYY (ГГГГ). Можно указать точную дату или только год.

identifier

PropertyValue

Внешний или другой идентификатор, позволяющий точно идентифицировать издание. Идентификаторов может быть несколько. Подробные сведения об этом приведены в разделе PropertyValue (идентификатор).

Это свойство может повторяться.

name

Text

Название издания. Используйте это свойство, только если название издания отличается от названия произведения.

sameAs

URL

URL веб-страницы с подробной информацией, которая позволяет однозначно идентифицировать издание. Например, страница с описанием этого издания в Википедии. Не используйте повторно свойство sameAs элемента Work.

url

URL

URL страницы с презентацией или описанием издания на вашем сайте. Значение этого свойства может совпадать со значением свойства workExample.target.urlTemplate.

Пример Book (Edition):

"workExample":
        {
          "@type": "Book",
          "@id": "http://example.com/book/100",
          "inlanguage": "en",
          "isbn": "8920000030001",
          "bookEdition": "20 Anniversary Edition",
          "datePublished": "2000-02-26",
          "bookFormat": "http://schema.org/Hardcover",
          "potentialAction": {...}
        }

Пример Book (Edition) с несколькими свойствами workExample:

"workExample": [
        {
          "@type": "Book",
          "@id": "http://example.com/book/200",
          "inlanguage": "zh",
          "isbn": "9000031676948",
          "bookEdition": "2nd Edition",
          "bookFormat": "http://schema.org/Hardcover",
          "potentialAction": {...}
        },
        {
          "@type": "Book",
          "@id": "http://example.com/book/300",
          "inlanguage": "zh",
          "isbn": "90000031676947",
          "bookEdition": "1st Edition",
          "bookFormat": "http://schema.org/EBook",
          "potentialAction": {...}
      }
 ]

Элемент Person (author)

Элемент Person используется в свойстве author.

Обязательные свойства и определения
@type

Text

Должно иметь значение Person.

name

Text

Имя автора.

Рекомендуемые свойства и определения
sameAs

URL

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

Text

Должно иметь значение PropertyValue.

propertyID

Text

Тип идентификатора. Может принимать следующие значения (см. раздел Номер ISBN и другие поддерживаемые идентификаторы):

  • OCLC_NUMBER
  • LCCN
value

Text

Значение идентификатора. Внешний идентификатор, позволяющий точно идентифицировать издание. Из внешнего идентификатора следует удалить все начальные нецифровые символы.

Пример identifier:

    "identifier": {
      "@type": "PropertyValue",
      "propertyID": "OCLC_NUMBER",
      "value":  "110123456"
    }

Пример с несколькими свойствами identifier:

    "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "OCLC_NUMBER",
      "value":  "110123456"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "LCCN",
      "value":  "220123456"
    }]

Пример фида ReadAction Book в JSON-файле

{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "http://schema.org",
      "@type": "Book",
      "@id": "http://example.com/work/the_catcher_in_the_rye",
      "url": "http://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": "http://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "http://schema.org/Paperback",
          "inLanguage": "en",
          "url": "http://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": "http://example.com/store/9787543321724",
              "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://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": "http://example.com/edition/the_catcher_in_the_rye_hardcover",
          "isbn": "9780316769532",
          "bookEdition": "Hardcover",
          "bookFormat": "http://schema.org/Hardcover",
          "inLanguage": "en",
          "url": "http://example.com/edition/the_catcher_in_the_rye_hardcover",
          "datePublished": "1951-07-16",
          "potentialAction": {
            "@type": "ReadAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "http://example.com/store/9780316769532",
              "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://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": "http://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "http://schema.org",
      "@type": "Book",
      "@id": "http://example.com/work/the_catcher_in_the_rye",
      "url": "http://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": "http://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "http://schema.org/Paperback",
          "inLanguage": "en",
          "url": "http://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": "http://example.com/librarySystem/100"
            },
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "http://example.com/borrowpurchase?bookId=170",
              "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://schema.org/IOSPlatform"
              ]
            }
          }
        },
        {
          "@type": "Book",
          "@id": "http://example.com/edition/the_catcher_in_the_rye_hardcover",
          "isbn": "9780316769532",
          "bookEdition": "Hardcover",
          "bookFormat": "http://schema.org/Hardcover",
          "inLanguage": "en",
          "url": "http://example.com/edition/the_catcher_in_the_rye_hardcover",
          "datePublished": "1951-07-16",
          "potentialAction": {
            "@type": "BorrowAction",
            "lender": {
              "@type": "LibrarySystem",
              "@id": "http://example.com/librarySystem/100"
            },
            "target": [
              {
                "@type": "EntryPoint",
                "urlTemplate": "http://example.com/borrowpurchase?bookId=170",
                "actionPlatform": [
                  "http://schema.org/DesktopWebPlatform"
                ]
              },
              {
                "@type": "EntryPoint",
                "urlTemplate": "http://example.com/mobile/borrowpurchase?bookId=170",
                "actionPlatform": [
                  "http://schema.org/AndroidPlatform",
                  "http://schema.org/IOSPlatform"
                ]
              }
            ]
          }
        }
      ]
    }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

Элемент ReadAction (potentialAction)

Элемент ReadAction используется в свойстве potentialAction. В элементе ReadAction определяются ссылки на контент, предоставляющие доступ к книге, продавец, у которого ее можно купить, и критерии, которым должны соответствовать пользователи (регистрация, вход в аккаунт, местоположение или другие требования для доступа к книге).

Обязательные свойства и определения
@type

Text

Должно иметь значение ReadAction.

expectsAcceptanceOf

Offer

Определение критериев пользователей, которые могут получить доступ к книге. Если задано несколько свойств Offer, то доступ к контенту может получить пользователь, соответствующий любому из критериев Offer.

Это свойство может повторяться.

expectsAcceptanceOf.@type

Text

Должно иметь значение Offer.

expectsAcceptanceOf.category

Text

Тип свойства Offer. Возможные значения:

  • nologinrequired. Действие доступно пользователям без входа в аккаунт или внесения оплаты.
  • free. Действие доступно только пользователям, вошедшим в аккаунт, но оплата или оформление платной подписки не требуются.
  • subscription. Книга становится доступной после оформления платной подписки на ваши услуги.
  • purchase. Книгу можно только купить.
  • rental. Книга будет доступна в течение определенного времени после оплаты.
expectsAcceptanceOf.eligibleRegion

Country

Страна, в которой доступно предложение (Offer). Вы можете выбрать регион, в котором пользователи смогут купить или прочитать книгу.

Это свойство может повторяться.

expectsAcceptanceOf.eligibleRegion.@type

Text

Должно иметь значение Country.

expectsAcceptanceOf.eligibleRegion.name

Text

Код страны в формате ISO 3166-1 alpha-2.

target

EntryPoint

Спецификация ссылки на контент с информацией о поддерживаемой платформе. Чтобы определить разные ссылки на контент для разных платформ, можно использовать несколько свойств EntryPoint.

Это свойство может повторяться.

target.@type

Text

Должно иметь значение EntryPoint.

target.actionPlatform

Text

Платформы, для которых можно использовать ссылку на контент. Возможные значения:

  • http://schema.org/DesktopWebPlatform
  • http://schema.org/AndroidPlatform
  • http://schema.org/IOSPlatform

Это свойство может повторяться.

target.urlTemplate

URL

Ссылка, нажав на которую, пользователь начнет воспроизведение вашего контента.

Рекомендуемые свойства и определения
expectsAcceptanceOf.availabilityEnds

DateTime

Время окончания периода доступности. С помощью этого свойства можно указать точное время, до которого книга будет доступна пользователям.

expectsAcceptanceOf.availabilityStarts

DateTime

Время начала периода доступности. С помощью этого свойства можно указать точное время, когда книга станет доступна пользователям.

expectsAcceptanceOf.price

Number

Покупная цена книги. Это свойство является обязательным, если категории (category) элемента Offer присвоено значениеpurchase или rental.

expectsAcceptanceOf.priceCurrency

Text

Валюта, в которой указана цена, в 3-буквенном формате ISO 4217.

Пример ReadAction:

"potentialAction": {
  "@type": "ReadAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "http://example.com/purchase?bookId=170",
    "actionPlatform": [
      "http://schema.org/DesktopWebPlatform",
      "http://schema.org/AndroidPlatform",
      "http://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": "http://example.com/purchase?bookId=170",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform"
      ]
    },
    {
      "@type": "EntryPoint",
      "urlTemplate": "http://example.com/mobile/purchase?bookId=170",
      "actionPlatform": [
        "http://schema.org/AndroidPlatform",
        "http://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

Text

Должно иметь значение BorrowAction.

lender

LibrarySystem

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

lender.@id

URL

Идентификатор библиотечной сети LibrarySystem (ее полное описание должно быть приведено отдельно, в фиде библиотеки).

lender.@type

Text

Должно иметь значение LibrarySystem.

target

EntryPoint

Спецификация ссылки на контент с информацией о поддерживаемой платформе. Чтобы задать ссылки на контент для разных платформ, используйте массив EntryPoint.

Это свойство может повторяться.

target.@type

Text

Должно иметь значение EntryPoint.

target.actionPlatform

Text

Платформы, для которых можно использовать ссылку на контент. Возможные значения:

  • http://schema.org/DesktopWebPlatform
  • http://schema.org/AndroidPlatform
  • http://schema.org/IOSPlatform

Это свойство может повторяться.

target.urlTemplate

URL

Ссылка, после нажатия на которую начнется воспроизведение вашего контента.

Пример BorrowAction:

"potentialAction": {
  "@type": "BorrowAction",
  "lender": {
    "@type": "LibrarySystem",
    "@id": "http://example.com/librarySystem/100"
  },
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "http://example.com/borrow?bookId=170",
    "actionPlatform": [
      "http://schema.org/DesktopWebPlatform",
      "http://schema.org/AndroidPlatform",
      "http://schema.org/IOSPlatform"
    ]
  }
}

Пример BorrowAction с несколькими свойствами EntryPoint:

"potentialAction": {
  "@type": "BorrowAction",
  "lender": {
    "@type": "LibrarySystem",
    "@id": "http://example.com/librarySystem/100"
  },
  "target": [
    {
      "@type": "EntryPoint",
      "urlTemplate": "http://example.com/borrow?bookId=170",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform"
      ]
    },
    {
      "@type": "EntryPoint",
`      "urlTemplate": "http://example.com/mobile/borrow?bookId=170",
      "actionPlatform": [
        "http://schema.org/AndroidPlatform",
        "http://schema.org/IOSPlatform"
      ]
    }
  ]
}

Элемент Library

Полное определение элемента Library приведено на странице schema.org/Library. Однако вам достаточно ознакомиться с описанными ниже свойствами. Для каждой библиотеки, включенной в фид, необходимо указать обязательные свойства. Кроме того, вы можете задать рекомендуемые свойства, чтобы добавить больше информации о своем контенте и повысить удобство использования.

Этот элемент Library является элементом Library верхнего уровня. Это абстрактный конструкт, состоящий из элемента LibrarySystem (библиотечная сеть), который включает элементы Library (member) нижнего уровня, относящиеся к LibrarySystem.

Library и Book – это разные фиды. И если вы создаете фид Library, его не следует смешивать с фидом Book. Подробнее о создании фидов

Элемент LibrarySystem

Элемент LibrarySystem обозначает сеть библиотечных филиалов.

Обязательные свойства и определения
@context Text

Должно иметь значение http://schema.org.

@id URL

Уникальный идентификатор библиотечной системы в формате URL. Его нельзя изменять. Он интерпретируется как непрозрачная строка, поэтому рабочую ссылку указывать необязательно. Домен, указанный в идентификаторе @id, должен принадлежать вашей организации.

@type Text

Должно иметь значение LibrarySystem.

additionalProperty PropertyValue

Дополнительное свойство, которое обозначает тип библиотеки.

additionalProperty.@type Text

Должно иметь значение PropertyValue.

additionalProperty.name Text

Должно иметь значение librarytype.

additionalProperty.value Text

Тип библиотеки. Возможные значения:

  • public
  • academic
  • corporate
  • national
  • school
  • special
member Library

Филиалы библиотечной сети.

name Text

Название библиотечной сети, например The Southwestern League of Libraries.

url URL

URL страницы с презентацией или описанием библиотечной сети. Эта ссылка помогает Поиску точно сопоставить контент в фиде с контентом в базах данных Google. Для фактических целевых страниц в Google Поиске используется URL, указанный в свойстве workExample.target.urlTemplate.

Элемент Library (member)

Элемент Library (member) используется в свойстве member элемента LibrarySystem. Library (member) обозначает один филиал библиотечной сети.

Обязательные свойства и определения
@id URL

Уникальный идентификатор библиотечного филиала в формате URL. Его нельзя изменять. Он интерпретируется как непрозрачная строка, поэтому рабочую ссылку указывать необязательно. Домен, указанный в идентификаторе @id, должен принадлежать вашей организации.

@type Text

Должно иметь значение Library.

location PostalAddress

Почтовый адрес филиала библиотеки. Некоторые свойства могут быть неприменимы в той или иной стране. Используйте все свойства, которые требуются для адресов ваших библиотек.

Пример для элемента location в США:


{
  "@type": "Library",
  "@id": "http://example.com/library-branches/1001",
  "name": "Campbell Library",
  "location": {
    "@type": "PostalAddress",
    "streetAddress": "77 Harrison Ave",
    "addressLocality": "Campbell",
    "addressRegion": "CA",
    "postalCode": "95008",
    "addressCountry": "US"
  }
}

Пример для элемента location в Японии:


{
  "@type": "Library",
  "@id": "http://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

Должно иметь значение PostalAddress.

location.addressCountry Text

Код страны в формате ISO 3166-1, например US.

location.addressLocality Text

Населенный пункт, например Mountain View.

location.addressRegion Text

Регион, область, штат и т. п., например CA.

location.postalCode Text

Почтовый индекс, например 94043.

location.streetAddress Text

Почтовый адрес, например 1600 Amphitheatre Pkwy.

name Text

Название филиала библиотеки.

Пример JSON-файла с фидом LibrarySystem

{
   "@context": "http://schema.org",
   "@type":"LibrarySystem",
   "@id":"http://example.com/library-systems/100",
   "name":"Santa Clara County Library District",
   "additionalProperty":[
      {
         "@type":"PropertyValue",
         "name":"librarytype",
         "value":"public"
      }
   ],
   "member":[
      {
         "@type":"Library",
         "@id":"http://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":"http://example.com/library-branches/1002",
         "name":"Gilroy Library",
         "location":{
            "@type":"PostalAddress",
            "streetAddress":"350 W 6th St",
            "addressLocality":"Gilroy",
            "addressRegion":"CA",
            "postalCode":"95020",
            "addressCountry":"US"
         }
      }
   ]
}