Dati strutturati per azioni relative ai libri (Book)

Le azioni relative ai libri fanno della Ricerca Google un punto di accesso per scoprire libri e autori. In questo modo, gli utenti possono rapidamente acquistare o prendere in prestito i libri che trovano direttamente nei risultati della Ricerca. Ad esempio, un utente può cercare La tela di Carlotta e visualizzare risultati che consentono di acquistare o prendere in prestito il libro. Come fornitore di libri, puoi indicare un feed di dati a Google utilizzando lo schema di dati strutturati riportato di seguito. La nostra specifica fornisce agli utenti ReadAction per l'acquisto di un libro e BorrowAction per il prestito.

Un'azione Book nei risultati di ricerca

Le azioni di lettura e di prestito, che vengono incorporate nei riquadri, mostrano le opzioni per acquistare o prendere in prestito il libro. Tramite i link che fornisci, le azioni di lettura e di prestito indirizzano gli utenti direttamente dalla scheda informativa e da altre piattaforme Google a una pagina relativa al libro sul tuo sito web o sulla tua app.

L'ordine dei fornitori nella scheda informativa è personalizzato e dinamico per ciascun utente. Questo significa che utenti diversi vedono i fornitori in ordine diverso; inoltre, l'ordine potrebbe cambiare per lo stesso utente in momenti diversi. I fattori che influiscono su un determinato ordine sono svariati. Ad esempio, se un utente fa spesso clic sul link di un dato fornitore nella scheda informativa, è più probabile che tale fornitore venga visualizzato in alto nell'elenco. Non c'è modo di controllare l'ordine.

Guida introduttiva

Per implementare correttamente le azioni Book, devi creare il feed in accordo con le definizioni dei tipi di dati strutturati per tali azioni; per prima cosa, consulta le seguenti sezioni:

Linee guida

Per assicurarti che i tuoi libri possano essere visualizzati in modo affidabile nella Ricerca, è importante conoscere alcuni importanti dettagli e concetti chiave. Inoltre, il tuo feed deve soddisfare alcune specifiche di formato standardizzate.

A tale scopo, segui le linee guida descritte qui, oltre alle linee guida generali sui dati strutturati e ai concetti di base per webmaster. Le linee guida sono le seguenti:

Opere ed edizioni

In questa documentazione, quando parliamo di un libro, utilizziamo due termini distinti.

  • Opera: il libro nella sua forma astratta. Nello specifico, metadati come titolo, autore e lingua originale sono gli attributi di un'opera.
  • Edizione: una copia concreta del libro. Nello specifico, metadati come anno di pubblicazione, nome dell'edizione e codice ISBN (International Standard Book Number) sono attributi dell'edizione.

Ad esempio, La tela di Carlotta è un'opera, ma ogni singola versione è un'edizione. In questo caso, l'opera La tela di Carlotta potrebbe avere una prima edizione, una seconda edizione, un'edizione ridotta, un'edizione tradotta in francese e così via.

Questa distinzione è particolarmente importante nel feed, in cui potrebbe essere non immediatamente evidente. Esistono due tipi di entità Book:

  • Book (Work) è l'entità Book di "primo livello":
    • workExample è una proprietà di Work e specifica una sola istanza di un elemento Book (Edition).
    • Deve esserci almeno una proprietà workExample per ogni entità Work.
  • Book (Edition) è l'entità Book "di livello inferiore".

È utile ricordare che possono essere presenti più edizioni di un'opera. Ti consigliamo di raggruppare queste edizioni il più possibile. Questo facilita ai sistemi Google l'utilizzo di tutte le informazioni pertinenti di un libro e la loro visualizzazione nella Ricerca. Se necessario, puoi suddividerle in più record di opere, ma ogni opera deve avere quanto segue:

  • Un @id diverso.
  • Almeno un'edizione con un codice ISBN o un altro identificatore supportato.

Sistemi bibliotecari e biblioteche affiliate

Library entity è l'entità Library di "primo livello". Si tratta di una struttura astratta, composta da un'entità LibrarySystem e da ciascuna delle entità Library (member) di "livello inferiore" di quel sistema bibliotecario.

L'entità LibrarySystem è un'astrazione e rappresenta una rete collaborativa di biblioteche affiliate. Ad esempio, la Austin Public Library può essere specificata come entità LibrarySystem. Il sito web della Austin Public Library la descrive come un sistema bibliotecario pubblico che opera a Austin, in Texas, composto da 20 biblioteche affiliate.

