O que um 302 decide
Uma resposta 302 Found direciona a requisição atual para uma URL diferente, sem declarar que a mudança é permanente. O Google descreve redirecionamentos temporários como um caso em que o Googlebot pode seguir o redirecionamento, mas o redirecionamento em si não é usado como sinal de que o destino deve virar canônico. Essa distinção torna a duração e a intenção parte da decisão técnica.
Um 302 é útil quando a URL original continua sendo o endereço de longo prazo e um desvio atende a uma necessidade operacional de curta duração. Ele não é uma versão mais suave de um redirecionamento de migração. Se a equipe não pretende mais restaurar a origem, revise a decisão e troque a regra temporária por um mapeamento permanente, em vez de deixar um status enganoso indefinidamente.
Quando o roteamento temporário faz sentido
Casos comuns incluem uma interrupção breve do serviço com uma página explicativa clara, o destino de uma campanha curta, um fluxo de login ou uma sugestão regional que não substitui a página canônica pública. Em todos eles, as pessoas ainda devem conseguir acessar o recurso original quando a condição temporária terminar.
- Adequado
- Um recurso fica indisponível por pouco tempo e a URL de origem leva os visitantes a uma página de status ou de alternativas até o serviço voltar.
- Precisa de revisão
- Uma regra “temporária” de campanha sobreviveu à campanha; a origem e o destino devem ser reavaliados.
- Incorreto
- Uma página foi movida de forma permanente para uma nova URL, mas o servidor ainda responde com 302.
Para um exemplo de roteamento regional, deixe a escolha do usuário reversível e evite tratar a detecção de localização como prova de que uma versão deve substituir todas as outras URLs na busca. A estratégia de indexação e de idioma/região precisa de um desenho próprio de canonical e de páginas alternativas.
Implementação e inspeção
- Defina a condição temporária de negócio ou de operação, a URL de origem, o destino e uma data de revisão.
- Retorne um HTTP 302 na camada do servidor ou da aplicação, para que a resposta fique visível sem depender de renderização no lado do cliente.
- Mantenha a URL original disponível para o uso previsto; não deixe links internos, sitemaps e canonicals migrarem silenciosamente para um destino de curta duração.
- Acompanhe o caminho da resposta com um cliente HTTP e confirme um salto temporário, o cabeçalho Location esperado e uma página final funcionando.
- Remova a regra quando a condição terminar. Se a mudança virar permanente, crie um mapa de redirecionamentos permanentes deliberado e atualize as referências do próprio site.
curl -I https://example.com/original
# Expect: HTTP/2 302 and a Location header
curl -IL https://example.com/original
# Check the temporary hop and final responseO framework do servidor pode expor o 302 como um auxiliar de redirecionamento padrão, então inspecione a resposta real em vez de presumir que o status pretendido foi emitido. A navegação no navegador pode esconder requisições intermediárias; use as ferramentas de desenvolvedor ou um cliente HTTP quando a cadeia exata importar.
Modos de falha e limites
O erro comum é tratar um 302 de longa duração como uma mudança permanente inofensiva. Os sistemas de busca podem avaliar padrões duradouros junto com outros sinais, mas a implementação deve comunicar a intenção real, em vez de depender de limites não documentados. Revise o status quando a data final passar e decida explicitamente se a origem está voltando, se continua roteada de forma temporária ou se mudou de vez.
- Um 302 é usado em uma migração de site ou de protocolo; troque-o por um mapeamento permanente, em nível de página, quando a mudança não for reversível.
- O destino temporário está ele mesmo redirecionado ou indisponível; simplifique o caminho e corrija a página final.
- Um visitante fica preso em um loop regional; torne a seleção reversível e teste com configurações de idioma e região representativas.
- A regra não tem dono nem validade; registre-a no histórico de releases para que seja removida de forma deliberada.