11 min de leituraEngenharia

Cadeia de Redirecionamentos e SEO: Quantos Saltos São Demais?

Uma cadeia de redirecionamentos são dois ou mais redirecionamentos seguidos. Veja o que o Google documenta sobre saltos e orçamento de rastreamento, como rastrear cadeias com curl e como achatá-las.

Marius Voß
DevRel · edge infra
Uma cadeia de redirecionamentos desenhada como quatro saltos empilhados de uma URL http até uma página final, depois achatada em um único salto, com a latência de cada salto crescendo

Uma cadeia de redirecionamentos são dois ou mais redirecionamentos seguidos entre a URL que alguém solicitou e a página que finalmente responde com um 200. O Google documenta que o Googlebot segue até 10 saltos, aconselha redirecionar direto ao destino final e lista cadeias longas como um peso no rastreamento. Ele não diz que elas destroem o ranking, e diz que os redirecionamentos permanentes não causam perda de PageRank. Portanto, o resumo honesto é que as cadeias são um problema de latência e de eficiência de rastreamento que você deve corrigir de forma barata, não uma catástrofe de SEO.

A maioria das cadeias não é construída de propósito. Alguém adiciona uma regra HTTPS, outra pessoa adiciona uma regra de www, uma ferramenta de marketing envolve o link em um rastreador, e cada salto é razoável por si só. A seguir: como as camadas se empilham, o que cada salto custa, quais alegações de SEO se sustentam diante da documentação do Google e como rastrear e achatar uma cadeia. Para o vocabulário de códigos de status primeiro, tipos de redirecionamentos de URL é o mapa. Se a cadeia faz um laço de volta para si mesma, você quer como corrigir um loop de redirecionamento.

O Que É uma Cadeia de Redirecionamentos

Uma cadeia de redirecionamentos acontece quando a URL A redireciona para B, e B redireciona para C, em vez de A apontar direto para C. Cada seta é sua própria resposta HTTP, e o cliente faz uma requisição nova para cada uma. Um redirecionamento é normal; "cadeia" começa em dois.

Redirecionamentos múltiplos e saltos de redirecionamento descrevem a mesma coisa por ângulos diferentes: a contagem de redirecionamentos entre a requisição e a página final. Um loop de redirecionamento é uma cadeia que nunca termina porque revisita uma URL. Uma cadeia, por contraste, termina; só demora demais para chegar lá.

Uma cadeia de redirecionamentos com quatro saltos de uma URL http passando por https, www e uma regra de barra final até a página final 200, cada salto rotulado com seu código de status

Como as Cadeias de Redirecionamentos Se Formam

As cadeias se empilham porque cada camada impõe sua própria preferência. As camadas usuais, na ordem em que uma requisição as encontra:

  • Esquema. http:// vai para https://, geralmente em uma regra de servidor ou proxy.
  • Host. O apex vai para www, ou o inverso, em uma regra diferente que dispara depois da regra de esquema.
  • Caminho. Um normalizador de barra final ou de minúsculas reescreve /Promo/ para /promo.
  • Wrapper de campanha ou rastreamento. Um rastreador de cliques de anúncios, o reescritor de links de uma plataforma de e-mail ou um link curto fica na frente de tudo o mais.
  • Mapa legado. Um redirecionamento de uma reformulação passada que ninguém reapontou.

Junte-os e um simples http://example.com/Promo/ pode levar quatro saltos: para HTTPS, depois para www, depois para o caminho normalizado, depois por uma regra antiga de reformulação até a página ativa. Os links curtos entram na frente. Um é um salto legítimo. O dano começa quando o destino dele não é a URL final. Cole http://example.com/promo como alvo e o seu link encabeça uma cadeia que o site de destino construiu, sem que você veja. Os encurtadores de URL prejudicam o SEO cobre o lado do ranking dessa pergunta; a resposta curta é que um salto limpo está bem e um empilhado é seu para corrigir.

As cadeias são fáceis de passar despercebidas porque os navegadores as escondem: a barra de endereços mostra a URL final e a página carrega, então nada parece errado. Elas também só aparecem para a variante de requisição que aciona todas as regras, geralmente o link http:// mais antigo no material impresso mais antigo.

Quantos Saltos o Googlebot Segue?

O Googlebot segue até 10 saltos de redirecionamento por padrão. Isso vem direto da documentação do rastreador do Google. Ela acrescenta que produtos específicos do Google podem usar limites diferentes e que a ferramenta de Inspeção de URL não segue redirecionamentos de forma alguma. O Google não detalha o que acontece com uma cadeia mais longa, então presuma que o alvo simplesmente não é alcançado.