Ogni entità LibrarySystem richiede almeno un'entità Library (member), anche se in realtà la biblioteca non fa parte di un sistema bibliotecario. In questo scenario, ai fini dell'implementazione delle azioni Book, la biblioteca è l'unica affiliata del relativo sistema bibliotecario. Ai fini dell'implementazione delle azioni Book, a differenza di un sistema bibliotecario, una biblioteca affiliata non è un'astrazione e perciò ha un indirizzo fisico.

Invece, ogni entità Library (member) deve appartenere ad almeno un'entità LibrarySystem.

ISBN e altri identificatori supportati

Il codice ISBN è il principale indicatore di riconciliazione quando la Ricerca Google associa i dati del tuo feed ai dati di Google. Devi fornire un codice ISBN o un altro identificatore supportato per tutti i libri che vuoi mostrare nei risultati della Ricerca. Se questo identificatore manca, è possibile che la corrispondenza con i tuoi libri non venga effettuata, impedendone la visualizzazione.

La Ricerca Google preferisce il codice ISBN-13, ma, in alternativa, puoi fornire i seguenti codici:

  • Codice Online Computer Library Center (OCLC)
  • Library of Congress Control Number (LCCN)
  • E-code JP

Per garantire un'esperienza ottimale agli utenti che cercano i tuoi libri, i link nel tuo feed devono rispettare le seguenti linee guida:

  • Se sono presenti pagine duplicate per gli stessi contenuti, il link deve essere l'URL canonico che contiene il titolo e altre informazioni sul libro.
  • L'utente, dopo che ha fatto clic su un link relativo a un'azione di lettura o prestito, deve essere indirizzato a una pagina che supporta direttamente l'acquisto o il prestito del libro. Nello specifico, non indirizzare i link relativi alle azioni a pagine con altri link su cui fare clic per acquistare o prendere in prestito il contenuto. Ad esempio, non indirizzare gli utenti a una pagina dei risultati di ricerca o a una pagina di riepilogo del prodotto.

Creare il feed

Se il tuo sito propone agli utenti libri in vendita, devi caricare il feed Book. Rivolgiti al tuo rappresentante di Google e verifica i dettagli su come e dove caricare il feed.

Se il tuo sito propone agli utenti libri in prestito, devi caricare il feed Book e il feed Library. Rivolgiti al tuo rappresentante di Google e verifica i dettagli su come e dove caricare il feed.

Rispettare i requisiti di formato, quantità e dimensioni dei file del feed

I requisiti sono i seguenti:

  • Requisiti per le dimensioni dei file del feed:
    • Le dimensioni di un file del feed non compresso devono essere inferiori a 1 GB.
    • Un file del feed da comprimere deve avere dimensioni inferiori a 1 GB. Se il file del feed non compresso ha dimensioni superiori a 1 GB, devi suddividerlo in più file.
  • Puoi comprimere i file del feed. Devono essere formattati in un file di archivio .zip, .gz, .tar, .tar.gz, .jar, .ar, .arj, .cpio o .dump.
  • Se hai più file del feed, puoi caricarli così come sono o, se preferisci, includerli in un file indice Sitemap.
  • I singoli file del feed devono avere l'estensione di nome file .json.

Rispettare i requisiti di contenuto del feed

Presta particolare attenzione ai seguenti requisiti di contenuto del feed, che dovrai rispettare:

  • Il feed non deve contenere entità inattive. Le entità inattive sono entità per cui availabilityEnds è stato impostato su una data già passata o su entità che non sono più disponibili sul tuo sito.
  • Tutti i link diretti, come urlTemplate, e tutti gli URL, come url, che includi nel tuo feed devono essere URL di produzione. Non usare URL QA, di sviluppo o altri tipi di URL non di produzione.
  • Tutti gli URL, come url, devono essere canonici.
  • Ogni entità nel feed deve specificare le seguenti proprietà:
    • Un ID univoco: @id
    • Un URL univoco: url
    • Un link diretto univoco: urlTemplate

Testare il feed tramite Data Feed Validation Tool

