Como corrigir redirecionamentos em cadeia (redirect chains) no WordPress
O que é os redirecionamentos em cadeia no WordPress?
Um redirect chain é uma sequência de dois ou mais redirecionamentos encadeados: a URL A leva à B, que leva à C, em vez de A apontar direto para C. No WordPress, isso surge quando regras de HTTP para HTTPS, de www, de barra final e de migrações se acumulam sem ninguém achatar. Cada salto adiciona uma requisição extra, atrasa a página, consome orçamento de rastreamento e enfraquece a transferência de autoridade entre os links.
Como identificar
- Uma auditoria com Screaming Frog ou Ahrefs lista a URL com “Redirect Chain” e mostra dois ou mais saltos até o destino.
- A aba Network do navegador (F12) mostra vários status 301 em sequência ao abrir uma única URL.
- O comando curl -I na URL retorna mais de um cabeçalho “Location:” antes da resposta 200 final.
- Páginas demoram visivelmente mais para abrir em links antigos, e o Search Console aponta perda de equity em URLs redirecionadas.
Como prevenir
- Combine protocolo, domínio e barra final em uma única regra de redirecionamento, nunca em regras separadas
- Redirecione pelo .htaccess ou pelo plugin para cada URL, evitando regras duplicadas que se sobrepõem
- Após cada migração, audite as cadeias com Screaming Frog e aponte cada origem direto ao destino final
Causa
- Uma regra de HTTP para HTTPS e outra de não www para www estão separadas, então a URL salta de http sem www para https sem www e só então para https com www.
- Migrações sucessivas deixaram redirecionamentos antigos apontando para URLs que, por sua vez, já foram redirecionadas de novo.
- Um plugin de redirecionamento (Redirection, Rank Math) tem regras encadeadas que apontam uma para a outra em vez de para o destino final.
- A regra de barra final (adicionar ou remover a barra) cria um salto extra somado ao redirecionamento de protocolo ou de domínio.
- Redirecionamentos no .htaccess e no plugin coexistem e se sobrepõem, gerando um salto duplicado para a mesma URL.
Como resolver
- Mapeie as cadeias: rode uma varredura com Screaming Frog e filtre por Redirect Chains, ou teste URLs individuais com curl para ver cada salto. Liste origem e destino final de cada cadeia.
curl -sIL https://seudominio.com/url-antiga | grep -i location - Unifique protocolo e domínio numa regra: no .htaccess, force HTTPS e o formato de domínio escolhido (com ou sem www) em uma única condição combinada, para a URL ir direto ao formato final sem saltos intermediários.
- Aponte cada origem para o destino final: no plugin de redirecionamento, edite cada regra encadeada para apontar a URL de origem diretamente para o destino final, eliminando o passo do meio.
- Remova regras duplicadas: decida entre redirecionar pelo .htaccess ou pelo plugin, nunca pelos dois para a mesma URL. Apague a regra duplicada que cria o salto extra.
- Revalide e atualize links internos: rode a varredura de novo para confirmar um único 301 por URL e troque os links internos que ainda apontam para a URL antiga pelo destino final.
# .htaccess — força HTTPS + www em UM unico salto, evitando cadeia de redirecionamentos
# Coloque ANTES do bloco # BEGIN WordPress
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^seudominio.com [NC]
RewriteRule ^(.*)$ https://www.seudominio.com/$1 [R=301,L]