Dez é um teto, não uma recomendação. A orientação do Google sobre mudança de site diz para redirecionar direto ao destino final e, quando isso não é possível, manter a cadeia baixa, "idealmente em no máximo 3 e menos de 5", porque encadear acrescenta latência para os usuários e nem todos os agentes de usuário suportam cadeias longas. Cite isto: uma meta de um salto, uma tolerância de alguns e uma parada rígida em dez.

Os navegadores têm seus próprios limites. O Chrome desiste em 20 e retorna ERR_TOO_MANY_REDIRECTS, que é o sintoma coberto no guia de loops de redirecionamento. O padrão HTTP também não fixa um número: a RFC 9110 apenas diz que os clientes devem detectar e intervir em redirecionamentos cíclicos.

O Que Cada Salto Custa em Latência

Cada salto custa pelo menos uma viagem de rede. Um salto para um hostname diferente custa mais. O cliente resolve o novo nome, abre uma conexão TCP e conclui um handshake TLS antes de poder enviar qualquer coisa. A auditoria do próprio Lighthouse reprova uma página com dois ou mais redirecionamentos e diz que a viagem extra pode atrasar um recurso "em centenas de milissegundos".

Aqui está a aritmética, como ilustração e não como benchmark. Suponha uma viagem de ida e volta de 100 ms, que é comum para uma conexão móvel com sinal mediano. Um salto para um novo host com DNS, TCP e um handshake TLS 1.3 antes da requisição pode facilmente custar de três a quatro viagens, então 300 a 400 ms. Um salto que reutiliza uma conexão aberta com o mesmo host custa uma, então 100 ms. Uma cadeia de quatro saltos com duas novas conexões gasta então aproximadamente 900 ms antes de a página real começar, contra cerca de 450 ms de um redirecionamento achatado.

O celular piora por um motivo simples: a latência, não a largura de banda, é a restrição. As respostas de redirecionamento são minúsculas, então a espera é toda de viagens de rede, e um plano mais rápido não faz nada por elas. Eliminar um salto costuma ser mais barato do que reduzir uma imagem. Para o que um único salto deve custar no lado do servidor, veja como os redirecionamentos ficam abaixo de 15 ms.

As cadeias também perdem dados. Cada salto é um lugar em que uma regra de reescrita pode descartar uma query string, e um utm_source removido é a forma habitual de os parâmetros UTM sumirem do analytics.

Linha do tempo comparando uma cadeia de redirecionamentos de quatro saltos, em que cada salto acrescenta uma viagem de rede mais a configuração de DNS e TLS, com um redirecionamento de salto único que chega à página mais cedo

Primeiro, o link equity. A documentação de mudança de site do Google afirma que "os redirecionamentos 301 e outros permanentes não causam perda de PageRank". Gary Illyes, do Google, disse o mesmo sobre os redirecionamentos 30x em 2016, mas isso foi uma publicação em rede social, não documentação. Portanto, a antiga regra prática de que cada salto de redirecionamento sangra uma porcentagem fixa de equity é folclore. Nenhuma fonte do Google dá uma porcentagem, e você verá números como 15 por cento repetidos em posts de SEO sem citação. Se alguém lhe der um, peça a fonte.

As cadeias ainda não são gratuitas. Dois efeitos são documentados. Primeiro, a eficiência de rastreamento: a orientação de orçamento de rastreamento do Google para sites grandes diz claramente para evitar cadeias longas de redirecionamentos, que têm um efeito negativo no rastreamento. Segundo, a latência para o usuário, coberta acima, que alimenta os sinais de experiência da página. O orçamento de rastreamento importa principalmente em sites muito grandes ou de mudança rápida; um site de 200 páginas dificilmente sentirá um problema de orçamento de rastreamento por causa de algumas cadeias, embora os visitantes ainda sintam o custo da velocidade.

Há também uma nuance de indexação. O Google usa os redirecionamentos permanentes como um sinal canônico para o destino. Qual URL é exibida depende em parte de cada redirecionamento ter sido temporário ou permanente. Uma cadeia que mistura saltos 301 e 302 torna esse sinal menos claro, o que é um bom motivo para definir os códigos de uma vez. Canonical vs redirecionamento 301 detalha como esses sinais interagem.