Consigliamo i seguenti passaggi di risoluzione dei problemi per risolvere errori e avvisi comuni nel Data Feed Validation Tool:

  • Assicurati di aver selezionato l'opzione corretta nel campo Validate on (Convalida per). Seleziona Books Action (Azione Books) per l'entità Book.

  • Verifica che il valore di @type sia stato digitato correttamente.
  • Assicurati che il valore di @context sia impostato correttamente. Imposta "@context": "https://schema.org" per ReadAction e BorrowAction.

Ospitare il file del feed

Quando il file del feed è pronto, ospitalo in una posizione sicura. Google recupera regolarmente il feed per garantire che il contenuto sia aggiornato.

Metodi di hosting

Sono supportati i seguenti metodi di hosting dei feed:

Hosting Supporto per l'autenticazione
Google Cloud Storage Autorizzazione Visualizzatore oggetti Storage
HTTPS Nome utente+password o certificati client HTTP
SFTP Password, chiave+frase o entrambi
AWS S3 ID chiave+chiave di accesso

Inviare il file del feed per la revisione

Affinché i tuoi contenuti siano disponibili nella Ricerca Google, un team dell'Assistenza Google verifica la qualità dei link diretti nel tuo feed. Ti consigliamo vivamente di testare manualmente alcuni dei link diretti per verificare se aprono la pagina in cui gli utenti possono acquistare o prendere in prestito i libri.

Per richiedere una revisione del feed, fornisci le seguenti informazioni:

  • Posizione di hosting: l'URL del file del feed.
  • Autenticazione host, se applicabile: le credenziali di autenticazione per consentire a Google di recuperare il file del feed dalla posizione di hosting.

Aggiornare il feed in base alle necessità

Anche se ti consigliamo di aggiornare il feed quotidianamente, questo dipende in ultima analisi dalla frequenza con cui il tuo catalogo cambia. Tieni presente i seguenti suggerimenti e condizioni:

  • La Ricerca Google non supporta gli aggiornamenti in tempo reale.
  • La Ricerca Google recupera il feed una volta al giorno e in genere indicizza i contenuti entro due giorni.
  • Se è prevista una variazione della disponibilità dell'edizione, usa availabilityStarts e availabilityEnds per impostare le date esatte. Se l'entità non è più disponibile, rimuovila completamente.

Definizioni dei tipi di dati strutturati

Affinché i tuoi contenuti siano idonei alla visualizzazione nei risultati di ricerca strutturati, devi includere le proprietà obbligatorie indicate qui. Puoi anche includere le proprietà consigliate per aggiungere ulteriori informazioni sui tuoi contenuti, fornendo così una migliore esperienza utente.

Entità DataFeed

Ogni file del feed di dati di schema.org inviato a Google deve contenere un'unica entità DataFeed a livello della directory principale. Tutte le entità Book e Library devono essere indicate nel campo dataFeedElement dell'entità DataFeed.

Le proprietà supportate da Google sono le seguenti:

Proprietà obbligatorie
@context

Text

Da impostare su https://schema.org.

@type

Text

Da impostare su DataFeed.

dataFeedElement

Book o LibrarySystem

Da impostare su una singola entità Book o LibrarySystem. In caso contrario, da impostare su un array di sole entità Book o di entità LibrarySystem. Non impostare questo valore su un array che include sia entità Book sia entità LibrarySystem.

Esempio di utilizzo in un feed Book:

{
  "@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"
}

Esempio di utilizzo in un feed LibrarySystem:

