O melhor redirecionamento acontece no servidor com status HTTP. Use 301 para mudança permanente e 302/307 para temporária; 308 preserva método em mudança permanente. Meta refresh e JavaScript são alternativas inferiores porque dependem de renderização e podem prejudicar SEO/acessibilidade.
.htaccess no Apache
Redirect 301 /pagina-antiga https://exemplo.com/pagina-novaPara regras condicionais, use mod_rewrite com cuidado e teste loops. Preserve caminho/query quando necessário.
PHP
<?php
header('Location: /pagina-nova', true, 302);
exit;Execute antes de qualquer saída, BOM ou espaço. Use URL relativa segura e não aceite destino arbitrário do usuário, pois isso cria open redirect.
HTML meta refresh
<meta http-equiv="refresh" content="5;url=/pagina-nova">Use apenas quando servidor/PHP não estão disponíveis, mostre link manual e evite atraso zero. Mecanismos de busca podem interpretar de forma diferente.
JavaScript
window.location.replace('/pagina-nova');replace não adiciona a página intermediária ao histórico. Ainda assim, usuários sem JavaScript e crawlers podem não seguir como esperado.
Escolher status
| Status | Uso |
|---|---|
| 301 | Mudança permanente comum |
| 302 | Temporário, comportamento histórico |
| 307 | Temporário preservando método |
| 308 | Permanente preservando método |
SEO e teste
- redirecione para conteúdo equivalente;
- evite cadeias e loops;
- atualize links internos e sitemap;
- não envie toda URL removida para a home;
- teste cabeçalhos com
curl -I; - mantenha redirecionamento enquanto houver backlinks/tráfego.
Query string, fragmento e método
Decida se parâmetros como campanha, busca e paginação devem ser preservados ou descartados. Fragmentos após # não chegam ao servidor. Para POST, 307/308 preservam método e corpo; 301/302 podem virar GET em clientes. Nunca redirecione pagamento ou API sem testar esse comportamento.
Migração de muitas URLs
Construa tabela origem ? destino, elimine duplicatas, valide status e destino final e monitore 404. Gere regras específicas a partir de dados revisados, não de aproximação por palavras. Atualize canonical e links internos para apontar diretamente ao destino.
Para implementação e auditoria, conheça o serviço de desenvolvimento web.
Novos guias relacionados
Aprofunde o diagnóstico com estes conteúdos atualizados:
- ERR_TOO_MANY_REDIRECTS: como identificar e corrigir loop de redirecionamento no site
- Redirecionamentos no cPanel: 301, 302, HTTPS, www e regras sem loop
Recursos relacionados
Continue com materiais e serviços relacionados ao tema deste guia.