Minha posição: não entre em pânico com o equity, corrija as cadeias por velocidade e higiene de rastreamento, e não prometa um ganho de ranking por achatar uma. Ninguém documentou esse ganho. Cargas mais rápidas e menos buscas desperdiçadas são o que você pode medir.

Como Detectar Cadeias de Redirecionamentos

Comece com o curl, porque ele imprime cada salto que um navegador esconde. O primeiro comando mostra a linha de status e o Location de cada resposta:

curl -sIL http://example.com/Promo/ | grep -E '^HTTP|^[Ll]ocation'

Um resultado limpo é um 3xx e depois um 200. Uma cadeia mostra duas ou mais linhas 3xx primeiro. Para uma contagem e o tempo gasto dentro dos redirecionamentos, peça ao curl seus próprios números:

curl -sL -o /dev/null \
  -w 'hops: %{num_redirects}\nfinal: %{url_effective}\nredirect time: %{time_redirect}s\ntotal: %{time_total}s\n' \
  http://example.com/Promo/

Duas ressalvas. O -I envia uma requisição HEAD, e alguns servidores respondem ao HEAD de forma diferente do GET, então, se o resultado parecer limpo demais, repita sem -I e descarte o corpo com -o /dev/null -D -. E teste a variante do pior caso, a que acionaria todas as regras: http://, sem www, caminho em maiúsculas, barra final. Testar apenas a URL canônica é como as cadeias sobrevivem. Prefiro testar demais as variantes feias a confiar na limpa.

Em um navegador, abra as devtools, vá ao painel Network, marque "Preserve log" para que os saltos anteriores sobrevivam à navegação e recarregue. Cada redirecionamento aparece como sua própria linha 301 ou 302. Nosso verificador de links mostra a mesma cadeia sem um terminal.

Para auditar um site inteiro, um rastreador de desktop como o Screaming Frog ou o Sitebulb tem um relatório de cadeias de redirecionamentos que lista cada cadeia com todos os saltos e os códigos de status. Para links de longa duração, coloque o mesmo rastreamento em uma tarefa agendada, como em monitorando redirecionamentos de links.

Como Achatar uma Cadeia de Redirecionamentos

Achatar significa que toda URL legada aponta direto para a URL final. Passos, em ordem:

  1. Escolha a forma canônica: esquema, host, política de barra final e maiúsculas e minúsculas. Escreva-a.
  2. Rastreie cada URL antiga e registre seu destino final.
  3. Reescreva cada regra para ter como alvo esse destino final, não a próxima regra.
  4. Atualize os links internos, os sitemaps e as tags rel="canonical" para a URL final, para que rastreadores e usuários deixem de entrar na cadeia.
  5. Execute o rastreamento de novo e confirme no máximo um salto.

O truque do lado do servidor é combinar esquema e host em uma única regra. No nginx, fica assim, usando $request_uri para que o caminho e a query string sobrevivam:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://www.example.com$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;
    # ssl_certificate and key directives go here
    return 301 https://www.example.com$request_uri;
}

Uma requisição http://example.com/page agora vai para https://www.example.com/page em um salto, onde duas regras teriam produzido dois. Configurando um redirecionamento no .htaccess e como redirecionar uma URL cobrem os equivalentes em Apache e no nível da aplicação.

Teste primeiro com 302. Os navegadores armazenam o 301 em cache de forma agressiva, então um erro persiste. Quando a cadeia tiver um salto, passe para o código permanente. O HSTS também ajuda: depois que um navegador viu um cabeçalho Strict-Transport-Security, ele atualiza http:// para https:// internamente, então os visitantes recorrentes pulam esse salto por completo. Ele não faz nada por rastreadores nem por visitantes de primeira vez, então complementa a regra de um salto e não a substitui.

Se as cadeias continuam reaparecendo, a causa é processo, não sintaxe; prevenção de link rot descreve o hábito de auditoria que impede o acúmulo de mapas antigos.

Um link curto deve estar exatamente a um salto do slug até a página canônica final, e nada mais. A requisição chega ao domínio curto. A resposta é um 3xx com o destino em Location. O destino responde 200 diretamente. Nenhum encurtador intermediário, nenhum rastreador que redireciona de novo, nenhum destino que salta para www ou para HTTPS porque você colou a forma antiga.