{
  "@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

DateTime

La data e l'ora dell'ultimo aggiornamento del feed nel formato ISO 8601.

Entità Book

La definizione completa di Book è disponibile alla pagina schema.org/Book, ma devi considerare solo le seguenti proprietà. Devi definire le proprietà obbligatorie per ogni libro che scegli di includere nel feed. Puoi anche definire le proprietà consigliate per aggiungere ulteriori informazioni sui tuoi contenuti, fornendo così una migliore esperienza utente.

Book (Work)

Questa entità Book è l'entità di primo livello. Rappresenta un'opera.

Le proprietà supportate da Google sono le seguenti:

Proprietà obbligatorie
@context

Text

Da impostare su https://schema.org.

@id

Text

Un ID univoco globale per il libro in formato URL. Deve essere univoco per la tua organizzazione. L'ID deve essere stabile e non cambiare nel corso del tempo. Il formato URL è consigliato, anche se non è obbligatorio. Non deve necessariamente essere un link funzionante. Il dominio utilizzato per il valore @id deve essere di proprietà della tua organizzazione.

@type

Text

Da impostare su Book.

author

Person o Organization

L'autore o gli autori del libro.

name

Text

Il titolo del libro.

url

URL

L'URL del tuo sito web in cui il libro è presentato o descritto. Questo link permette di riconciliare con precisione i contenuti nel tuo feed con i contenuti nei database di Google. Può essere uguale a workExample.target.urlTemplate.

Per la pagina di destinazione effettiva, la Ricerca Google utilizza l'URL fornito in workExample.target.urlTemplate.

workExample

Book (Edition)

L'edizione o le edizioni dell'opera.

Proprietà consigliate
sameAs

URL

L'URL di una pagina di riferimento che identifica l'opera. Ad esempio, una pagina Wikipedia, Wikidata, VIAF o della Biblioteca del Congresso dedicata al libro.

Book (Edition)

La proprietà workExample utilizza l'entità Book. Rappresenta l'edizione di un'opera.

Le proprietà supportate da Google sono le seguenti:

Proprietà obbligatorie
@id

Text

Un ID univoco globale per il libro in formato URL. Deve essere univoco per la tua organizzazione. L'ID deve essere stabile e non cambiare nel corso del tempo. Il formato URL è consigliato, anche se non è obbligatorio. Non deve necessariamente essere un link funzionante. Il dominio utilizzato per il valore @id deve essere di proprietà della tua organizzazione.

@type

Text

Da impostare su Book.

bookFormat

Enum

Il formato dell'edizione. Il valore deve essere uno dei seguenti:

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

Text

La lingua principale dei contenuti nell'edizione. Usa uno dei codici di due lettere dell'elenco di codici alpha-2 nel formato ISO 639-1.

isbn

Text

Il codice ISBN-13 dell'edizione. Se disponi di un codice ISBN-10, convertilo in ISBN-13.

potentialAction

ReadAction o BorrowAction

L'azione da attivare per consentire agli utenti di acquistare o scaricare il libro. Per ulteriori dettagli, consulta ReadAction o BorrowAction.

Proprietà consigliate
author

Person o Organization

L'autore o gli autori dell'edizione.

bookEdition

Text

Le informazioni sull'edizione del libro. Ad esempio, 2nd Edition.

datePublished

Date

La data di pubblicazione dell'edizione nel formato YYYY-MM-DD o YYYY. Può essere una data specifica o solo un anno specifico.

identifier

PropertyValue

L'ID esterno o un altro ID che identifica in modo univoco questa edizione. Sono ammessi più identificatori. Per ulteriori dettagli, consulta PropertyValue (identifier).

Questa proprietà può essere ripetuta.

name

Text

Il titolo dell'edizione. Da usare solo se il titolo dell'edizione è diverso da quello dell'opera.

sameAs

URL

L'URL di una pagina web di riferimento che indica in modo univoco l'edizione. Ad esempio, una pagina di Wikipedia dedicata all'edizione specifica. Non riutilizzare sameAs di Work.

url

URL

L'URL del tuo sito web in cui l'edizione è presentata o descritta. Può essere uguale a workExample.target.urlTemplate.

Esempio di 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": {...}
        }

Esempio di Book (Edition) con più proprietà 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 o Organization (author)

La proprietà author del libro utilizza l'entità Person o Organization.

Proprietà obbligatorie
@type

Text

Da impostare su Person o Organization.

name

Text

Il nome della persona o dell'organizzazione.

Proprietà consigliate
sameAs

URL

L'URL di una pagina web di riferimento che indica in modo univoco l'identità della persona o dell'organizzazione. Ad esempio, una pagina di Wikipedia per la persona o l'organizzazione.

Esempio di author:

"author": {
  "@type": "Person",
  "name": "William Shakespeare"
}

Esempio con più proprietà author:

"author": [
  {
    "@type": "Person",
    "name": "William Shakespeare"
  },
  {
    "@type": "Person",
    "name": "Victor Hugo",
    "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo"
  }
]

PropertyValue (identificatore)

La proprietà identifier di Edition utilizza l'entità PropertyValue.

Proprietà obbligatorie
@type

Text

Da impostare su PropertyValue.

propertyID

Text

Il tipo di ID. Come descritto in ISBN e altri identificatori supportati, deve essere uno dei seguenti:

  • OCLC_NUMBER
  • LCCN
  • JP_E-CODE
value

Text

