Existem mais tipos de redirecionamento de URL do que o debate 301 contra 302 sugere, e escolher o errado pode custar silenciosamente velocidade ou ranqueamento. Eles se dividem em duas famílias. Os redirecionamentos HTTP do lado do servidor são códigos de status que o servidor retorna antes do carregamento da página - 301, 302, 303, 307, 308. Os redirecionamentos do lado do cliente acontecem no navegador após o carregamento da página - uma tag de meta refresh ou um salto por JavaScript. O lado do servidor é mais rápido e limpo para usuários e rastreadores; o lado do cliente é mais lento e menos eficaz, e você só o usa quando o servidor está fora do seu controle.
Eu trabalho no caminho de redirecionamento, então manterei isso concreto: o que cada tipo faz na rede, como os mecanismos de busca o leem, e qual usar de fato. Se você quiser um mergulho profundo nos dois que mais usará, redirecionamentos 301 vs 302 cobre esse par em detalhes; este post é o mapa completo.
A versão resumida: para uma mudança permanente use 301, para uma temporária use 302, adicione 308/307 preservando o método quando um POST precisar sobreviver, e evite as opções do lado do cliente a menos que você não tenha um servidor para configurar.
As Duas Famílias de Redirecionamentos
Um redirecionamento é apenas uma instrução para ir a outro lugar, mas onde essa instrução vive muda tudo sobre como ela se comporta.
Um redirecionamento do lado do servidor é o servidor respondendo "não está aqui, vá lá" antes de qualquer conteúdo de página ser enviado. O navegador recebe um código de status e um cabeçalho Location e se move imediatamente - nenhum conteúdo é carregado na URL original, então é rápido e inequívoco. Um redirecionamento do lado do cliente é o oposto: a página original carrega completamente, e só então uma metatag ou um script envia o visitante adiante. Isso significa um carregamento de página desperdiçado, uma oscilação visível e um sinal mais fraco para os mecanismos de busca, que precisam carregar e às vezes executar a página para sequer notar o redirecionamento. As definições formais dos códigos do lado do servidor estão no RFC 9110, e o comportamento prático do navegador está documentado no guia MDN de redirecionamentos HTTP.
Essa única distinção - antes da página ou depois dela - é por que o restante deste post continua voltando a "use um redirecionamento do lado do servidor quando puder."
Os Redirecionamentos por Código de Status HTTP
Esses são os redirecionamentos reais, retornados pelo servidor no intervalo 3xx. Cinco são importantes.
| Código | Significado | Permanente? | Método preservado? | Uso típico |
|---|---|---|---|---|
| 301 | Movido Permanentemente | Sim | Não garantido | Mudança definitiva, migração de site, troca para HTTPS |
| 302 | Encontrado | Não | Não garantido | Mudança temporária, links editáveis, testes A/B |
| 303 | Ver Outro | Não | Força um GET | Redirecionamento pós-formulário para uma página de resultado |
| 307 | Redirecionamento Temporário | Não | Sim | Mudança temporária em um endpoint POST ou de API |
| 308 | Redirecionamento Permanente | Sim | Sim | Mudança permanente onde o método deve sobreviver |
Os dois eixos que organizam a tabela são a permanência e o tratamento do método. A permanência é o eixo de SEO: 301 e 308 são permanentes, então os mecanismos de busca transferem sinais de ranqueamento e tratam o destino como canônico, enquanto 302, 303 e 307 são temporários e mantêm a URL original indexada. O tratamento do método é o eixo de engenharia: 307 e 308 preservam estritamente o método HTTP, então um POST permanece como POST, enquanto 301 e 302 historicamente permitiam que ele mudasse para um GET. O 303 é o caso peculiar, criado especificamente para forçar um GET após o envio de um formulário, para que uma atualização não reenvie os dados. A própria documentação de redirecionamentos do Google confirma que ele trata os códigos permanentes como sinais de canonicalização.
Para links comuns na web, que são requisições GET, o eixo de método desaparece e você está realmente escolhendo entre permanente e temporário - que é exatamente a decisão entre 301 e 302.
Redirecionamentos do Lado do Cliente: Meta Refresh e JavaScript
Quando você não pode configurar o servidor, duas opções no nível do navegador permanecem, e ambas são compromissos.
Um meta refresh é uma tag HTML no cabeçalho da página que instrui o navegador a carregar uma nova URL após um atraso - o padrão "você será redirecionado em 5 segundos". Funciona, mas a página já foi carregada antes que seja acionado, então é lento, e os mecanismos de busca o leem de forma inconsistente: um meta refresh instantâneo geralmente é tratado como um redirecionamento permanente, enquanto um com atraso é ambíguo e pode ser lido como um soft 404. Um redirecionamento JavaScript é ainda mais fraco, pois só acontece se o rastreador executar o script. O Google renderiza JavaScript, mas com atraso, e muitos outros rastreadores não o executam, então o redirecionamento pode ser totalmente ignorado.
O ranqueamento honesto das opções é simples: um 3xx do lado do servidor em primeiro lugar, um meta refresh somente se você controla o HTML mas não o servidor, e um redirecionamento JavaScript como último recurso quando você não controla mais nada. Nada disso se aplica a um link curto gerenciado, que sempre usa um redirecionamento do lado do servidor - as técnicas do lado do cliente são para situações como um host estático sem configuração de redirecionamento.
Qual Redirecionamento Você Deve Usar
Reduza a uma decisão que você possa tomar de uma vez.
- Mudança permanente, link comum:
301. Transferência total de ranqueamento, tratado como canônico. - Mudança temporária, link comum:
302. Mantém o original indexado e o link editável. - A mudança envolve um POST ou chamada de API: use
308para permanente ou307para temporário, para que o método sobreviva. - Após o envio de um formulário:
303, para que uma atualização da página não reenvie o formulário.
A meta-regra por trás dos quatro: combine o código de status com a verdade sobre a mudança - ela é permanente, e o método importa? Errar esse par é como os redirecionamentos silenciosamente perdem ranqueamento ou quebram um formulário.
O Que os Links Curtos Usam
Um link curto gerenciado é um redirecionamento do lado do servidor, e por uma boa razão - é a família rápida e amigável para rastreadores. A escolha interessante é qual código, e a resposta para a maioria dos links curtos é 302.
Isso parece errado para o SEO até você lembrar para que serve um link curto. Um 302 mantém o link editável, para que você possa reaponta-lo depois de impresso ou compartilhado, e mantém cada clique chegando ao servidor, para que suas análises permaneçam precisas - ambas as coisas que um 301 armazenado em cache custaria. O raciocínio completo, incluindo a armadilha do cache do navegador, está em redirecionamentos 301 vs 302, e a mecânica de como o redirecionamento é resolvido na borda está em como encurtadores de URL funcionam. Uma regra que se aplica independentemente do código: mantenha-o em um único salto. Um redirecionamento que aponta para outro redirecionamento desperdiça orçamento de rastreamento e latência, e é a forma mais rápida de desfazer o SEO que os links curtos de outra forma preservam.
O mapa completo cabe em uma frase: códigos do lado do servidor para redirecionamentos reais, permanente versus temporário para SEO, variantes que preservam o método para requisições não-GET, e truques do lado do cliente apenas quando o servidor está fora do alcance. Escolha pela verdade da mudança, mantenha a cadeia em um único salto, e seus redirecionamentos farão o que você pretendia.
Relacionados no Blog
- Redirecionamentos 301 vs 302: qual os links curtos devem usar
- Os encurtadores de URL prejudicam o SEO? A resposta honesta
- Como os encurtadores de URL funcionam por dentro
- Atingindo p95 abaixo de 15ms para redirecionamentos de FRA, ASH e SGP
- Estratégia de cache para redirecionamentos de URL: L1 LRU + L2 Redis
- Vulnerabilidades de open redirect e como preveni-las
- Loop de Redirecionamento: Como Encontrar e Corrigir o ERR_TOO_MANY_REDIRECTS
- Como Redirecionar uma URL: Seis Formas, e Quando Usar Cada Uma
Perguntas frequentes
Quais são os principais tipos de redirecionamentos de URL?
Há duas famílias. Os redirecionamentos HTTP do lado do servidor são códigos de status que o servidor retorna: 301 (permanente), 302 (temporário), 303 (see other, força um GET), 307 (temporário, preserva o método) e 308 (permanente, preserva o método). Os redirecionamentos do lado do cliente acontecem no navegador após o carregamento da página: uma tag HTML de meta refresh ou uma mudança de localização por JavaScript. Os redirecionamentos do lado do servidor são mais rápidos e limpos tanto para usuários quanto para mecanismos de busca; os do lado do cliente são mais lentos e menos eficazes, e você os utiliza apenas quando não pode controlar o servidor.
Qual é a diferença entre um redirecionamento 301 e um 308?
Ambos são permanentes, portanto ambos dizem aos mecanismos de busca que o destino é a nova URL canônica e transferem os sinais de ranqueamento. A diferença está no tratamento do método HTTP: um 301 historicamente permitia que o método mudasse (um POST poderia se tornar um GET no redirecionamento), enquanto um 308 preserva estritamente o método e o corpo. Para links comuns, que são requisições GET, eles se comportam da mesma forma. O 308 importa para APIs e envios de formulários onde um POST deve permanecer como POST.
Para que serve um redirecionamento 307?
Um 307 é o redirecionamento temporário estrito. Ele faz o mesmo trabalho que um 302 - enviar o visitante para outro lugar por enquanto, manter a URL original indexada - mas garante que o método de requisição seja preservado, então um POST permanece como POST. Use-o para movimentos temporários em endpoints que recebem requisições não-GET, como uma API ou um manipulador de formulário. Para um redirecionamento de link temporário normal, um 302 e um 307 são intercambiáveis.
Um redirecionamento meta refresh é ruim para o SEO?
Ele é mais fraco que um redirecionamento do lado do servidor e vale a pena evitá-lo quando você tem uma escolha. Um meta refresh é acionado no navegador após o carregamento do HTML, o que é mais lento para o usuário e um sinal menos confiável para os mecanismos de busca. O Google afirma que interpreta um meta refresh instantâneo como um redirecionamento permanente, mas um com atraso é ambíguo e pode ser tratado como um soft 404 ou pior. Se você puder retornar um 301 ou 302 do servidor, faça isso.
Os redirecionamentos JavaScript funcionam para SEO?
Podem funcionar, mas são a opção menos confiável. Um redirecionamento JavaScript só é acionado se o rastreador executar o script, e embora o Google renderize JavaScript, ele o faz com atraso, e outros rastreadores frequentemente não fazem isso. Portanto, o redirecionamento pode ser ignorado ou contabilizado tarde. Use um redirecionamento JavaScript somente quando você não controla nada no servidor e também não pode usar um meta refresh - é o último recurso, não uma opção padrão.
Qual tipo de redirecionamento devo usar?
Combine o código com a realidade. Para uma mudança permanente, use um 301 (ou 308 se um POST precisar sobreviver). Para uma mudança temporária, use um 302 (ou 307 para métodos não-GET). Para a maioria dos links curtos, que são redirecionamentos GET editáveis, um 302 é o padrão correto porque mantém o link alterável e as análises precisas. Reserve os redirecionamentos do lado do cliente - meta refresh e JavaScript - para casos em que você não pode controlar o servidor de forma alguma.
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