O código depende do caso de uso.

  • 302 (ou 307) para links rastreados e editáveis em campanhas, publicações sociais, e-mail e QR codes. Ele permite redirecionar o destino depois e mantém todo clique chegando à camada de redirecionamento para que o analytics permaneça completo.
  • 301 (ou 308) quando a mudança é permanente e você quer que o destino seja tratado como canônico, como uma URL personalizada que substitui um endereço antigo de vez.

Redirecionamentos 301 vs 302 percorre a armadilha de cache que torna sensato o padrão 302. Dois hábitos mantêm a cadeia em um salto. Cole sempre a URL final como destino, depois de carregá-la uma vez e copiar o endereço da barra, e execute a contagem com curl acima em links novos antes do lançamento. Se você quer esse destino armazenado uma vez e editável sem reimprimir, comece com um workspace gratuito do Elido e rastreie seu primeiro link com os comandos deste post.

Terceiros podem acrescentar saltos que você não controla. O rastreador de cliques de uma plataforma de anúncios ou o wrapper de links de um provedor de e-mail fica na frente do seu link curto queira você ou não, o que é o melhor argumento para manter a sua parte do caminho em um salto. Um domínio personalizado não acrescenta um, como explica domínios próprios para links curtos.

Este post faz parte do cluster de engenharia. Para o mapa completo de códigos de status, leia tipos de redirecionamentos de URL e, para a camada de redirecionamento por trás de um link curto, como os encurtadores de URL funcionam.

Relacionado no Blog

Perguntas frequentes

Quantos redirecionamentos são demais para o SEO?

A orientação do Google sobre mudança de site diz para redirecionar direto ao destino final e, se não for possível, manter a cadeia idealmente em no máximo 3 e menos de 5 saltos. O próprio Googlebot segue até 10 saltos, então esse é um teto rígido, não uma meta. Na prática, mire em um salto e trate qualquer coisa além de dois como um bug a corrigir.

As cadeias de redirecionamentos perdem link equity?

O Google diz que os redirecionamentos 301 e outros permanentes não causam perda de PageRank, então uma cadeia não vaza equity da forma que os conselhos de SEO mais antigos afirmavam. O que as cadeias custam é eficiência de rastreamento e latência para o usuário, ambos documentados pelo Google. Trate o número de 'cada salto perde 15 por cento' como folclore: nenhuma fonte do Google dá esse número.

Quantos redirecionamentos o Googlebot vai seguir?

Até 10 saltos por padrão, segundo a documentação do rastreador do Google. Produtos específicos do Google podem usar limites diferentes, e a ferramenta de Inspeção de URL não segue redirecionamentos de forma alguma. Os navegadores desistem muito antes em loops: o Chrome desiste com 20 saltos com ERR_TOO_MANY_REDIRECTS.

Uma cadeia de redirecionamentos prejudica a velocidade da página?

Sim, cada salto acrescenta uma viagem completa de rede antes de a página real começar a carregar, e um salto para um novo hostname pode acrescentar a configuração de DNS, TCP e TLS por cima. O Lighthouse sinaliza uma página com dois ou mais redirecionamentos e descreve o atraso como potencialmente de centenas de milissegundos. Em uma conexão móvel lenta, a penalidade é maior, não menor.

Como verifico uma cadeia de redirecionamentos?

Execute curl -sIL https://example.com/page | grep -E '^HTTP|^[Ll]ocation' para imprimir a linha de status e o cabeçalho Location de cada salto em ordem. Acrescente -w '%{num_redirects}' para contar os saltos, ou use as devtools do navegador com a opção Preserve log do painel Network ativada. Um rastreador como o Screaming Frog ou o Sitebulb pode então relatar todas as cadeias de um site inteiro.

Um 301 seguido de um 302 é um problema?

É um salto extra com sinais mistos. O Google trata os redirecionamentos permanentes como um sinal canônico para o destino, enquanto os temporários tendem a manter a URL de origem nos resultados, então uma cadeia mista deixa o resultado menos previsível. Colapse-a em um único redirecionamento cujo código corresponda à intenção real da mudança.

Experimente Elido

Cole uma URL, obtenha um link curto

Sem cadastro. O link vive 30 dias. Cadastre-se para mantê-lo para sempre.

Grátis, sem necessidade de registo · 2 por dia

Experimente o Elido

Encurtador de URL hospedado na UE: domínios personalizados, análises profundas e API aberta. Plano gratuito - sem cartão de crédito.

Tags
redirect chain
redirect chains seo
multiple redirects
redirect hops
crawl budget
flatten redirects

Continuar lendo