Il valore ID. L'ID esterno che identifica in modo univoco questa edizione. Rimuovi tutti i prefissi non numerici dell'ID esterno.

Esempio di identifier:

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

Esempio con più proprietà identifier:

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

Esempio di file JSON del feed di ReadAction Book

{
  "@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"
}

Esempio di file JSON del feed di BorrowAction Book

{
  "@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)

La proprietà potentialAction utilizza l'entità ReadAction. ReadAction definisce i tuoi link diretti per accedere al libro, il rivenditore presso il quale è disponibile e i criteri che gli utenti devono soddisfare. I criteri possono includere lo stato dell'abbonamento, lo stato di accesso, la posizione o altri requisiti per accedere al libro.

Proprietà obbligatorie
@type

Text

Da impostare su ReadAction.

expectsAcceptanceOf

Offer

La definizione dei requisiti di accesso degli utenti a questa entità. Se sono presenti più proprietà Offer, un utente che soddisfa uno qualsiasi dei criteri Offer potrebbe accedere al contenuto.

Questa proprietà può essere ripetuta.

expectsAcceptanceOf.@type

Text

Da impostare su Offer.

expectsAcceptanceOf.category

Text

Il tipo di Offer. Deve essere uno dei seguenti valori:

  • nologinrequired: l'azione è disponibile per l'utente senza necessità di acquisto o di accesso per accedere ai contenuti.
  • free: l'azione è disponibile senza necessità di acquisto o iscrizione a pagamento per l'utente. L'azione richiede tuttavia che un utente esegua l'accesso.
  • subscription: il libro è incluso in un'iscrizione a pagamento al tuo servizio.
  • purchase: il libro è accessibile tramite acquisto.
  • rental: il libro è accessibile per un periodo di tempo limitato dopo l'acquisto.
expectsAcceptanceOf.eligibleRegion

Country

Il paese idoneo per questo Offer. Può essere utilizzato per controllare in quali paesi e aree geografiche questi contenuti sono disponibili.

Questa proprietà può essere ripetuta.

expectsAcceptanceOf.eligibleRegion.@type

Text

Da impostare su Country.

expectsAcceptanceOf.eligibleRegion.name

Text

Il codice paese ISO 3166-1 alpha-2.

target

EntryPoint

Le specifiche del tuo link diretto, che includono le informazioni della piattaforma supportata. Possono esserci più proprietà EntryPoint per definire link diretti diversi per più set di piattaforme.

Questa proprietà può essere ripetuta.

target.@type

Text

Da impostare su EntryPoint.

target.actionPlatform

Text

La piattaforma o le piattaforme per le quali questo link diretto è valido. Utilizza uno dei seguenti valori:

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

Questa proprietà può essere ripetuta.

target.urlTemplate

URL

Il link che indirizza gli utenti direttamente ai contenuti della pagina di destinazione del tuo libro.

Proprietà consigliate
expectsAcceptanceOf.availabilityEnds

DateTime

L'ora di fine della finestra di disponibilità. Può essere utilizzata per controllare il momento esatto in cui il libro non deve più essere mostrato agli utenti.

expectsAcceptanceOf.availabilityStarts

DateTime

L'ora di inizio della finestra di disponibilità. Può essere utilizzata per controllare il momento esatto in cui il libro può essere mostrato agli utenti.

expectsAcceptanceOf.price

Number

Il prezzo di acquisto del libro. Questa operazione è necessaria quando l'elemento category della proprietà Offer è impostato su purchase o su rental.

expectsAcceptanceOf.priceCurrency

Text

La valuta del prezzo in formato ISO 4217 a tre lettere.

Esempio di 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"
    }
  }
}

Esempio di ReadAction con più proprietà 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)

La proprietà potentialAction utilizza l'entità BorrowAction. BorrowAction definisce i tuoi link diretti per accedere al libro, la biblioteca presso la quale è disponibile e i criteri che gli utenti devono soddisfare. I criteri possono includere lo stato dell'abbonamento, lo stato di accesso, la posizione o altri requisiti per accedere al libro.

Proprietà obbligatorie
@type

Text

Da impostare su BorrowAction.

lender

LibrarySystem

Il sistema bibliotecario che fornisce l'accesso a questa edizione.

lender.@id

URL

I riferimenti ID LibrarySystem, che devono essere descritti in modo separato nel feed della biblioteca.

lender.@type

Text

Da impostare su LibrarySystem.

target

EntryPoint

