JSON-LD
JSON-LD é um método de marcação que renderiza dados usando objetos de Dados Vinculados (LD).
Atenção
Se você incorporar micromarcação usando um plug-in, provavelmente será preciso modificá-lo. Para isso, entre em contato com o desenvolvedor do plug-in ou outro profissional com conhecimentos de programação.
Princípios de marcação
Os dados no formato JSON-LD são descritos por um conjunto de pares chave-valor separados por vírgulas. O formato fornece chaves reservadas para definir o contexto da descrição ou vincular os objetos de diferentes maneiras. Por exemplo, @context
define o vocabulário do objeto (neste caso — Schema.org), enquanto @type
define o tipo da entidade descrita. Para a lista completa de chaves reservadas, consulte a documentação do JSON-LD.
A entidade é descrita entre chaves { } no interior da tag <script>
com o atributo type="application/ld+json"
ou type="ld+json"
. Indique que o vocabulário Schema.org é utilizado para marcação — "@context":"http://schema.org"
. Use a chave @type
para especificar a classe Schema.org que define a entidade descrita. Marque as propriedades da entidade: use as propriedades da classe Schema.org especificada como chave.
Para marcar várias entidades em uma página, você pode usar:
Para cada nó do grafo, especifique @id
— um link para a seção da página que contém a entidade descrita.
O exemplo abaixo descreve dois artigos de notícia "@type":"NewsArticle"
. O identificador do artigo (chave @id
), a data de publicação (chave datePublished
) e os autores do artigo (chave author
) são especificados como um arranjo de dois elementos. Para descrever autores, usamos entidades aninhadas da classe Person
.
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@graph" : [
{
"@type": "NewsArticle",
"@id": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#cao",
"datePublished": "2018-12-11T08:56:49Z",
"author": [{"@type": "Person", "name": "João Silva"},
{"@type": "Person", "name": "Pedro Pereira"}]
},
{
"@type": "NewsArticle",
"@id": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#zao",
"datePublished": "2018-12-11T09:56:49Z",
"author": [{"@type": "Person", "name": "João Silva"},
{"@type": "Person", "name": "Pedro Pereira"}]
}
]
}
</script>
Para cada entidade, especifique @id
— um link para a seção da página que contém a entidade descrita.
O exemplo abaixo descreve dois artigos de notícia "@type":"NewsArticle"
. O identificador do artigo (chave @id
), a data de publicação (chave datePublished
) e os autores do artigo (chave author
) são especificados como um arranjo de dois elementos. Para descrever autores, usamos entidades aninhadas da classe Person
.
<script type="application/ld+json">
[{
"@context": "http://schema.org",
"@type": "NewsArticle",
"@id": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#cao",
"datePublished": "2018-12-11T08:56:49Z",
"author": [{"@type": "Person", "name": "João Silva"},
{"@type": "Person", "name": "Pedro Pereira"}]
},
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"@id": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#zao",
"datePublished": "2018-12-11T09:56:49Z",
"author": [{"@type": "Person", "name": "João Silva"},
{"@type": "Person", "name": "Pedro Pereira"}]
}
]
</script>
Leia mais sobre JSON-LD.
Que conteúdo é possível marcar
O Yandex Metrica é compatível com marcação para os seguintes conteúdos:
- Artigo, notícia ou postagem de blog (
Article
,NewsArticle
ouBlogPosting
) - Descrição de filme (
Movie
) - Avaliação ou feedback (
Review
) Receita
- Perguntas e respostas (
Question
ouQAPage
)
Outros tipos de conteúdo não serão incluídos nos relatórios do Yandex Metrica, mesmo que a marcação esteja correta.
Como marcar materiais
Adicione marcação ao seu conteúdo seguindo as regras abaixo para garantir que ele seja processado corretamente pelo Yandex Metrica. Para obter estatísticas mais completas, recomendamos que você marque todos os elementos do conteúdo, embora apenas três sejam obrigatórios: identificador, manchete e texto.
Se você já usa JSON-LD, verifique se a marcação presente no seu site atende a esses requisitos. Os exemplos de código nos termos não são a única opção correta de marcação.
A marcação pode ser adicionada ao site automaticamente — por exemplo, usando plug-ins do WordPress. Antes de usar, certifique-se de que o plug-in selecionado permite informar todos os elementos de marcação necessários para o código da página.
Atenção
Se houver várias unidades de conteúdo em uma única página, marque cada uma delas em separado para que as estatísticas sejam coletadas de forma correta.
Especifique os seguintes elementos de conteúdo (os elementos obrigatórios são marcados com um asterisco):
ID*
-
O identificador é especificado usando a chave reservada
@id
. Ela permite ao Yandex Metrica distinguir entre diferentes conteúdos. A ID não é mostrada nos relatórios. Exemplos de identificadores são um link de conteúdo ou um valor único arbitrário."@id": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#сao"
Se a chave
@id
não for encontrada, o sistema tentará encontrá-la nas entidades aninhadas dentro das chavesmainEntity
oumainEntityOfPage
.<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#сao" } } </script>
@id
pode ser usada para calcular rolagens e leituras completas. Se usada como ID:- A URL do artigo for especificada, o Yandex Metrica detectará o fragmento após o # (
#fragment
). Em seguida, o Yandex Metrica procurará no artigo o elemento HTML que contém esse fragmento (atributoid="fragment"
). Se o fragmento for encontrado, os indicadores serão calculados. A URL do artigo também é processada. - Se um valor aleatório for escolhido e
head
contiver um código JSON-LD, os indicadores serão calculados de acordo com o conteúdo debody
. Se o códigobody
estiver localizado dentro de outro elemento HTML, o elemento matriz da marcação será usado para os cálculos. É por isso que os dados do relatório podem não ser inteiramente precisos. Os cálculos também serão realizados dessa forma se a URL do artigo terminar com um # e nenhum fragmento se seguir.
- A URL do artigo for especificada, o Yandex Metrica detectará o fragmento após o # (
Título*
-
O título é mostrado nos relatórios do Yandex Metrica. Pode ser especificada nas chaves
headline
oualternativeHeadline
. Se ambas as chaves forem encontradas, seus valores serão separados por um espaço. Por exemplo, se os títulos estiverem marcados assim:"headline": "Moscou quebra recorde de temperatura de 1922", "alternativeHeadline": "Temperatura em novembro excede os 12 °C"
No relatório, o artigo é chamado “Moscou quebra recorde de temperatura de 1922 Temperatura em novembro excede os 12 °C”.
Se nenhuma das chaves acima for encontrada, o valor da chave
name
ouitemReviewed
será usado como manchete (para a classeReview
).
Texto*
-
O texto deve estar contido na chave
text
. O texto define o número de caracteres. Isso é necessário para determinar o volume de materiais e calcular as métricas de profundidade de rolagem e profundidade de leitura."text": "Na quarta-feira, 6 de novembro, Moscou quebrou o recorde de temperatura registrado em 1922. A temperatura do ar era de 12,1 graus Celsius positivos, segundo o centro Fobos."
Se a chave
text
não for encontrada, o seguinte conteúdo será entendido como texto:-
Conteúdos do elemento ancorado a partir do valor da chave
url
ou@id
."@context": "https://schema.org", "@type": "Article", "url": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#cao"
-
Conteúdo do nó que incorpora a entidade descrita (se for algo diferente de
<head>
). -
Conteúdo da página
<body>
em todos os outros casos.
Na hora de calcular o tamanho do texto, os caracteres das tags são ignorados.
Observação
Você pode obter estatísticas completas para conteúdos de texto com mais de 500 caracteres.
-
-
O autor é especificado usando a chave
author
. Se houver vários autores, liste-os no arranjo."author": [ {"@type": "Person", "name": "João Silva"}, {"@type": "Person", "name": "Pedro Pereira"} ]
Se a chave não for encontrada, o sistema tentará encontrá-la nas entidades aninhadas nas chaves
mainEntity
oumainEntityOfPage
.<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "NewsArticle", "@id": "12345", "mainEntityOfPage": { "@type": "WebPage", "author": {"@type": "Person", "name": "João Silva"} } } </script>
Com esses dados, você poderá visualizar estatísticas relativas a autores individuais.
Assunto
-
É possível marcar palavras-chave ou hashtags como tópicos. Especifique tópicos na chave
about
:"about": [ {"@type": "Event", "name": "Heat"}, {"@type": "Event", "name": "Moscow"} ]
Tipo (
@type
) é opcional, ou especifique algum tipo que seja suportado pelo padrão.Se a chave
name
não for encontrada, o sistema tentará encontrar os valores na chavealternateName
.
Datas de publicação e revisão
-
As datas de publicação e modificação são indicadas nas chaves
datePublished
edateModified
. As datas são escritas no formato ISO 8601."datePublished": "2018-12-11T08:56:49Z", "dateModified": "2018-11-06T09:26:10+04:00"
Categoria
-
Cabeçalho é uma seção em um site dedicada a um tópico específico. Para marcar uma categoria, use a chave
BreadcrumbList
. Ela descreve uma sucessão de páginas da internet encadeadas ("breadcrumbs"), que geralmente termina com o conteúdo atual. Dentro deBreadcrumbList
, na chaveitemListElement
, devem ser definidas várias entidades do tipoListItem
, que descrevem a categoria atual e as mais amplas.O aninhamento de categorias pode ser definido pela chave
position
. Por exemplo, a categoria "Vida" pode conter categorias aninhadas como "Clima" e "Incidentes". Se"position":"1"
, o conteúdo estará no nível superior ("Vida"); se"position":"2"
, estará no segundo nível ("Clima").A categoria de conteúdo é o valor da chave
name
com valor deposition
mais alto.Observação
No momento, as estatísticas estão mostrando dois níveis de aninhamento de categorias.
{ "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "item":{ "@id": "//exemplo-noticia.ru/vida", "name": "Vida"} },{ "@type": "ListItem", "position": 2, "item":{ "@id": "//exemplo-noticia.ru/vida/tempo", "name": "Tempo"} }] }
URL do conteúdo
-
A URL do conteúdo deve ser incluída na chave
url
. Recomendamos inserir um fragmento de URL após um #. Os indicadores serão calculados com base no conteúdo a que o fragmento de URL aponta. Saiba mais"url": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#сao"
Se a marcação estiver correta e a tag estiver devidamente habilitada, as estatísticas sobre o conteúdo começarão a ser coletadas em breve no Yandex Metrica.
Exemplo de marcação
Veja abaixo um exemplo de marcação de notícia.
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@graph": [
{
"@type":"BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@id": "//exemplo-noticia.ru/vida",
"name": "Vida"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@id": "//exemplo-noticia.ru/vida/tempo",
"name": "Tempo"
}
}
]
},
{
"@type": "NewsArticle",
"@[id](*identifier)": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#cao",
"headline": "Moscou quebra recorde de temperatura de 1922",
"alternativeHeadline": "Temperatura em novembro excede os 12 °C",
"datePublished": "2018-12-11T08:56:49Z",
"dateModified": "2018-11-06T09:26:10+04:00",
"text": "Na quarta-feira, 6 de novembro, Moscou quebrou o recorde de temperatura
registrado em 1922. A temperatura do ar era de 12,1 graus Celsius positivos,
segundo o centro Fobos.",
"[author](*author)": [
{"@type": "Person", "name": "João Silva"},
{"@type": "Person", "name": "Pedro Pereira"}
],
"[about](*about)": {
"@type": "Event",
"name": "Moscou"
},
"url": "https://www.exemplo-noticia.com.br/vida/tempo/moscou#cao"
}
]
}
</script>
Saiba mais
Links úteis |
Treinamento online |
itemprop |
Descrição da propriedade |
As classes |
|
|
ID A ID permite que o Yandex Metrica faça distinção entre diferentes conteúdos. A ID não é mostrada nos relatórios.
|
|
ID Esta propriedade é usada se a propriedade
|
tipo: |
Título O título pode ser especificado usando a propriedade
No relatório, o artigo é chamado “Moscou quebra recorde de temperatura de 1922 Temperatura em novembro excede os 12 °C”. Se nenhuma das propriedades acima for encontrada, o valor da propriedade Copiado |
tipo: |
Título O título pode ser especificado usando a propriedade
No relatório, o artigo é chamado “Moscou quebra recorde de temperatura de 1922 Temperatura em novembro excede os 12 °C”. Se nenhuma das propriedades acima for encontrada, o valor da propriedade Copiado |
tipo: |
Texto do artigo O número de caracteres no texto é determinado. Isso é necessário para determinar o volume de material. Apenas o conteúdo das tags aninhadas é considerado texto. Os caracteres nas tags de fato não são levados em conta. Recomendamos que você marque o texto dos materiais, de modo a não incluir nada de desnecessário: banners de anúncio, blocos de comentários, etc., senão o volume de materiais e os indicadores de estatísticas podem acabar sendo calculados incorretamente.
Se a propriedade Se nenhuma das propriedades for encontrada, o conteúdo da tag marcada como Observação Você pode obter estatísticas completas para conteúdos de texto com mais de 500 caracteres. Copiado |
tipo: ou ou |
Autor Para especificar o autor, utilizamos a propriedade
O valor também pode ser obtido:
Com esses dados, você poderá visualizar estatísticas relativas a autores individuais no Yandex Metrica. Copiado |
tipo: |
Assunto É possível marcar palavras-chave ou hashtags como tópicos. Para isso, defina a propriedade
Copiado |
tipo: |
Data de publicação As datas de publicação
ou no atributo
Copiado |
|
Data de alteração As datas de publicação
ou no atributo
Copiado |
Classe |
|
tipo: ou ou |
Categoria Cabeçalho é uma seção em um site dedicada a um tópico específico. Para marcar uma categoria, use a classe O aninhamento de categorias é definido usando a propriedade O cabeçalho dos materiais será o valor da propriedade Observação No momento, as estatísticas estão mostrando dois níveis de aninhamento de categorias.
Copiado |
Outra |
|
Referência canônica A URL do conteúdo é especificada usando a propriedade
Se a propriedade O valor encontrado pode ser usado na hora de gerar a ID do conteúdo. Copiado |
Descrição da propriedade
ID
A ID permite que o Yandex Metrica faça distinção entre diferentes conteúdos. A ID não é mostrada nos relatórios.
<meta itemprop="identifier" content="12345">
Descrição da propriedade
Título
O título pode ser especificado usando a propriedade headline
ou alternativeHeadline
. O título irá aparecer nos relatórios do Yandex Metrica. Se ambas as propriedades estiverem definidas, seus respectivos valores serão escritos com um espaço. Por exemplo, se os títulos estiverem marcados assim:
<h1 itemprop="headline">Moscou quebra recorde de temperatura de 1922</h1>
<h2 itemprop="alternativeHeadline">Temperatura em novembro excede os 12 °C</h2>
No relatório, o artigo é chamado “Moscou quebra recorde de temperatura de 1922 Temperatura em novembro excede os 12 °C”.
Se nenhuma das propriedades acima for encontrada, o valor da propriedade name
será usado como título.
Descrição da propriedade
Título
O título pode ser especificado usando a propriedade headline
ou alternativeHeadline
. O título irá aparecer nos relatórios do Yandex Metrica. Se ambas as propriedades estiverem definidas, seus respectivos valores serão escritos com um espaço. Por exemplo, se os títulos estiverem marcados assim:
<h1 itemprop="headline">Moscou quebra recorde de temperatura de 1922</h1>
<h2 itemprop="alternativeHeadline">Temperatura em novembro excede os 12 °C</h2>
No relatório, o artigo é chamado “Moscou quebra recorde de temperatura de 1922 Temperatura em novembro excede os 12 °C”.
Se nenhuma das propriedades acima for encontrada, o valor da propriedade name
será usado como título.
Descrição da propriedade
Data de publicação
As datas de publicação datePublished
e revisão dateModified
estão escritas no formato ISO 8601.
html <meta itemprop="datePublished” content="2018-12-11T08:56:49Z” />
ou no atributo datetime
da tag time
<time itemprop="dateModified" datetime="2018-12-11T07:30:00Z">07:30, 11 de dezembro, 2018 </time>
Descrição da propriedade
Data de alteração
As datas de publicação datePublished
e revisão dateModified
estão escritas no formato ISO 8601.
html <meta itemprop="datePublished” content="2018-12-11T08:56:49Z” />
ou no atributo datetime
da tag time
<time itemprop="dateModified" datetime="2018-12-11T07:30:00Z">07:30, 11 de dezembro, 2018 </time>
Descrição da propriedade
Categoria
Cabeçalho é uma seção em um site dedicada a um tópico específico. Para marcar uma categoria, use a classe BreadcrumbList
. Ela descreve uma sucessão de páginas da internet encadeadas ("breadcrumbs"), que geralmente termina com o conteúdo atual. Dentro da BreadcrumbList
, defina vários itens do tipo ListItem
, que são marcados pela propriedade itemListElement
e descrevem cabeçalhos atuais e mais amplos.
O aninhamento de categorias é definido usando a propriedade position
da classe ListItem
. Por exemplo, a categoria "Vida" pode conter categorias aninhadas como "Clima" e "Incidentes". Se position = '1'
, os materiais estarão no nível superior ("Vida"); se position = '2'
, estarão no segundo nível ("Clima").
O cabeçalho dos materiais será o valor da propriedade name
da entidade ListItem
com o maior valor de position
.
Observação
No momento, as estatísticas estão mostrando dois níveis de aninhamento de categorias.
<ol itemscope itemtype="http://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="//example-news.ru/life">
<span itemprop="name">Vida</span></a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope
itemtype="http://schema.org/ListItem">
<a itemprop="item" href="//exemplo-noticia.com.br/vida">
<span itemprop="name">Tempo</span></a>
<meta itemprop="position" content="2" />
</li>
</ol>
Descrição da propriedade
Autor
Para especificar o autor, utilizamos a propriedade author
. Se houver vários autores, especifique-os em diferentes tags.
html <div itemprop="author">João Silva</div>
O valor também pode ser obtido:
-
Da propriedade
nome
da classePessoa
.<div itemprop="author" itemscope itemtype="http://schema.org/Person"> <span itemprop="name">João Silva</span> </div>
-
Do atributo do link
href
.<link itemprop='author' href="/exemplo/autores/joão_silva.html"/>
Com esses dados, você poderá visualizar estatísticas relativas a autores individuais no Yandex Metrica.
Descrição da propriedade
Assunto
É possível marcar palavras-chave ou hashtags como tópicos. Para isso, defina a propriedade sobre
de cada tópico. É possível usar o valor da propriedade name
de qualquer classe:
<div itemprop="about">Calor</div>
<div itemprop="about" itemscope itemtype="https://schema.org/Thing">
<span itemprop="name">Moscou</span>
</div>
Descrição da propriedade
Referência canônica
A URL do conteúdo é especificada usando a propriedade url
.
<a itemprop="url" href="https://www.exemplo-news.com/vida/tempo/moscou">exemplo-news.com</a>
Se a propriedade url
não for encontrada, o sistema buscará um link canônico. Este link é usado para indicar o conteúdo principal, caso a página atual duplique uma página do site. Os links canônicos são marcados com um atributo especial rel="canonical"
. Por exemplo, se o conteúdo for uma duplicata da página http://www.exemplo-news.com/pagina
, irá conter <link rel="canonical" href=”http://www.exemplo-news.com/pagina"/>
. O valor do atributo href
do link canônico é usado como URL do material.
O valor encontrado pode ser usado na hora de gerar a ID do conteúdo.