Verificador de HTML bruto versus renderizado
Free, no signup. Open the page in a browser and it looks complete; Google sees raw HTML first, then runs JavaScript and looks again — and those two views don't always agree. Test a public URL through the bounded rendering service to find where they diverge, with a side-by-side raw-vs-rendered diff.
Solicite uma comparação no navegador mesmo que o HTML inicial pareça substancial. Os limites de renderização continuam válidos; a solicitação não garante uma captura renderizada.
Comportamento padrão: Free, no sign-up. The page is rendered in headless Chrome only when the initial HTML looks incomplete — most server-rendered sites never need it.
As verificações são executadas em nosso servidor; buscamos a URL informada e não guardamos os resultados. Reports are kept 7 days so you can share a link to the result. Anonymous aggregate stats feed our research posts; domains are counted once via an anonymized hash and never stored in the clear. Contadores anônimos de resultados por execução podem ser usados em pesquisas agregadas; URLs, domínios, IPs e identificadores nunca são incluídos, e nenhuma estatística é divulgada com menos de 100 execuções.
+ salva o site ou a página atual. Use ☆ ao lado de qualquer site, página ou lista salva para adicioná-la aos favoritos. O histórico de verificações recentes aparece abaixo.
Criar uma lista nomeada
Alvo preenchido a partir das suas escolhas locais.
Passaporte do site Contexto local deste site salvo
Dados locais
Alvos salvos, listas nomeadas e resumos de verificações recentes permanecem apenas neste navegador.
What JavaScript changed
Resources Google and AI bots couldn’t get
What non-rendering AI crawlers can see
This is a fast, directional check. For anything that affects indexing, confirm it in Google Search Console's URL Inspection tool — that's Google's own renderer and the real source of truth.
Avaliar esta ferramenta
What this is checking
The render gap
Google can process JavaScript in a rendering phase after crawling. Content that appears only after rendering depends on that phase and is absent from the initial response; this comparison does not predict discovery or indexing timing.
The most restrictive rule wins
If a noindex appears in either the raw or rendered HTML, Google may use it — and an initial-HTML noindex may cause Google to skip rendering, so JavaScript cannot reliably undo it.
Canonicals are conditional
JavaScript may add a canonical when the raw HTML has none, or keep the same value. A different or additional value creates competing canonical input.
Checks based on the JavaScript SEO guide on Ahrefs. Confirm findings in Search Console.
Sobre esta ferramenta
Uma página parece completa no navegador, mas o Google vê primeiro o HTML bruto e depois o conteúdo renderizado por JavaScript — e as duas versões nem sempre coincidem. Encontre essa lacuna.
Grátis e sem cadastro. Abra a página no navegador e ela parece completa; o Google vê primeiro o HTML bruto, depois executa o JavaScript e verifica novamente — e essas duas visões nem sempre coincidem. Teste um URL público por meio do serviço de renderização com limites para descobrir onde
Recursos
- Tabela lado a lado do HTML inicial versus o DOM renderizado em dez campos, com
- Comportamento padrão: Renderização no Chrome headless somente quando a heurística do conteúdo bruto a solicita, com indicação de se houve renderização,
- Cerca de quinze verificações calibradas de SEO para JavaScript, agrupadas por gravidade (Problemas, Vale corrigir,
- Compatível com robots.txt: sinaliza quando o arquivo bloqueia o JavaScript ou CSS de que o Google precisa
Como funciona
Um pequeno endpoint do Worker busca o HTML bruto da página e o respectivo robots.txt.
Limitações
- Esta é uma verificação rápida e indicativa — não é o renderizador do Google. Seu Chrome headless não
- Analisa uma página por vez. Não percorre interações complexas além de testar controles expansíveis comuns
Perguntas frequentes
O que é a lacuna de renderização no SEO para JavaScript?
É a diferença entre o conteúdo do HTML bruto entregue pelo servidor e o DOM final depois que o navegador executa o JavaScript. O Google pode processar JavaScript em uma etapa posterior ao rastreamento. Tudo o que só aparece após essa execução depende de uma renderização bem-sucedida e não está na resposta inicial. A ferramenta mede essa dependência; não prevê quando o Google descobrirá ou indexará o conteúdo.
O Google realmente renderiza JavaScript?
Sim. O Google renderiza páginas com um Chromium atualizado, portanto conteúdo no cliente pode ser indexado. A renderização é uma etapa separada, e recursos bloqueados ou erros podem impedir que o conteúdo apareça. A Pesquisa Google não interage com a página para carregar conteúdo; conteúdo que exige interação já deve estar no HTML renderizado. Colocar conteúdo e tags essenciais na resposta do servidor elimina essa dependência.
Por que a ferramenta às vezes não renderiza minha página?
Comportamento padrão: O Chrome sem interface gráfica só é executado quando uma heurística limitada considera o HTML inicial incompleto. Títulos, links e texto substanciais no HTML bruto podem fazer a ferramenta pular a renderização, mas isso não comprova renderização no servidor nem ausência de mudanças por JavaScript. A execução ignorada oferece uma análise do HTML inicial sem comparação de paridade.
O Google respeita canonical ou noindex inseridos por JavaScript?
O Google pode pular a renderização depois de encontrar noindex no HTML inicial, então o JavaScript não consegue removê-lo depois de forma confiável; um noindex apenas renderizado também pode ser usado. Para canonical, o JavaScript pode adicionar um quando o HTML inicial não tiver nenhum, e definir o mesmo valor é aceitável. Alterar para outro valor ou deixar vários cria sinais concorrentes arriscados.
Isto é igual à Inspeção de URL do Google Search Console?
Não, nem pretende substituí-la. É uma comparação rápida e indicativa. A Inspeção de URL fornece evidências específicas do Google sobre rastreamento, indexação e teste ativo para uma propriedade verificada, mas nenhuma das ferramentas garante como uma URL será processada em um rastreamento futuro.
Problemas comuns e como corrigi-los
- Aviso O head do documento inicial termina cedo demais Correção: Corrija a marcação inválida do head para que os metadados permaneçam em um único elemento <head> válido no HTML inicial.
- Erro O título está ausente Correção: Adicione ao HTML inicial um <title> conciso e exclusivo que identifique o tema principal da página.
- Aviso O título muda após a renderização Correção: Mantenha os valores de <title> do servidor e da versão renderizada idênticos, a menos que a alteração no cliente seja intencionalmente necessária.
- Erro O título só aparece após o JavaScript Correção: Emita o <title> final no HTML inicial em vez de depender do JavaScript para inseri-lo.
- Aviso A descrição meta está ausente Correção: Adicione ao HTML inicial uma descrição meta específica da página que resuma o conteúdo com precisão.
- Aviso A descrição meta muda após a renderização Correção: Alinhe as descrições meta inicial e renderizada para que os rastreadores recebam um resumo consistente.
- Erro Os canonicals inicial e renderizado entram em conflito Correção: Escolha o URL absoluto preferencial e faça as tags canonical inicial e renderizada apontarem para ele.
- Erro O JavaScript substitui o canonical Correção: Mantenha um canonical no HTML inicial e impeça que o código do cliente o substitua após a renderização.
- Aviso O canonical só existe após a renderização Correção: Mova a tag canonical para o HTML inicial em vez de adicioná-la somente após a execução do JavaScript.
- Erro O JavaScript remove o noindex Correção: Remova o noindex da resposta inicial do servidor quando a página deva ser indexada; não dependa do JavaScript para desfazê-lo.
- Aviso O JavaScript adiciona noindex Correção: Impeça que o código do cliente adicione noindex a páginas que devam continuar indexáveis.
- Erro O noindex permanece após a renderização Correção: Remova a diretiva noindex tanto do HTML inicial quanto do renderizado quando a página deva ser indexada.
- Aviso A diretiva Nofollow permanece após a renderização Correção: Remova o nofollow quando os rastreadores devam seguir os links da página ou aplique-o somente aos links que realmente precisam dele.
- Aviso O hreflang só aparece após a renderização Correção: Emita cada anotação hreflang no HTML inicial ou nos cabeçalhos HTTP, em vez de adicioná-la somente com JavaScript.
- Aviso O hreflang muda após a renderização Correção: Mantenha os conjuntos hreflang inicial e renderizado idênticos, recíprocos e apontados para os URLs das localidades corretas.
- Erro Conteúdo importante só aparece após a renderização Correção: Renderize no servidor ou gere estaticamente o conteúdo importante para que ele exista no HTML inicial.
- Aviso Muito conteúdo é adicionado após a renderização Correção: Mova o conteúdo essencial adicionado por JavaScript para o HTML inicial e deixe apenas melhorias não essenciais para o cliente.
- Aviso Links importantes só aparecem após a renderização Correção: Exponha destinos importantes como links <a href> comuns no HTML inicial.
- Erro Os links renderizados não são URLs rastreáveis Correção: Substitua onclick, javascript: ou a navegação por botões por URLs rastreáveis em links <a href>.
- Aviso As imagens renderizadas não têm atributos alt Correção: Adicione textos alt concisos às imagens renderizadas relevantes e atributos alt vazios às imagens decorativas.
- Erro O robots.txt bloqueia recursos de renderização Correção: Permita que o Googlebot busque os recursos bloqueados de JavaScript, CSS ou dados necessários para renderizar a página.
- Aviso A renderização produz erros no terminal do navegador Correção: Corrija a exceção indicada no cliente e confirme que o conteúdo essencial ainda seja renderizado em um carregamento sem cache.
- Aviso Há solicitações de recursos com falha durante a renderização Correção: Restaure, redirecione corretamente ou remova cada solicitação de recurso com falha exigida pela saída renderizada.
- Aviso Conteúdo importante exige interação Correção: Coloque todo o conteúdo no DOM carregado ou atribua a ele um URL rastreável, em vez de exigir clique ou rolagem.
- Erro A página renderizada parece uma página ausente que retorna 200 Correção: Retorne 404/410 para uma página ausente ou substitua o conteúdo raso semelhante a erro por conteúdo relevante no URL que retorna 200.
- Aviso O JavaScript redireciona a página Correção: Substitua o redirecionamento por JavaScript por uma resposta 3xx apropriada no servidor para o URL final.
- Informação Os dados estruturados estão ausentes Correção: Adicione JSON-LD preciso para a principal entidade compatível da página quando os dados estruturados forem apropriados.
- Aviso Os dados estruturados só aparecem após a renderização Correção: Emita o JSON-LD validado no HTML inicial em vez de inseri-lo somente após a execução do JavaScript.
- Informação A página depende de um WebSocket durante a renderização Correção: Renderize o conteúdo essencial sem exigir um WebSocket aberto e ofereça uma alternativa HTTP resiliente ou renderizada no servidor.
- Aviso A declaração de área de visualização está ausente Correção: Adicione <meta name="viewport" content="width=device-width, initial-scale=1"> ao head inicial.
- Erro O conteúdo crítico depende da renderização no cliente Correção: Renderize no servidor ou pré-renderize o título, o H1, os links e o conteúdo principal no HTML inicial.
- Aviso A página depende de roteamento por fragmento Correção: Mude o roteador para caminhos baseados no histórico que o servidor consiga resolver sem um fragmento de URL.
- Aviso O elemento de título está fora do cabeçalho do HTML Correção: Mova o elemento de título para o cabeçalho do documento e mantenha ali exatamente um valor não vazio.
- Aviso O elemento canonical está fora do head do HTML Correção: Mova o link canônico pretendido para o cabeçalho do documento e remova as declarações canônicas do corpo.
- Aviso O HTML inicial contém canonicals conflitantes Correção: Emita um único URL canonical no HTML inicial em vez de depender do JavaScript para corrigir declarações conflitantes.