Le specifiche del tuo link diretto, che includono le informazioni della piattaforma supportata. Per definire i link diretti per diversi set di piattaforme, specifica un array EntryPoint.

Questa proprietà può essere ripetuta.

target.@type

Text

Da impostare su EntryPoint.

target.actionPlatform

Text

La piattaforma o le piattaforme per le quali questo link diretto è valido. Utilizza uno dei seguenti valori:

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

Questa proprietà può essere ripetuta.

target.urlTemplate

URL

Il link che indirizza gli utenti direttamente ai contenuti della pagina di destinazione del tuo libro.

Esempio di 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"
    ]
  }
}

Esempio di BorrowAction con più proprietà 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"
      ]
    }
  ]
}

Entità Library

La definizione completa di Library è disponibile alla pagina schema.org/Library, ma devi considerare solo le proprietà che seguono. Devi definire le proprietà obbligatorie per ogni entità Library che scegli di includere nel feed. Puoi anche definire le proprietà consigliate per aggiungere ulteriori informazioni sui tuoi contenuti, fornendo così una migliore esperienza utente.

Questa entità Library è il tipo di entità Library di primo livello. Si tratta di un'entità astratta, composta da un'entità LibrarySystem e da ciascuna delle entità Library (member) di livello inferiore di LibrarySystem.

Il feed Library è diverso dal feed Book. Perciò, qualsiasi feed Library da te implementato deve essere completamente separato dal feed Book. Per ulteriori informazioni, consulta Creare il feed.

LibrarySystem

L'entità LibrarySystem rappresenta una rete di collaborazione tra biblioteche affiliate.

Proprietà obbligatorie
@context Text

Da impostare su https://schema.org.

@id URL

Un ID univoco globale per il sistema bibliotecario in formato URL. L'ID deve essere stabile e non cambiare nel corso del tempo. Viene considerato come una stringa opaca e non deve necessariamente essere un link funzionante. Il dominio utilizzato per il valore @id deve essere di proprietà della tua organizzazione.

@type Text

Da impostare su LibrarySystem.

additionalProperty PropertyValue

La proprietà aggiuntiva utilizzata per indicare il tipo di biblioteca.

additionalProperty.@type Text

Da impostare su PropertyValue.

additionalProperty.name Text

Da impostare su librarytype.

additionalProperty.value Text

Il tipo di biblioteca. Utilizza uno dei seguenti valori:

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

La biblioteca o le biblioteche affiliate al sistema bibliotecario.

name Text

Il nome del sistema bibliotecario. Ad esempio, The Southwestern League of Libraries.

url URL

L'URL in cui viene introdotto o descritto il sistema bibliotecario. La Ricerca Google utilizza questo link per riconciliare i contenuti nel tuo feed con i contenuti nei database di Google. Per la pagina di destinazione effettiva, la Ricerca Google utilizza l'URL fornito in workExample.target.urlTemplate.

Library (member)

La proprietà member dell'entità LibrarySystem utilizza l'entità Library (member). Library (member) rappresenta una singola biblioteca affiliata a un dato sistema bibliotecario.

Proprietà obbligatorie
@id URL

Un ID univoco a livello globale per la sede della biblioteca in formato URL. L'ID deve essere stabile e non cambiare nel corso del tempo. Viene considerato come una stringa opaca e non deve necessariamente essere un link funzionante. Il dominio utilizzato per il valore @id deve essere di proprietà della tua organizzazione.

@type Text

Da impostare su Library.

location PostalAddress

L'indirizzo della sede della biblioteca. Non tutte le proprietà si applicano a ogni paese. Ne devi includere tante quanti sono gli indirizzi delle tue biblioteche.

Esempio di location per gli Stati Uniti:

{
  "@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"
  }
}

Esempio di location per il Giappone:

{
  "@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

Da impostare su PostalAddress.

location.addressCountry Text

Il codice paese nel formato ISO 3166-1. Ad esempio, US.

location.addressLocality Text

La località. Ad esempio, Mountain View.

location.addressRegion Text

L'area geografica. Ad esempio, CA.

location.postalCode Text

Il codice postale. Ad esempio, 94043.

location.streetAddress Text

L'indirizzo fisico. Ad esempio, 1600 Amphitheatre Pkwy.

name Text

Il nome della sede della biblioteca.

Esempio di file JSON del feed di 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"
         }
      }
   ]
}