Dados estruturados de ações relacionadas a livros (Book
)
As ações relacionadas a livros fazem da Pesquisa Google um ponto de entrada para descobrir autores e livros. Isso permite que os usuários os comprem ou peguem emprestados diretamente nos resultados da Pesquisa de maneira rápida.
Por exemplo, um usuário pode pesquisar A menina e o porquinho e receber resultados que permitam comprar o livro ou pegá-lo emprestado. Para fornecedores de livros, é possível enviar um feed ao Google com o esquema de dados estruturados mostrado aqui. Nossa especificação inclui ReadAction
para permitir que os usuários comprem um livro e BorrowAction
para que o peguem emprestado.
![Uma ação relacionada a livros nos resultados da Pesquisa](https://developers.google.cn/static/search/docs/images/books01.png?authuser=6&hl=pt-br)
As ações relacionadas a livros incorporadas aos painéis exibem opções para adquirir o livro ou pegá-lo emprestado em uma biblioteca. Elas enviam os usuários diretamente do Painel de informações e de outras plataformas do Google à página do livro em seu site ou app pelos links que você informar.
A ordem dos provedores no Painel de informações é dinâmica e personalizada para cada usuário. Isso significa que cada um deles vê uma ordem diferente e que a ordem talvez mude para o mesmo usuário dependendo do momento. Há vários fatores que determinam isso. Por exemplo, se um usuário clicar com frequência nos links de determinado provedor no Painel de informações, esse provedor terá mais chances de ser mais bem posicionado. Não é possível controlar essa ordem.
Primeiros passos
Para implementar ações relacionadas a livros, crie o feed de acordo com as definições dos respectivos tipos de dados estruturados. Porém, examine as seguintes seções antes:
- Diretrizes
- Criar um feed
- Testar o feed com a ferramenta de validação do feed de dados
- Hospedar o arquivo do feed
- Enviar o arquivo do feed para revisão
- Atualizar o feed conforme necessário
Diretrizes
Para garantir que os livros possam ser exibidos de forma consistente na Pesquisa, é importante se familiarizar com alguns detalhes e conceitos importantes. Além disso, o feed precisa atender a algumas especificações de formato padronizadas.
Para fazer isso, siga as instruções descritas aqui, além das regras gerais de dados estruturados e dos Fundamentos da Pesquisa. Elas são as seguintes:
Obras e edições
Nesta documentação, usamos dois termos distintos quando falamos sobre um livro:
- Obra: é o conceito abstrato de um livro. Especificamente, metadados como título, autor e idioma original são atributos de uma obra.
- Edição: é uma cópia concreta do livro. Especificamente, metadados como ano da publicação, nome da edição e International Standard Book Number (ISBN) são atributos da edição.
Por exemplo, A menina e o porquinho é uma obra, mas cada versão diferente é uma edição. Neste caso, a obra A menina e o porquinho pode ter uma primeira edição, uma segunda edição, uma edição resumida, uma edição traduzida em francês e assim por diante.
Essa distinção é especialmente importante no feed, onde ela pode não ser tão
óbvia. Há duas entidades Book
:
Book
(Work
) é a entidadeBook
de "nível superior":workExample
é uma propriedade deWork
e especifica uma única instância deBook
(Edition
).- É preciso haver pelo menos um
workExample
para cadaWork
.
Book
(Edition
) é a entidadeBook
de "nível inferior".
É importante lembrar que pode haver várias edições de uma obra. Recomendamos que você as agrupe o máximo possível. Isso ajuda os sistemas do Google a aproveitarem todas as informações relevantes sobre um livro e exibi-lo na Pesquisa. Se necessário, segmente tais informações em vários registros de obra, cada um com o seguinte:
- Um
@id
diferente - Pelo menos uma edição com ISBN ou outro identificador compatível
Sistemas e membros de bibliotecas
O Library entity
é
o tipo de entidade Library
de "nível superior". É uma construção abstrata, que consiste
em uma entidade LibrarySystem
e em cada entidade
Library (member)
de "nível inferior" do sistema da biblioteca.
A entidade LibrarySystem
é uma abstração e representa uma rede colaborativa
de bibliotecas que são membros. Por exemplo, a Biblioteca Pública de Austin, nos Estados Unidos, pode ser especificada como uma entidade LibrarySystem
. O site da Biblioteca Pública de Austin (em inglês) a descreve como um sistema de bibliotecas públicas que atende Austin, no estado do Texas. Ele consiste em 20 bibliotecas afiliadas, ou membros.
Cada entidade LibrarySystem
requer pelo menos uma entidade Library (member)
, mesmo que, na verdade, a biblioteca não faça parte de qualquer sistema. Nesse cenário, para fins de implementação de ações relacionadas a livros, a biblioteca é o único membro do próprio sistema. Para esse mesmo propósito, ao contrário de um sistema de bibliotecas, um membro não é uma abstração e, portanto, tem um endereço físico.
Por outro lado, cada entidade Library (member)
precisa pertencer a pelo menos uma entidade LibrarySystem
.
ISBN e outros identificadores compatíveis
O ISBN é o principal sinalizador que a Pesquisa Google usa para reconciliar os dados do feed aos dados do Google. É necessário informar um ISBN ou outro identificador compatível para cada livro que você quer exibir nos resultados da Pesquisa. Sem ele, é provável que não seja possível fazer a correspondência entre os dados e, portanto, os livros não sejam exibidos.
A Pesquisa Google recomenda o uso do ISBN-13, mas também é possível fornecer o seguinte:
- Número da Online Computer Library Center (OCLC)
- Número de controle da Biblioteca do Congresso (LCCN, na sigla em inglês)
- Código eletrônico JP
Links
Para garantir aos usuários a melhor experiência ao encontrar seus livros, os links no feed precisam seguir estas diretrizes:
- Se você tiver páginas duplicadas para o mesmo conteúdo, o link precisará ser o URL canônico que contém o título e outras informações do livro.
- Quando um usuário clicar em um link de ação relacionada a livros, ele precisará ser enviado para uma página que possibilite a compra ou o empréstimo do livro diretamente. Especificamente, não direcione links de ação a páginas com outros links que precisam ser clicados para comprar ou fazer o empréstimo do conteúdo. Por exemplo, não direcione os usuários a uma página de resultados de pesquisa ou de resumo do produto.
Criar um feed
Caso seu site venda livros aos usuários, faça upload do
feed Book
. Entre em contato com o representante do Google
e verifique os detalhes sobre como e onde fazer esse upload.
Caso o site empreste livros ao usuário, faça upload de dois feeds diferentes: o
Book
e o
Library
. Entre em contato com o representante do Google e verifique os detalhes sobre como e onde fazer esse upload.
Obedecer aos requisitos de tamanho, quantidade e formato de arquivo do feed
Os requisitos são os seguintes:
- Requisitos de tamanho do arquivo do feed:
- Os arquivos de feed não compactados precisam ter menos de 1 GB.
- Para compactar esses arquivos, eles precisam obedecer a esse limite de tamanho. Se o arquivo do feed descompactado exceder 1 GB, será necessário dividi-lo primeiro.
- É possível compactar arquivos de feed. Eles precisam estar no formato zip, gz, tar, tar.gz, JAR, ar, arj, cpio ou dump.
- Se você tiver vários arquivos de feed, é possível enviá-los diretamente ou, se preferir, incluí-los em um arquivo de índice de sitemaps.
- Os feeds em arquivo único precisam ter a extensão de nome de arquivo
.json
.
Obedecer aos requisitos de conteúdo do feed
Preste atenção especialmente aos seguintes requisitos de conteúdo do feed que você precisa observar:
- O feed não pode conter entidades desatualizadas. Entidades desatualizadas são entidades com
availabilityEnds
definido para uma data passada ou que não estão mais disponíveis no site. - Todos os links diretos, como
urlTemplate
, e todos os URLs, comourl
, que forem incluídos no feed precisam apontar para a versão de produção. Não use URLs de controle de qualidade, desenvolvimento ou qualquer outro tipo. - Todos os URLs, como
url
, precisam ser canônicos. - Cada entidade no feed precisa especificar as seguintes propriedades:
- Um ID exclusivo:
@id
- Um URL exclusivo:
url
- Um link direto exclusivo:
urlTemplate
- Um ID exclusivo:
Testar o feed com a ferramenta de validação do feed de dados
Recomendamos as seguintes etapas de solução de problemas para resolver erros e avisos comuns na ferramenta de validação do feed de dados:
-
Verifique se a opção correta está selecionada no campo Validate on. Selecione Books Action para a entidade
Book
. - Verifique se o valor de
@type
está digitado corretamente. - Verifique se o valor de
@context
está definido corretamente. Defina"@context": "https://schema.org"
paraReadAction
eBorrowAction
.
Hospedar o arquivo do feed
Quando o arquivo do feed estiver pronto, hospede-o em um local seguro. O Google busca o feed regularmente para garantir que o conteúdo esteja atualizado.
Métodos de hospedagem
Os seguintes métodos de hospedagem do feed são compatíveis:
Hosting | Suporte para autenticação | |
---|---|---|
Google Cloud Storage | Permissão Storage Object Viewer | |
HTTPS | Nome de usuário + senha ou certificados do cliente HTTP | |
SFTP | Senha, chave + frase ou ambos | |
AWS S3 | ID da chave + chave de acesso |
Enviar o arquivo do feed para revisão
Para que o conteúdo seja disponibilizado na Pesquisa Google, uma equipe do Suporte do Google analisa a qualidade dos links diretos do feed. Recomendamos que você teste manualmente alguns dos links diretos para confirmar se eles abrem a página em que os usuários podem comprar ou pegar os livros emprestados.
Para solicitar uma revisão do feed, forneça as seguintes informações:
- Local da hospedagem: o URL do arquivo do feed.
- Autenticação de hospedagem, se aplicável: as credenciais de autenticação que permitem que o Google acesse o arquivo do feed no local de hospedagem.
Atualizar o feed conforme necessário
Recomendamos que você atualize o feed diariamente, mas isso depende da frequência em que seu catálogo muda. Atenção às seguintes condições e dicas:
- A Pesquisa Google não é compatível com atualizações em tempo real.
- A Pesquisa Google busca o feed uma vez por dia e normalmente indexa o conteúdo em dois dias.
- Se houver uma mudança prevista na disponibilidade de uma edição, use
availabilityStarts
eavailabilityEnds
para definir as datas exatas. Se a entidade não estiver mais disponível, remova-a completamente.
Definições de tipos de dados estruturados
É necessário incluir as propriedades obrigatórias listadas aqui para que o conteúdo esteja qualificado para exibição nos resultados de pesquisa estruturados. Também é possível incluir as propriedades recomendadas para dar mais informações sobre o conteúdo, o que pode proporcionar uma melhor experiência ao usuário.
Entidade DataFeed
Cada arquivo do feed de dados do schema.org enviado ao Google precisa conter uma única entidade de
DataFeed
no nível raiz (todos os links de schema.org estão em inglês). Todas as entidades Book
e Library
precisam ser listadas no campo dataFeedElement
da entidade DataFeed
.
Confira as propriedades aceitas pelo Google:
Propriedades obrigatórias | |
---|---|
@context |
Defina como |
@type |
Defina como |
dataFeedElement |
Defina como uma única entidade Exemplo de uso em um feed { "@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" } Exemplo de uso em um feed { "@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 |
É a data e a hora da atualização mais recente do feed no formato ISO 8601. |
Entidade Book
A definição completa de Book
está disponível em
schema.org/Book, mas você
só precisa considerar as propriedades a seguir. Defina as propriedades obrigatórias para cada livro a ser incluído no feed. Também é possível definir as propriedades recomendadas para dar mais informações sobre o conteúdo, o que pode proporcionar uma melhor experiência do usuário.
Book
(Work
)
Esta entidade Book
é o tipo de entidade de nível superior. Ela representa uma obra.
Confira as propriedades aceitas pelo Google:
Propriedades obrigatórias | |
---|---|
@context |
Defina como |
@id |
É um ID globalmente exclusivo do livro no formato de URL. Ele precisa ser exclusivo à organização. O ID precisa ser estável e não pode mudar ao longo do tempo. Recomendamos o uso do formato de URL, mas isso não é obrigatório. Não precisa ser um link funcional. O domínio usado para o valor
|
@type |
Defina como |
author |
São os autores do livro. |
name |
É o título do livro. |
url |
É o URL do site em que o livro é apresentado ou descrito. Esse link ajuda a reconciliar com precisão o conteúdo do feed com as informações dos bancos de dados do Google. Pode ser igual a Para a página de destino a ser exibida de fato, a Pesquisa Google usa o URL informado em
|
workExample |
São as edições da obra. |
Propriedades recomendadas | |
---|---|
sameAs |
É o URL de uma página de referência que identifica a obra. Por exemplo, uma página do livro na Wikipédia, Wikidata, VIAF ou Biblioteca do Congresso. |
Book
(Edition
)
A propriedade workExample
usa esta entidade Book
. Representa uma
edição de uma obra.
Confira as propriedades aceitas pelo Google:
Propriedades obrigatórias | |
---|---|
@id |
É um ID globalmente exclusivo do livro no formato de URL. Ele precisa ser exclusivo à organização. O ID precisa ser estável e não pode mudar ao longo do tempo. Recomendamos o uso do formato de URL, mas isso não é obrigatório. Não precisa ser um link funcional. O domínio usado para o valor
|
@type |
Defina como |
bookFormat |
É o formato da edição. Ele precisa ter um dos seguintes valores:
|
inLanguage |
É o idioma principal do conteúdo da edição. Use um dos códigos de duas letras da lista de códigos de alfa-2 ISO 639-1 (link em inglês). |
isbn |
É o ISBN-13 da edição. Se ela tiver apenas ISBN-10, converta-o para ISBN-13. |
potentialAction |
É a ação a ser ativada para que os usuários comprem ou façam o download do livro. Para ver mais detalhes, consulte |
Propriedades recomendadas | |
---|---|
author |
São os autores da edição. |
bookEdition |
São as informações da edição do livro. Por exemplo, |
datePublished |
É a data de publicação da edição no formato YYYY-MM-DD ou YYYY. Pode ser uma data específica ou apenas um ano. |
identifier |
É o ID externo ou outro ID que identifica claramente esta edição. Vários
identificadores são permitidos. Para ver mais detalhes, consulte Esta propriedade pode ser repetida. |
name |
É o título da edição. Use esta opção somente quando ele for diferente do título da obra. |
sameAs |
É o URL de uma página da Web de referência que indica claramente a edição. Por exemplo, uma página da Wikipédia sobre esta edição específica. Não reutilize o
|
url |
É o URL do site que apresenta ou descreve a edição. Pode ser
igual a |
Exemplo de 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": {...} }
Exemplo de Book
(Edition
) com várias propriedades 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
ou Organization
(author
)
A propriedade author
do livro usa a entidade Person
ou Organization
.
Propriedades obrigatórias | |
---|---|
@type |
Defina como |
name |
É o nome da pessoa ou organização. |
Propriedades recomendadas | |
---|---|
sameAs |
É o URL de uma página da Web de referência que indica claramente a identidade da pessoa ou da organização. Por exemplo, uma página da Wikipédia sobre ela. |
author
Exemplo
"author": { "@type": "Person", "name": "William Shakespeare" }
Exemplo com várias propriedades author
:
"author": [ { "@type": "Person", "name": "William Shakespeare" }, { "@type": "Person", "name": "Victor Hugo", "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo" } ]
PropertyValue (identificador)
A propriedade identifier
de Edition
usa a entidade
PropertyValue
.
Propriedades obrigatórias | |
---|---|
@type |
Defina como |
propertyID |
É o tipo de ID. Conforme descrito em ISBN e outros identificadores compatíveis, ele precisa ser de um dos seguintes tipos:
|
value |
É o valor do ID. É o ID externo que identifica claramente esta edição. Remova todos os prefixos não numéricos. |
identifier
Exemplo
"identifier": { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }
Exemplo com várias propriedades identifier
:
"identifier": [ { "@type": "PropertyValue", "propertyID": "OCLC_NUMBER", "value": "110123456" }, { "@type": "PropertyValue", "propertyID": "LCCN", "value": "220123456" },{ "@type": "PropertyValue", "propertyID": "JP_E-CODE", "value": "12345678901234567890" }]
Exemplo de arquivo JSON do feed 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" }
Exemplo de arquivo JSON do feed 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
)
A propriedade potentialAction
usa a entidade ReadAction
.
ReadAction
define os links diretos para acessar o livro, o varejista que o mantém em estoque e os critérios que os usuários precisam atender. Isso pode incluir status de assinatura ou de
login, localização ou qualquer informação necessária para acessar o livro.
Propriedades obrigatórias | |
---|---|
@type |
Defina como |
expectsAcceptanceOf |
É a definição dos requisitos que o usuário precisa atender para acessar esta entidade. Se houver várias propriedades Esta propriedade pode ser repetida. |
expectsAcceptanceOf.@type |
Defina como |
expectsAcceptanceOf.category |
É o tipo de
|
expectsAcceptanceOf.eligibleRegion |
É o país qualificado para este Esta propriedade pode ser repetida. |
expectsAcceptanceOf.eligibleRegion.@type |
Defina como |
expectsAcceptanceOf.eligibleRegion.name |
É o código de país no formato ISO 3166-1 alfa-2. |
target |
São as especificações do link direto, que inclui as informações sobre
plataformas compatíveis. Pode haver várias propriedades Esta propriedade pode ser repetida. |
target.@type |
Defina como |
target.actionPlatform |
São as plataformas em que este link direto é válido. Use um dos seguintes valores:
Esta propriedade pode ser repetida. |
target.urlTemplate |
É o link que leva os usuários diretamente ao conteúdo da página de destino do livro. |
Propriedades recomendadas | |
---|---|
expectsAcceptanceOf.availabilityEnds |
É a hora de término do período de disponibilidade. Deste modo, é possível controlar a hora exata em que este livro não será mais exibido aos usuários. |
expectsAcceptanceOf.availabilityStarts |
É a hora de início do período de disponibilidade. Deste modo, é possível controlar a hora exata em que este livro será exibido aos usuários. |
expectsAcceptanceOf.price |
É o preço de compra do livro. Isto é necessário quando o |
expectsAcceptanceOf.priceCurrency |
É a moeda do preço no formato de três letras ISO 4217. |
ReadAction
Exemplo
"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" } } }
Exemplo de ReadAction
com várias propriedades 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
)
A propriedade potentialAction
usa a entidade BorrowAction
.
BorrowAction
define os links diretos para acessar o livro, a biblioteca que o tem no catálogo e os critérios que os usuários precisam atender. Isso pode incluir status de assinatura ou de
login, localização ou qualquer informação necessária para acessar o livro.
Propriedades obrigatórias | |
---|---|
@type |
Defina como |
lender |
É o sistema de bibliotecas que concede acesso a esta edição. |
lender.@id |
São as referências de ID de |
lender.@type |
Defina como |
target |
São as especificações do link direto, que inclui as informações sobre
plataformas compatíveis. Se quiser definir links diretos para diferentes conjuntos de plataformas, especifique uma matriz Esta propriedade pode ser repetida. |
target.@type |
Defina como |
target.actionPlatform |
São as plataformas em que este link direto é válido. Use um dos seguintes valores:
Esta propriedade pode ser repetida. |
target.urlTemplate |
É o link que leva os usuários diretamente ao conteúdo da página de destino do livro. |
BorrowAction
Exemplo
"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" ] } }
Exemplo de BorrowAction
com várias propriedades 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" ] } ] }
Entidade Library
A definição completa de Library
está disponível em
schema.org/Library, mas
você só precisa considerar as propriedades a seguir. Defina as propriedades obrigatórias para cada biblioteca a ser incluída no feed.
Também é possível definir as propriedades recomendadas para dar mais informações sobre o conteúdo, o que pode proporcionar uma melhor experiência ao usuário.
Esta entidade Library
é o tipo de entidade Library
de nível superior. É uma construção abstrata que consiste em uma entidade
LibrarySystem
e cada entidade
Library (member)
de nível inferior da
LibrarySystem
.
O feed Library
é diferente do feed Book
. Portanto, qualquer feed Library
que você implemente precisa ser totalmente separado do feed Book
.
Para ver mais informações, consulte
Criar um feed.
LibrarySystem
A entidade LibrarySystem
representa uma rede colaborativa
de membros, que são bibliotecas.
Propriedades obrigatórias | |
---|---|
@context
|
Text
Defina como |
@id
|
URL
É um ID globalmente exclusivo para o sistema de bibliotecas no formato de um URL. O ID precisa ser estável e não pode mudar ao longo do tempo. É tratado como uma string opaca e não precisa ser um link funcional. O domínio usado para o valor |
@type
|
Text
Defina como |
additionalProperty
|
PropertyValue
É a propriedade adicional usada para indicar o tipo de biblioteca. |
additionalProperty.@type
|
Text
Defina como |
additionalProperty.name
|
Text
Defina como |
additionalProperty.value
|
Text
É o tipo da biblioteca. Use um dos seguintes valores:
|
member
|
Library
São os membros do sistema de bibliotecas. |
name
|
Text
É o nome do sistema de bibliotecas. Por exemplo,
|
url
|
URL
É o URL que apresenta ou descreve o sistema de bibliotecas. A Pesquisa Google usa este link para reconciliar o conteúdo do feed com as informações dos bancos de dados do Google. Para a página de destino
a ser exibida de fato, usamos o URL informado em
|
Library
(member
)
A propriedade member
da entidade LibrarySystem
usa a entidade Library (member)
.
Library (member)
representa uma única biblioteca membro
de um determinado sistema de bibliotecas.
Propriedades obrigatórias | |
---|---|
@id
|
URL
É um ID globalmente exclusivo para a filial da biblioteca no formato
de um URL. O ID precisa ser estável e não pode mudar ao longo do tempo. É tratado como uma string opaca e não precisa ser um link funcional. O domínio usado para o valor |
@type
|
Text
Defina como |
location
|
PostalAddress
É o endereço da filial da biblioteca. Nem todas as propriedades se aplicam a todos os países. É preciso incluir todas as que são relevantes para os endereços das suas bibliotecas. Exemplo de { "@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" } } Exemplo de { "@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
Defina como |
location.addressCountry
|
Text
É o código do país no
formato
ISO 3166-1. Por exemplo, |
location.addressLocality
|
Text
É a localidade. Por exemplo,
|
location.addressRegion
|
Text
É a região. Por exemplo, |
location.postalCode
|
Text
É o código postal. Por exemplo,
|
location.streetAddress
|
Text
É o endereço. Por exemplo,
|
name
|
Text
É o nome da filial da biblioteca. |
Exemplo de arquivo JSON do feed 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" } } ] }