O que um redirecionamento realmente é
Um redirecionamento não é uma página. É uma resposta sem corpo útil: um código de status na
faixa 3xx e um cabeçalho Location dizendo para onde ir em vez disso. O cliente lê o
cabeçalho e faz uma segunda requisição à nova URL.
Esse formato importa, porque significa que todo redirecionamento custa uma ida e volta completa
a mais, e porque o código de status é a única coisa que diz a alguém se a mudança é
permanente. O cabeçalho Location diz onde; o código de status diz o que
isso significa. Erre a segunda parte e a URL continua funcionando para os visitantes enquanto
faz silenciosamente a coisa errada com o seu ranqueamento e com todo navegador que a viu.
Na prática existem cinco códigos de redirecionamento, mas a decisão inteira se resume a uma pergunta: essa mudança é permanente ou não?
301 e 302: a diferença de verdade
Um 301 Moved Permanently diz: esta URL acabou de vez, use a nova de agora em diante e atualize o que você tiver guardado. Um 302 Found diz: sirva esta outra URL por enquanto, mas continue pedindo a original, porque ela vai voltar.
Daí decorrem três consequências, e nelas está toda a diferença prática:
- Os buscadores consolidam com um 301. A URL antiga sai do índice, a nova toma o lugar dela, e os sinais de ranqueamento que a antiga acumulou passam para a nova. Com um 302, o buscador mantém a URL original no índice, porque você disse que a original é a de verdade.
- Navegadores guardam um 301 em cache, muitas vezes de forma agressiva. Um navegador que viu um 301 pode nem perguntar ao seu servidor na próxima vez: vai direto ao destino. Um 302 não é cacheado por padrão, então o navegador pergunta sempre.
- Um 301 é difícil de desfazer. Por causa desse cache, um 301 do qual você se arrepende continua redirecionando visitantes que voltam muito depois de você removê-lo da configuração. É o erro mais caro de todo este assunto.
Então a regra não é “301 é melhor para SEO”, apesar de você ler isso em todo lugar. A regra é: um 301 é melhor quando a mudança é genuinamente permanente, e genuinamente ruim quando não é.
O que o SEO realmente vê
Os buscadores modernos são mais tolerantes do que o folclore sugere, e isso produziu mitos persistentes que vale esclarecer.
- “Um 301 perde 15% da autoridade de link.” Isso vinha de um fator de perda que valia anos atrás. O Google afirmou que não aplica mais diluição de PageRank a redirecionamentos. Um 301 bem implementado transmite os sinais.
- “Um 302 não transmite nada.” Não exatamente. O Google acaba tratando como permanente um 302 que está no ar há muito tempo, porque o comportamento contradiz a declaração. Mas esse “acaba” pesa muito: você passa semanas ou meses com a URL errada indexada, e o momento não é você quem decide.
- “Redirecionamentos sempre prejudicam o ranqueamento.” Um único redirecionamento limpo para uma página bem relacionada é rotina e normalmente não custa nada mensurável. O que prejudica é redirecionar para algo irrelevante: apontar cem páginas de produto desativadas para a sua home se lê como um 404 suave, e os sinais dessas páginas não vão a lugar nenhum.
Os riscos reais são mais sem graça que os mitos: cadeias, laços, sinais contraditórios e URLs redirecionadas ainda no seu sitemap. Estão logo abaixo.
Qual usar, por situação
Quase todo caso cai em um destes.
Use um 301
Você mudou um slug ou reestruturou os seus caminhos. Mudou para um domínio novo. Escolheu um
nome de host canônico e o outro precisa segui-lo — www para o ápice ou o contrário.
Está forçando HTTPS. Juntou duas páginas em uma. Desativou uma página de produto em favor da
categoria que a substituiu. Em todos esses casos a URL antiga nunca vai voltar, que é exatamente o
que um 301 declara.
Use um 302
Manutenção ou uma página provisória enquanto a real está fora. Teste A/B de duas versões de uma página. Roteamento geográfico ou por idioma em que a URL original precisa continuar canônica. Uma página promocional temporária no lugar da habitual. Um redirecionamento de login que devolve o usuário depois. Aqui você quer que a URL original continue indexada, e um 301 a removeria.
Quando 307 e 308 importam
307 Temporary Redirect e 308 Permanent Redirect são as versões estritas do 302 e do 301. A diferença é o método HTTP: com 301 e 302, historicamente os clientes transformavam um POST em GET ao seguir o redirecionamento, e esse comportamento ficou consagrado. 307 e 308 são obrigados a preservar o método e o corpo.
Para mudanças de página comuns, 301 e 302 são o que os buscadores esperam e o que você deve usar. Para APIs e envios de formulário, use 307 ou 308: um POST redirecionado que silenciosamente se torna um GET perde o corpo da requisição, e o bug resultante é enlouquecedor de rastrear.
O 303 e a única coisa para que serve
303 See Other transforma deliberadamente a requisição seguinte em um GET. O uso próprio dele é o padrão de postar e redirecionar: aceitar um POST de formulário e então devolver um 303 para uma página de resultados, de modo que recarregar o navegador não reenvie o formulário. Não é um redirecionamento de uso geral e não tem lugar em mudanças de página.
Meta refresh e redirecionamentos por JavaScript
Existem duas formas não HTTP de mover um visitante, e as duas são piores do que parecem.
Um meta refresh (<meta http-equiv="refresh">) é tratado pelo
navegador depois de ele baixar a página. Os buscadores seguem e normalmente tratam um refresh sem
atraso como redirecionamento permanente, mas é lento, é invisível para qualquer coisa que não
renderize HTML, quebra o botão voltar e, com atraso, é um problema real de acessibilidade. Use
somente quando você não tiver nenhum acesso à configuração do servidor.
Um redirecionamento por JavaScript é pior ainda. Exige que a página carregue e o script execute, nada que não rode JavaScript vai segui-lo, e desperdiça a primeira requisição inteira. Os dois são contornos, não ferramentas. Se você pode definir um código de status, defina um código de status.
Cadeias e laços: onde o tráfego realmente escapa
Esta é a parte que custa dinheiro de verdade, e é quase sempre acidental.
Uma cadeia é um redirecionamento para outro redirecionamento. Ela se acumula
por anos, uma regra por vez: http://example.com → https://example.com →
https://www.example.com → https://www.example.com/pagina-nova. Cada salto
é uma ida e volta completa, então uma cadeia de quatro saltos numa conexão móvel é perceptivelmente
lenta, e os rastreadores desistem de cadeias longas: o Google segue um número limitado de saltos e
depois simplesmente para. Desfaça cadeias apontando a primeira URL diretamente para o destino
final.
Um laço devolve o cliente para onde ele começou e a página nunca carrega. A
causa clássica são duas regras discordando: uma forçando www, outra forçando o ápice,
cada uma desfazendo a outra. Os navegadores mostram ERR_TOO_MANY_REDIRECTS depois de
uns vinte saltos. Se você vê isso, tem duas regras brigando, não uma regra quebrada.
Dois outros vazamentos que vale checar:
- URLs redirecionadas deixadas no sitemap. Um sitemap deve listar apenas destinos finais. Listar uma URL que redireciona diz ao rastreador para gastar o orçamento dele em um salto.
- Uma tag canônica que discorda do redirecionamento. Se a página de destino declara uma canônica apontando de volta para a antiga, você deu duas instruções contraditórias e o buscador escolhe por você.
Como verificar o que uma URL realmente devolve
Não é possível distinguir um 301 de um 302 olhando a barra de endereços: os dois terminam no mesmo lugar. É preciso ler a resposta.
Verifique estas três coisas:
- O código de status da primeira resposta, não da última. O painel de rede do navegador mostra a sequência inteira; a primeira linha é a que declara a permanência.
- A sequência completa de saltos. Conte os redirecionamentos entre a URL que você digitou e a página que renderiza. Mais de um merece uma olhada; mais de dois é uma cadeia a desfazer.
- Se a cadeia mistura códigos. Um 301 seguido de um 302 é um padrão comum e confuso que diz “movido permanentemente para algum lugar temporário”.
Um verificador de códigos de status
HTTP mostra o status de cada salto e o cabeçalho Location em cada passo, que é
exatamente a visão de que você precisa. Para as regras de HTTPS e de nome de host, confirme que o
certificado cobre o host para o qual você redireciona com o
verificador de certificados SSL: um
redirecionamento para um host que o certificado não cobre produz uma página de aviso em vez de um
site funcionando.
Erros comuns
- Usar um 301 para algo temporário. Os navegadores cacheiam, então visitantes que voltam continuam sendo redirecionados depois de você remover a regra. Limpar isso não está no seu controle.
- Usar um 302 para uma mudança permanente e se perguntar por que a URL antiga continua sendo a que ranqueia. Você disse ao buscador que a antiga é a canônica.
- Redirecionar tudo o que foi desativado para a home. O Google trata um destino irrelevante como um 404 suave. Redirecione para a página equivalente mais próxima, ou devolva um 410 limpo se não houver equivalente.
- Deixar cadeias se acumularem. Cada regra nova se empilha sobre a anterior em vez de substituí-la.
- Duas regras de nome de host brigando, produzindo um laço. Decida um único host canônico e escreva exatamente uma regra para ele.
- Redirecionar um POST com 301 ou 302. O método se torna GET e o corpo é perdido. Use 307 ou 308 para qualquer coisa que não seja uma simples visualização de página.
- Deixar URLs redirecionadas no sitemap, ou manter links internos apontando para a URL antiga. Atualize os seus próprios links; redirecionamento é para os links dos outros.
Versão curta
Um 301 significa permanente: os buscadores movem os sinais de ranqueamento para a URL nova e os navegadores cacheiam com força, então use para mudanças de slug, mudanças de domínio, HTTPS e canonicalização de host — e nunca para algo que você possa reverter. Um 302 significa temporário: a URL original continua indexada, que é exatamente o certo para páginas de manutenção, testes A/B e redirecionamentos de login. Use 307 ou 308 quando um POST precisar sobreviver ao redirecionamento, mantenha cadeias em um único salto e garanta que nenhuma regra aponte de volta para o próprio ponto de partida. Verifique o que uma URL realmente devolve, salto a salto, com o verificador gratuito de códigos de status HTTP, e se estiver redirecionando para um host novo confirme antes o certificado dele com o verificador de certificados SSL. Para um panorama do que significa cada classe de resposta, o guia completo de códigos de status HTTP cobre o resto.
Ferramentas e guias relacionados:
- Consulta de códigos de status HTTP — Uma referência rápida para cada código de status HTTP e o que significa.
- Verificador de cabeçalhos de segurança — Verifique HSTS, CSP, X-Frame-Options e outros cabeçalhos de segurança importantes.
- 404 ou 410: o que cada um diz ao Google sobre uma página removida — O que um 404 e um 410 dizem a um rastreador
Perguntas frequentes
Devo usar um redirecionamento 301 ou 302?⌄
Use um 301 quando a URL antiga nunca vai voltar — um slug alterado, um domínio novo, forçar HTTPS, ou decidir entre www e o ápice. Use um 302 quando a URL original precisar continuar sendo a canônica, como uma página de manutenção, um teste A/B, ou um redirecionamento de login que devolve o visitante depois.
Um redirecionamento 301 prejudica o SEO?⌄
Não, quando é usado corretamente. O Google não aplica mais um fator de perda a redirecionamentos, então um 301 para uma página bem relacionada transmite os sinais de ranqueamento da URL antiga. O que prejudica é redirecionar para uma página irrelevante, tratada como 404 suave, e cadeias longas que os rastreadores param de seguir.
É possível desfazer um redirecionamento 301?⌄
No servidor sim, mas os navegadores cacheiam um 301 de forma agressiva e podem continuar redirecionando visitantes que voltam muito depois de você remover a regra, e você não pode limpar o cache deles. Por isso um 301 só deve ser usado para uma mudança da qual você tem certeza; se houver qualquer chance de reverter, use um 302.
Qual é a diferença entre 302 e 307?⌄
Os dois são temporários. A diferença é o método HTTP: historicamente os clientes que seguiam um 302 transformavam um POST em GET, e esse comportamento virou padrão, enquanto um 307 precisa preservar o método e o corpo da requisição. Use 302 para mudanças de página comuns e 307 para APIs e envios de formulário.
Como verifico se uma URL devolve 301 ou 302?⌄
Não é possível saber pela barra de endereços, já que os dois terminam no mesmo lugar. Leia o código de status da primeira resposta e siga cada salto. Um verificador de códigos de status mostra o código e o cabeçalho Location em cada passo, o que também revela cadeias e qualquer salto que misture códigos permanentes e temporários.
Mais de 15 anos de experiência prática em desenvolvimento web e segurança. Foco em segurança web prática: manter sites seguros, confiáveis e fáceis de diagnosticar. O BuildToolForge existe para tornar essas verificações gratuitas, privadas e compreensíveis. As ferramentas rodam no seu navegador sempre que possível, e nada do que você digita em uma ferramenta é armazenado.
Como escrevemos nossos guias: Cada guia nasce da experiência prática, é conferido com os padrões oficiais e testado com nossas próprias ferramentas em domínios reais. Atualizamos os guias quando padrões ou ferramentas mudam. Encontrou um erro? Escreva para contact@buildtoolforge.com.