O Que É um Redirecionamento 302 e Como Usá-lo Corretamente
Um redirecionamento 302 é um código de status HTTP (302 Found) que sinaliza a navegadores e motores de busca que um URL foi movido temporariamente para um novo local. Ao contrário de um redirecionamento permanente, o URL original mantém o seu estado de indexação e a equidade de links acumulada — os motores de busca recebem instruções explícitas para continuar a rastrear e classificar o URL de origem, não o de destino.
Esta distinção não é cosmética. Escolher o tipo de redirecionamento errado é um dos erros de SEO mais comuns e dispendiosos na gestão de infraestrutura web. Se migrar conteúdo permanentemente mas servir um 302, estará a perder sinais de classificação silenciosamente durante meses antes de notar os danos no Search Console.
O Panorama dos Redirecionamentos HTTP: 302 vs. 301 vs. 307 vs. 308
Antes de mergulhar na implementação, é essencial compreender onde o 302 se situa na taxonomia mais ampla de redirecionamentos HTTP. Muitos engenheiros confundem o 302 com o 307, e muitos proprietários de sites confundem o 302 com o 301 — ambos os erros têm consequências reais.
| Código | Nome | Permanente? | Alteração de Método Permitida? | Equidade de Links Transferida? | Caso de Uso Principal |
|---|
| —— | —— | ———— | ———————- | ——————– | ——————– |
|---|
| 301 | Movido Permanentemente | Sim | Sim (GET no redirecionamento) | Sim | Migração permanente de URL |
|---|
| 302 | Encontrado (Temporário) | Não | Sim (GET no redirecionamento) | Não | Redirecionamento temporário, uso legado |
|---|
| 307 | Redirecionamento Temporário | Não | Não (método preservado) | Não | Redirecionamento temporário, preservação estrita do método |
|---|
| 308 | Redirecionamento Permanente | Sim | Não (método preservado) | Sim | Redirecionamento permanente, preservação estrita do método |
|---|
| 303 | Ver Outro | Não | Sim (sempre GET) | Não | Padrão Post/Redirect/Get |
|---|
| meta refresh | N/A | Varia | N/A | Fraca/nenhuma | Apenas fallback do lado do cliente |
|---|
Nota arquitetural importante: O HTTP/1.1 introduziu o 307 precisamente porque o 302 tinha comportamento ambíguo — os primeiros navegadores alteravam pedidos POST para GET ao seguir um 302. Se estiver a redirecionar submissões de formulários ou endpoints de API, use 307 (temporário) ou 308 (permanente), não 302 ou 301. Para redirecionamentos de páginas padrão, o 302 continua a ser a escolha correta e amplamente suportada para cenários temporários.
Quando um Redirecionamento 302 É a Ferramenta Correta
A decisão de usar um 302 deve ser orientada por uma única questão: Esta alteração de URL é genuinamente temporária, com uma data de fim definida? Se a resposta for sim, o 302 é adequado. Se a resposta for “provavelmente” ou “indefinidamente”, use 301.
Janelas de Manutenção Programadas
Quando uma página específica ou um site inteiro é colocado offline para migrações de base de dados, atualizações de servidor ou correções de emergência, um redirecionamento 302 para uma página de aviso de manutenção é a resposta correta. Os motores de busca continuarão a manter o URL original no seu índice e retomará o rastreamento normal assim que o redirecionamento for removido.
Uma subtileza que muitos administradores ignoram: para manutenção de todo o site, combinar o 302 com um cabeçalho HTTP Retry-After na página de manutenção fornece ao Googlebot uma dica de quando voltar a rastrear, reduzindo tentativas de re-rastreamento desnecessárias durante a janela de inatividade.
Testes A/B e Experiências Multivariadas
Redirecionar um subconjunto de tráfego de um URL canónico para uma página variante para otimização da taxa de conversão deve usar um 302. Usar um 301 aqui faria com que o Google eventualmente consolidasse os sinais de classificação na variante, que pode ser descartada após a conclusão do teste. Ferramentas como o Google Optimize (agora descontinuado) e alternativas modernas como VWO ou Optimizely tratam disto na camada JavaScript, mas os redirecionamentos 302 do lado do servidor oferecem um controlo de rastreamento mais fiável.
Caso extremo: Se o seu teste A/B decorrer por mais de 90 dias, o Googlebot pode começar a tratar o 302 como um redirecionamento permanente de facto e começar a indexar a variante. Audite regularmente as idades dos redirecionamentos.
Campanhas Promocionais Temporárias
Páginas de destino sazonais — vendas relâmpago, registos de eventos, ofertas por tempo limitado — devem ser servidas via 302 a partir do URL principal. Quando a campanha terminar, remover o redirecionamento restaura a página original sem qualquer trabalho de remediação de SEO.
Exemplo de fluxo:
https://example.com/products → 302 → https://example.com/black-friday-saleApós a campanha, o redirecionamento é removido e https://example.com/products retoma o funcionamento normal, sem perda de equidade de links.
Encaminhamento Baseado em Geolocalização e Idioma
Servir variantes de conteúdo específicas por região (por exemplo, /de, /fr, /us) via redirecionamentos 302 baseados em geolocalização por IP é um caso de uso legítimo, mas requer uma implementação cuidadosa. O Google afirma explicitamente que os redirecionamentos de geolocalização não devem impedir o Googlebot (que rastreia a partir de IPs dos EUA) de aceder ao conteúdo canónico. Certifique-se sempre de que o idioma predefinido está acessível sem redirecionamento para o rastreador.
Combine os 302 de geolocalização com anotações hreflang no seu sitemap ou <head> para dar aos motores de busca uma visão completa da sua estrutura de URL internacional.
Encaminhamento de Utilizadores Autenticados vs. Não Autenticados
As aplicações web redirecionam frequentemente utilizadores não autenticados de recursos protegidos para uma página de login. Isto é um 302 por definição — o recurso existe e ficará acessível assim que o utilizador se autenticar. Servir um 301 aqui seria semanticamente incorreto e poderia fazer com que os navegadores armazenassem o redirecionamento em cache, quebrando o fluxo de autenticação para utilizadores recorrentes.
Como Implementar um Redirecionamento 302: Todos os Métodos Principais
Apache: Configuração .htaccess
Em ambientes de alojamento baseados em Apache, o ficheiro .htaccess na raiz do seu documento é o ponto de configuração padrão. Certifique-se de que mod_rewrite ou mod_alias está ativado.
Redirecionamento simples usando mod_alias:
Redirect 302 /old-page https://example.com/new-pageRedirecionamento baseado em padrões usando mod_rewrite:
RewriteEngine On
RewriteRule ^old-page/?$ https://example.com/new-page [R=302,L]As flags [R=302,L] definem explicitamente o código de resposta e marcam a regra como a última a ser processada. Omitir o código de status assume 302 por padrão no mod_rewrite do Apache, mas ser explícito evita ambiguidades quando outros engenheiros leem a configuração.
Importante: Evite colocar regras 302 dentro de um bloco <IfModule mod_rewrite.c> sem verificar se o módulo está carregado. Uma falha silenciosa aqui significa que nenhum redirecionamento é acionado e nenhum erro é registado no nível de log predefinido.
Nginx: Configuração do Bloco de Servidor
O Nginx trata os redirecionamentos através da diretiva return, que é mais eficiente do que rewrite para redirecionamentos de URL simples porque não invoca o motor de expressões regulares.
server {
listen 80;
server_name example.com;
location = /old-page {
return 302 https://example.com/new-page;
}
}Para redirecionamentos temporários baseados em padrões:
server {
listen 443 ssl;
server_name example.com;
location ~* ^/promo/(.+)$ {
return 302 https://example.com/campaigns/$1;
}
}Após editar a configuração, teste sempre a sintaxe antes de recarregar:
sudo nginx -t && sudo systemctl reload nginxIgnorar nginx -t é uma causa comum de interrupções de serviço — um erro de sintaxe no ficheiro de configuração impedirá o Nginx de recarregar e pode fazer com que falhe no próximo reinício.
Num ambiente de Alojamento VPS onde tem acesso root completo, pode colocar estas diretivas diretamente em /etc/nginx/sites-available/your-site.conf e criar um symlink para sites-enabled/.
PHP: Redirecionamento Baseado em Cabeçalho
Para redirecionamentos ao nível da aplicação onde o acesso à configuração do servidor é limitado, a função header() do PHP fornece um mecanismo fiável. Deve ser chamada antes de qualquer saída ser enviada ao navegador — incluindo espaços em branco antes da tag de abertura <?php.
<?php
header("Location: https://example.com/new-page", true, 302);
exit();A chamada exit() é obrigatória. Sem ela, o PHP continua a executar o restante do script, o que pode expor conteúdo parcial da página, acionar consultas à base de dados desnecessariamente, ou criar vulnerabilidades de segurança se o script realizar operações privilegiadas após o redirecionamento.
Nota sobre frameworks: No Laravel, use return redirect()->to('/new-page', 302);. No Symfony, use return new RedirectResponse('/new-page', 302);. No WordPress fora de plugins, use wp_redirect( $url, 302 ); exit;.
WordPress: Gestão Baseada em Plugin
Para sites WordPress, a edição manual de ficheiros nem sempre é prática ou segura, particularmente em ambientes geridos. O plugin Redirection (de John Godley) é a solução mais amplamente utilizada e fornece um registo completo de redirecionamentos, regras de redirecionamento condicionais e funcionalidade de importação/exportação.
Fluxo de configuração:
- Instale e ative o plugin Redirection a partir do repositório de plugins do WordPress.
- Navegue até Ferramentas > Redirection.
- No separador Redirects, clique em Add New.
- Introduza o URL de origem (por exemplo,
/old-page) e o URL de destino (por exemplo,https://example.com/new-page). - Defina o Código HTTP para
302. - Guarde e verifique usando o verificador de redirecionamentos integrado.
Num ambiente de VPS com cPanel, também pode gerir redirecionamentos diretamente através da interface de Redirects do cPanel na secção Domains, que escreve automaticamente as regras .htaccess apropriadas.
JavaScript: Redirecionamento do Lado do Cliente (Use Apenas como Último Recurso)
Os redirecionamentos JavaScript não são redirecionamentos HTTP. Executam após a página ter sido parcialmente carregada no navegador e são invisíveis para rastreadores do lado do servidor, a menos que a renderização JavaScript seja explicitamente suportada.
window.location.replace("https://example.com/new-page");replace() é preferível a assign() para cenários de redirecionamento porque não adiciona o URL de origem ao histórico do navegador, impedindo os utilizadores de navegar de volta para uma página que não deve estar acessível.
Quando isto é aceitável: Aplicações de página única (SPAs) do lado do cliente onde o encaminhamento é inteiramente gerido em JavaScript, ou como fallback para ambientes onde a configuração do lado do servidor é completamente inacessível. Nunca use redirecionamentos JavaScript como substituto de 302s do lado do servidor em contextos sensíveis ao SEO.
Mecânica de SEO: O Que Acontece Realmente Quando o Googlebot Encontra um 302
Compreender o comportamento do rastreador a nível técnico evita configurações incorretas dispendiosas.
Quando o Googlebot encontra um 302, ele:
- Regista o URL original como o URL canónico e continua a indexá-lo.
- Segue o redirecionamento para o URL de destino e rastreia-o também.
- Não consolida o PageRank ou sinais de links do original para o destino.
- Revisita o URL original no seu calendário normal de rastreamento para verificar se o redirecionamento ainda está em vigor.
A vulnerabilidade de sequestro por 302: No início dos anos 2000, atores maliciosos exploravam redirecionamentos 302 para redirecionar temporariamente páginas de alta autoridade para o seu próprio conteúdo, efetivamente tomando emprestados sinais de classificação. Os algoritmos do Google foram desde então reforçados contra isto, mas ilustra por que razão o motor trata os destinos de 302 com confiança reduzida.
Composição de cadeias de redirecionamento: Um 302 que aponta para um URL que por sua vez emite outro redirecionamento (301 ou 302) cria uma cadeia de redirecionamentos. Cada salto adiciona latência (~100–300ms por salto dependendo da geografia do servidor) e dilui o orçamento de rastreamento. Mantenha as cadeias num máximo de um salto. Use Servidores Dedicados para sites de alto tráfego onde a latência de redirecionamento se acumula em milhões de pedidos diários.
Interação com Cache-Control: Os navegadores podem armazenar em cache respostas 302 se a resposta incluir um cabeçalho Cache-Control: max-age ou Expires. Isto raramente é intencional para redirecionamentos temporários. Defina explicitamente Cache-Control: no-store nas respostas 302 para evitar que os navegadores armazenem em cache um redirecionamento que pretende remover.
location = /promo {
add_header Cache-Control "no-store";
return 302 https://example.com/summer-sale;
}Verificar Se o Seu Redirecionamento 302 Está a Funcionar Corretamente
Usando curl na Linha de Comandos
O método de verificação mais fiável para administradores de servidor é um pedido HTTP direto com cabeçalhos detalhados:
curl -I -L https://example.com/old-pageA flag -I solicita apenas cabeçalhos, e -L segue a cadeia de redirecionamentos. Procure HTTP/2 302 (ou HTTP/1.1 302 Found) no primeiro bloco de resposta, seguido do cabeçalho Location: apontando para o destino.
Para inspecionar a cadeia completa sem a seguir:
curl -I --max-redirs 0 https://example.com/old-pageUsando o Google Search Console
No Search Console, a ferramenta de Inspeção de URL mostra como o Googlebot rastreou pela última vez um URL, incluindo qualquer redirecionamento que encontrou. Se um 302 estiver em vigor por um período prolongado e o Google tiver começado a tratá-lo como permanente (indexando o destino em vez da origem), esta ferramenta irá revelar esse comportamento.
Usando o Screaming Frog SEO Spider
O rastreador do Screaming Frog identifica todos os tipos de redirecionamento num rastreamento completo do site, sinaliza cadeias de redirecionamento e exporta um mapa completo de redirecionamentos. Esta é a ferramenta padrão para auditorias de redirecionamento pré-lançamento e verificação pós-migração.
Usando as Ferramentas de Desenvolvimento do Navegador
No Chrome ou Firefox, abra as DevTools (F12), navegue até ao separador Network, desative a cache (Ctrl+Shift+R para um recarregamento forçado) e inspecione o primeiro pedido. A coluna Status mostrará 302 e o cabeçalho de resposta Location exibirá o URL de destino.
Armadilhas Comuns e Como Evitá-las
Usar 302 quando se pretende 301: O erro mais frequente. Se uma página foi permanentemente retirada ou fundida noutro URL, um 302 impedirá a consolidação da equidade de links indefinidamente. Audite o seu inventário de redirecionamentos trimestralmente.
Esquecer de remover 302s temporários: Defina lembretes no calendário ao implementar um 302 para uma campanha ou janela de manutenção. Os redirecionamentos 302 órfãos acumulam-se ao longo do tempo e criam desperdício de orçamento de rastreamento e confusão nos utilizadores.
Loops de redirecionamento: A redireciona para B, B redireciona de volta para A. Isto faz o navegador falhar com um erro “Too many redirects” e impede o Googlebot de rastrear qualquer um dos URLs. Teste sempre novos redirecionamentos com curl antes de implementar em produção.
Redirecionar todo o site durante a manutenção em vez de páginas específicas: Um 302 para todo o site para uma página de manutenção sinaliza aos motores de busca que cada URL do site foi temporariamente movido. Para cenários de manutenção, um 503 Service Unavailable com um cabeçalho Retry-After é semanticamente mais correto para inatividade de todo o site.
Aplicar 302s a conteúdo paginado: Redirecionar /page/2 para /page/1 durante uma reorganização de conteúdo usando um 302 pode causar sinais de conteúdo duplicado. Use tags canónicas em conjunto com ou em vez de redirecionamentos para a gestão de paginação.
Se estiver a gerir a terminação SSL juntamente com redirecionamentos, certifique-se de que as suas regras de redirecionamento são acionadas no listener correto. Um 302 configurado na porta 80 que redireciona para um URL HTTPS não deve entrar em conflito com as suas regras de redirecionamento de HTTPS para HTTP. A configuração adequada de Certificados SSL é um pré-requisito para cadeias de redirecionamento limpas em sites HTTPS.
Para sites alojados em Alojamento Web Partilhado, a gestão de redirecionamentos é normalmente tratada através de .htaccess ou da interface de redirecionamentos do painel de controlo de alojamento, uma vez que o acesso direto aos ficheiros de configuração do Nginx ou Apache é geralmente restrito.
Matriz de Decisão: 302 vs. Outros Tipos de Redirecionamento
Use esta matriz para selecionar o tipo de redirecionamento correto para o seu cenário específico:
| Cenário | Redirecionamento Correto | Raciocínio |
|---|
| ———- | —————– | ———– |
|---|
| Migração permanente de URL (página movida para sempre) | 301 | Transfere equidade de links para o novo URL |
|---|
| Página de manutenção temporária | 302 | O URL original permanece indexado |
|---|
| Página variante de teste A/B | 302 | Preserva a autoridade do URL canónico |
|---|
| Página de destino de promoção sazonal | 302 | Removida após o fim da campanha |
|---|
| Redirecionamento de submissão de formulário POST | 303 | Evita a resubmissão do formulário ao voltar atrás |
|---|
| Redirecionamento temporário de endpoint de API (preservar método) | 307 | Preservação do método necessária |
|---|
| Redirecionamento permanente de endpoint de API (preservar método) | 308 | Preservação do método + permanente |
|---|
| Inatividade total do site | 503 + Retry-After | Não é um redirecionamento; sinaliza indisponibilidade temporária |
|---|
| Encaminhamento por geolocalização | 302 | O URL original permanece canónico |
|---|
| Redirecionamento de barreira de login | 302 | Recurso acessível após autenticação |
|---|
Lista de Verificação de Pontos-Chave Técnicos
- Confirme que o redirecionamento é genuinamente temporário antes de escolher 302 em vez de 301.
- Defina
Cache-Control: no-storenas respostas 302 para evitar cache não intencional pelo navegador. - Use
curl -Ipara verificar o código de status correto e o cabeçalhoLocationantes de implementar em produção. - Audite cadeias de redirecionamento — mantenha-as num máximo de um único salto.
- Adicione cabeçalhos
Retry-Afterao usar 302 para redirecionamentos relacionados com manutenção. - Use 307 em vez de 302 quando o método HTTP original (POST, PUT, PATCH) deve ser preservado.
- Remova os redirecionamentos 302 temporários num calendário definido; defina lembretes no momento da implementação.
- Monitorize mensalmente os URLs afetados por redirecionamentos na ferramenta de Inspeção de URL do Google Search Console.
- Para ambientes WordPress, use o plugin Redirection com registo ativado para acompanhar contagens de acessos a redirecionamentos e identificar regras órfãs.
- Nunca use redirecionamentos JavaScript em substituição de 302s do lado do servidor para páginas críticas de SEO.
Perguntas Frequentes
Um redirecionamento 302 passa algum PageRank ou equidade de links para o URL de destino?
Não. O Google trata o 302 como um sinal temporário e retém toda a autoridade de classificação no URL original. A equidade de links só é transferida via redirecionamentos permanentes 301 (ou 308).
Quanto tempo pode um redirecionamento 302 permanecer em vigor antes de o Google o tratar como permanente?
Não existe um limite codificado, mas John Mueller do Google indicou que redirecionamentos em vigor durante vários meses podem começar a ser tratados como permanentes. Na prática, qualquer 302 com mais de 90 dias deve ser revisto e convertido para 301 se a mudança já não for temporária.
Qual é a diferença entre um redirecionamento 302 e um 307?
Ambos são redirecionamentos temporários, mas um 302 permite que o navegador altere o método HTTP para GET ao seguir o redirecionamento (comportamento legado), enquanto um 307 preserva estritamente o método HTTP original. Use 307 para endpoints de API ou submissões de formulários onde a preservação do método é necessária.
Um redirecionamento 302 pode causar um loop de redirecionamento e como o corrijo?
Sim. Um loop ocorre quando o URL A redireciona para o URL B, que redireciona de volta para A (ou através de uma cadeia que retorna a A). Corrija-o auditando as suas regras de redirecionamento com curl --max-redirs 0 em cada URL da cadeia suspeita, depois removendo ou corrigindo a regra conflituante. O relatório de cadeia de redirecionamentos do Screaming Frog automatiza esta deteção em todo um site.
Devo usar um redirecionamento 302 ou uma tag de atualização <meta> para redirecionamentos temporários?
Use sempre um redirecionamento 302 do lado do servidor. As tags meta refresh executam do lado do cliente após o início do carregamento da página, não são processadas de forma fiável por todos os rastreadores e adicionam latência desnecessária ao carregamento da página. São um último recurso aceitável apenas quando o acesso à configuração do lado do servidor está completamente indisponível.
