Validador de Schema Markup e Dados JSON-LD
Como usar o validador de schema markup
Voltar para a ferramentaEntra uma página; cada bloco JSON-LD do seu HTML original é analisado e comparado com o vocabulário do Schema.org.
- 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.
- 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".
- 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.
- 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.