Schema não vira estrela no Google?
A ferramenta encontra e extrai os blocos de dados estruturados (JSON-LD, o formato do schema.org) embutidos no HTML de uma página, e devolve o conteúdo limpo, pronto para conferir. Colando o HTML, roda grátis no seu navegador; por URL, funciona via API para auditorias automáticas.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Dados estruturados: o que são e por que importam
Dados estruturados são um trecho de código que descreve a página para os buscadores em formato padronizado: isto é um produto, custa tanto, tem tal nota; isto é uma receita; isto é uma empresa com este endereço. É com base neles que o Google monta resultados enriquecidos — estrelas de avaliação, preço, perguntas frequentes direto na busca. O formato dominante é o JSON-LD, um bloco de JSON embutido no HTML. O problema: ele é invisível na página, e erro invisível ninguém corrige.
Cole o HTML e enxergue o que está publicado
Cole o código da página e a ferramenta localiza todos os blocos JSON-LD, extrai o conteúdo e mostra o dado como ele é. Esse modo roda inteiro no seu navegador, grátis e sem cadastro — o código não é enviado a servidor nenhum. Ver o JSON limpo revela na hora os erros clássicos: preço desatualizado dentro do schema de produto, bloco duplicado (um do tema, outro do plugin, cada um dizendo uma coisa), campo obrigatório em branco, JSON quebrado por uma vírgula fora do lugar.
Auditoria contínua via API
Por URL, a mesma extração roda nos nossos servidores e devolve JSON, a US$ 0,002 por solicitação. O uso mais valioso é o acompanhamento: extraia o schema das suas páginas-chave depois de cada mudança no site e compare com a versão anterior. Atualização de tema e troca de plugin são os grandes assassinos silenciosos de dados estruturados — a página continua bonita, mas o bloco sumiu, e as estrelas desaparecem da busca semanas depois, quando ninguém lembra mais o que mudou.
Marcação certa é requisito, não garantia
Vale a honestidade: schema correto não obriga o Google a mostrar resultado enriquecido — ele decide caso a caso. O que a extração garante é a sua parte do trato: dado presente, completo e coerente com o que a página exibe (marcar nota máxima sem avaliação visível é pedir punição, não estrela). Com o JSON em mãos, você valida a estrutura em qualquer validador e, principalmente, confere se o conteúdo diz a verdade sobre a página.
Casos de uso
Loja virtual depois do reajuste de preços
Uma loja reajustou a tabela inteira, mas o plugin de schema guardava o preço antigo: a busca mostrava R$ 89,90 e a página cobrava R$ 109,90 — receita certa para perder a confiança do cliente. A extração pós-reajuste compara o preço do JSON-LD com o da página e pega a divergência no mesmo dia.
Migração de tema sem perder as estrelas
Um site de conteúdo trocou de tema e as avaliações sumiram da busca aos poucos. Extraindo o schema antes e depois da troca, a equipe teria visto na hora que o bloco de avaliações não existia mais no HTML novo. Hoje a comparação faz parte do checklist de toda mudança grande.
Homologação auditada antes do ar
O ambiente de testes fica atrás de senha, fora do alcance de validadores por URL. O desenvolvedor cola o HTML da homologação, extrai o JSON-LD e valida antes de publicar — dados estruturados quebrados nunca chegam à versão pública.
Perguntas frequentes
Preciso pagar para conferir uma página?
Não: colando o HTML, a extração roda no seu navegador, de graça e sem limite. O pagamento só existe no modo API, que busca a página por URL — US$ 0,002 por solicitação.
Preciso saber programar para usar?
Não. Copiar o código-fonte da página (Ctrl+U, selecionar tudo, copiar) e colar é o único passo técnico. O resultado mostra o conteúdo do schema de forma legível — dá para conferir preço, nota e descrição sem escrever uma linha de código.
Isso substitui o teste de resultados avançados do Google?
Complementa. O teste do Google diz se a marcação é elegível; a extração entrega o dado bruto para você comparar versões, auditar em lote e perceber quando algo some ou muda — coisas que um teste manual, página por página, não cobre.
A página tem schema, mas o Google não mostra as estrelas. Por quê?
Marcação válida é requisito, não garantia: o Google decide quando exibir. Confira se o conteúdo do schema bate com o que a página mostra e se o tipo marcado é elegível — e, mesmo assim, a exibição pode variar.
O HTML colado fica salvo em algum lugar?
No modo de colar, não sai do seu navegador — nada é enviado nem armazenado. No modo API, a URL é processada para gerar o resultado da sua tarefa, e só.
Posso extrair o schema de páginas de concorrentes?
Por URL, a leitura alcança qualquer página pública — ver como outros sites estruturam seus dados é prática comum e legítima de SEO. O dado extraído é o que eles mesmos publicam abertamente para os buscadores.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/web/schema \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/schema", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/schema",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/schema", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/schema", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"url": "https://ejemplo.com"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.schema",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
timeout_sec | 30 |
max_crawl_pages | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |