Como usar esta ferramenta

Validador de Schema Markup e Dados JSON-LD

Como usar o validador de schema markup

Voltar para a ferramenta

Entra uma página; cada bloco JSON-LD do seu HTML original é analisado e comparado com o vocabulário do Schema.org.

  1. 01

    Informe a página a verificar

    Uma página por execução: dados estruturados pertencem a uma página específica, e uma pilha de árvores de entidades não é algo que se leia lado a lado. Normalizar URL continua importando: deixe em Somente domínio e estará lendo a marcação da home, não a da página que colou.

  2. 02

    Rode a verificação no HTML bruto

    A ferramenta baixa a página e analisa o HTML que recebe. Ela não executa JavaScript, então a marcação injetada por um script depois do carregamento não está lá para ser encontrada. Por isso um resultado vazio diz "não encontrado no HTML original", e não "esta página não tem schema".

  3. 03

    Leia a impressão JSON dos dados declarados

    O resultado é um documento JSON com linhas numeradas: os dados estruturados como foram lidos, não a marcação que você escreveu. Um item referenciado por @id é preenchido onde é usado. Uma linha com problema é tingida, com um ícone para erros e outro para avisos. Abaixo da impressão, um chip por tipo declarado destaca cada bloco daquele tipo.

  4. 04

    Siga a lista até a linha exata e exporte

    Abaixo da impressão estão as duas contagens e uma entrada por problema, ordenadas por número de linha. Cada entrada leva à sua própria linha na impressão, então uma página com trinta problemas ainda é percorrível. Copiar e Exportar na linha acima da impressão entregam a impressão em si: o download é um arquivo .json que você pode colar de volta direto.

Como ler o relatório de dados estruturados JSON-LD

A lista responde a duas perguntas: o que esta página declara, e quais partes um parser rejeitaria. Campos obrigatórios e elegibilidade para rich results não são julgados aqui; o buscador decide isso por rich result.

Elementos da impressão

@type
O tipo Schema.org do item, impresso como sua primeira linha, e a linha em que um tipo inválido é sinalizado. Um item que é só uma referência não tem linha @type: a página não declarou nenhum e a impressão não inventa nada.
@id
O que distingue dois itens do mesmo tipo, impresso logo após @type. Um item referenciado por @id é preenchido onde é usado, não repetido no nível superior, então a impressão pode ser mais curta que a marcação.
Erros
Marcação que um analisador recusaria ou ignoraria: um tipo ou propriedade que não está no vocabulário, um valor do tipo errado, um bloco que não é JSON válido.
Avisos
Marcação válida que provavelmente não é o que você quis dizer — quase sempre uma propriedade que existe mas não está definida para este tipo. O Schema.org chama isso de expectativa, não de regra, então aqui nunca vira erro.

Referência de mensagens

O tipo não está no vocabulário
O @type não existe no Schema.org — normalmente um erro de digitação ou um nome inventado para o site. Um item sem nenhum @type é reportado do mesmo jeito, porque um analisador não faz nada com nenhum dos dois.
A propriedade não está no vocabulário
O nome da propriedade não existe em lugar nenhum do Schema.org, então nada consegue lê-lo. Isto é um erro: o valor é descartado independentemente do que diga.
A propriedade não é válida para este tipo
A propriedade existe, só que não neste tipo — cookTime num Article, por exemplo. Apenas um aviso: o Schema.org trata o tipo a que uma propriedade pertence como orientação, e os consumidores leem além disso.
O valor não corresponde ao tipo esperado
A propriedade existe e cabe aqui, mas o valor é de outra espécie — uma string simples onde se esperava uma data ou um item aninhado.
Este bloco não é JSON válido
Reportado acima da lista e não dentro de um bloco, porque um bloco que não parseia não tem itens a que anexar nada. Tudo depois do erro de sintaxe fica sem leitura; uma vírgula perdida pode esconder o resto da marcação.
Sem @context apontando para schema.org
Reportado aqui de propósito, ainda que o validador de referência fique em silêncio. Sem @context os nomes ali dentro são só palavras, então nada no bloco pôde ser verificado, e um relatório limpo sobre um bloco não verificado é a pior resposta possível.