TrueURL

Ferramenta de redirecionamento grátis

Verificador de meta refresh

Nem todo redirecionamento é um código de status HTTP. O TrueURL lê o HTML de cada página da cadeia e encontra tags meta refresh e redirecionamentos JavaScript, com a URL de destino e o atraso de cada um.

O que é um redirecionamento meta refresh?

O meta refresh é uma tag HTML que manda o navegador carregar outra URL depois de um atraso, em segundos:

<meta http-equiv="refresh" content="0; url=https://example.com/new-page">

Com atraso 0, ele se comporta como um redirecionamento normal. Com um atraso maior, os visitantes veem a página primeiro, como nas antigas páginas de “você está sendo redirecionado”. Os redirecionamentos JavaScript fazem o mesmo trabalho com código como location.href = '...' ou location.replace('...'). Os dois são redirecionamentos do lado do cliente: o servidor responde 200 OK, e quem faz o redirecionamento é o navegador.

Como o TrueURL detecta redirecionamentos do lado do cliente

Em toda resposta HTML com status 2xx, o TrueURL analisa os primeiros 256 KB da página em busca de uma tag meta refresh e de redirecionamentos JavaScript simples e incondicionais. Um cabeçalho HTTP Refresh, que funciona como um meta refresh, também é detectado. Quando encontra um deles, o TrueURL mostra a tag ou o trecho de script, a URL de destino resolvida e o atraso, marca o salto como meta refresh ou JavaScript e continua a cadeia a partir do destino. Um refresh que só recarrega a mesma página não é um redirecionamento e é ignorado.

Nas Configurações avançadas, você pode deixar de seguir qualquer um dos dois tipos para analisar a própria página. O TrueURL não executa JavaScript: ele lê os scripts da página e reconhece redirecionamentos para uma URL fixa que sempre rodam quando a página carrega, seja imediatamente, seja em um setTimeout de nível superior. Redirecionamentos que dependem de uma condição, como um clique, uma escolha de consentimento ou o tamanho da tela, ou que montam a URL de destino no código não são detectados. Use GET em vez de HEAD, porque as respostas a HEAD não têm corpo para analisar.

Como os mecanismos de busca tratam redirecionamentos do lado do cliente

  • Meta refresh instantâneo (atraso 0): o Google o trata como um redirecionamento permanente, como um 301.
  • Meta refresh com atraso: tratado como redirecionamento temporário, então a URL original tende a continuar indexada.
  • Redirecionamentos JavaScript: o Google só os vê depois de renderizar a página, o que pode acontecer bem depois do rastreamento. Muitos outros rastreadores e a maioria dos robôs de pré-visualização de links nem executam JavaScript.

O Google recomenda redirecionamentos do lado do servidor sempre que for possível configurá-los, deixando o meta refresh como alternativa, por exemplo em hospedagens estáticas que não conseguem enviar um 301.

Acessibilidade e experiência do usuário

Redirecionamentos temporizados são um problema de acessibilidade: pessoas que usam leitores de tela, ou que simplesmente leem devagar, perdem o ponto em que estavam quando a página muda de repente. As WCAG listam o meta refresh temporizado como uma falha (F40), enquanto um redirecionamento instantâneo com atraso 0 é uma técnica aceita (H76).

Se você precisar redirecionar no HTML, use atraso 0, adicione uma tag canonical apontando para a nova URL e inclua na página um link visível para ela, para os visitantes cujo navegador não segue o refresh.

Guias

Perguntas frequentes

Um meta refresh transfere valor de SEO como um 301?

O Google trata um meta refresh instantâneo (atraso 0) como um redirecionamento permanente, então, na prática, ele funciona de forma muito parecida com um 301. Um refresh com atraso conta como temporário. Outros rastreadores podem lidar com o meta refresh de forma menos confiável, então use um 301 do lado do servidor sempre que a sua hospedagem permitir.

Por que o meu verificador de redirecionamento mostra 200 se a página redireciona no navegador?

O redirecionamento acontece no HTML ou no JavaScript da página, e não na resposta HTTP. Ferramentas que só seguem códigos de status, como curl -L, param na página com 200. O TrueURL analisa o conteúdo da página e mostra o redirecionamento do lado do cliente como um salto próprio.

Qual atraso um meta refresh deve usar?

0, se o objetivo é redirecionar. Qualquer atraso transforma o redirecionamento em temporário para o Google, deixa os visitantes esperando e causa problemas de acessibilidade. Um atraso só faz sentido em uma página que precisa mostrar uma mensagem antes, e essa página também deve ter um link claro para continuar.

O TrueURL consegue detectar todo redirecionamento JavaScript?

Não, apenas os simples e incondicionais, com uma URL de destino fixa no HTML da página, como location.href = '...', window.location = '...' ou location.replace('...'), inclusive dentro de um setTimeout de nível superior. Redirecionamentos em arquivos de script externos, sujeitos a condições, disparados por ações do usuário ou com uma URL calculada precisam de um navegador de verdade para rodar. Se a cadeia para em uma página que você sabe que redireciona, provavelmente é por isso.

Por que um site usaria meta refresh em vez de um 301?

Geralmente porque não consegue enviar redirecionamentos HTTP: hospedagem estática sem regras de redirecionamento, um construtor de páginas ou um CMS antigo. Alguns encurtadores de links e rastreadores de cliques também usam redirecionamentos em HTML para poder executar scripts de analytics antes ou controlar o referenciador (referrer) que o destino vê.

Uma requisição HEAD detecta meta refresh?

Não. Uma resposta a HEAD tem cabeçalhos, mas não tem corpo, então não há HTML para analisar. O TrueURL avisa quando você verifica com HEAD; use GET nesta ferramenta.