Como Fazer Redirect 301 Corretamente: Tutorial Completo (.htaccess, Nginx, Cloudflare)
Tutorial passo a passo para configurar redirects 301 sem perder ranqueamento, com exemplos para Apache (.htaccess), Nginx, Cloudflare Workers e WordPress.
Categoria: SEO Técnico · Por Equipe Domain Hunter · Publicado em 09/05/2026 · 12 min de leitura
# Como Fazer Redirect 301 Corretamente: Tutorial Completo (.htaccess, Nginx, Cloudflare) Errar um redirect 301 é o tipo de erro que **derruba projetos do dia para a noite**. Já vi sites com 6 dígitos de tráfego mensal sumirem do Google em uma semana porque alguém "fez uma migração rápida". Não é exagero. A boa notícia é que, feito do jeito certo, o **redirect 301** preserva 99% da autoridade da página antiga. Vou te mostrar como configurar em qualquer servidor, com exemplos prontos. ## O que é redirect 301 (e por que importa) 301 = **redirect permanente**. Diz ao navegador e ao Googlebot: "essa página mudou de endereço para sempre, atualize seus registros". Diferente do **302** (temporário), o 301 transfere a autoridade (link juice) da URL antiga para a nova. Isso é fundamental quando você: - Migra de HTTP para HTTPS - Muda estrutura de URLs (slugs) - Faz merge de páginas - Reposiciona um domínio expirado em um novo projeto - Migra de CMS (ex: Wix para WordPress) ## Quando NÃO usar 301 - **A/B tests temporários** → use 302 ou 307 - **Promoções sazonais** → 302 - **Manutenção** → 503 Usar 301 errado força o Google a "esquecer" a URL antiga rapidamente, o que pode ser irreversível. ## Tutorial 1 — Apache (.htaccess) A maioria das hospedagens compartilhadas no Brasil roda Apache. Você edita o arquivo `.htaccess` na raiz do site. ### Redirect simples (uma URL) ```apache Redirect 301 /pagina-antiga.html https://exemplo.com/pagina-nova/ ``` ### Redirect com regex (várias URLs) ```apache RewriteEngine On RewriteRule ^blog/(.*)\.html$ /blog/$1 [R=301,L] ``` Esse exemplo remove `.html` de todas as URLs do blog mantendo o slug. ### Forçar HTTPS ```apache RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] ``` ### Forçar www (ou non-www) ```apache RewriteEngine On RewriteCond %{HTTP_HOST} ^exemplo\.com [NC] RewriteRule (.*) https://www.exemplo.com/$1 [R=301,L] ``` > ⚠️ **Cuidado:** após qualquer alteração no `.htaccess`, teste com [HTTP Status Checker](https://httpstatus.io/) para garantir que retorna **200** na URL final e **301** na URL antiga. ## Tutorial 2 — Nginx Cada vez mais usado em VPS e hospedagens modernas. Edite o arquivo de configuração do site (geralmente `/etc/nginx/sites-available/seusite.conf`). ### Redirect simples ```nginx server { listen 80; server_name exemplo.com; location = /pagina-antiga.html { return 301 https://exemplo.com/pagina-nova/; } } ``` ### Redirect com regex ```nginx location ~ ^/blog/(.*)\.html$ { return 301 /blog/$1; } ``` ### Forçar HTTPS ```nginx server { listen 80; server_name exemplo.com www.exemplo.com; return 301 https://www.exemplo.com$request_uri; } ``` Após editar, sempre teste e recarregue: ```bash sudo nginx -t sudo systemctl reload nginx ``` ## Tutorial 3 — Cloudflare (sem mexer no servidor) Se você usa Cloudflare, pode fazer redirects sem tocar no servidor de origem. É **mais rápido**, **escalável** e funciona até com sites estáticos. ### Page Rules (legado, ainda funciona) 1. Cloudflare → Rules → Page Rules 2. URL: `exemplo.com/pagina-antiga` 3. Setting: **Forwarding URL** → 301 → URL nova ### Bulk Redirects (recomendado) Para migrações grandes (centenas de URLs), use **Bulk Redirects**: 1. Account Home → Bulk Redirects 2. Crie uma lista CSV: `source,target,status_code` 3. Upload — pronto Ideal para migrar mil URLs em minutos. ### Redirect Rules (mais flexível) Permite usar regex e expressões customizadas. Mais poderoso que Page Rules. ## Tutorial 4 — WordPress (sem código) Se você usa WordPress, plugins resolvem 90% dos casos: - **Redirection** (gratuito, mais usado) - **Yoast SEO Premium** (tem módulo de redirect) - **Rank Math Pro** (idem) Após instalar o **Redirection**: 1. Tools → Redirection 2. Source URL: `/pagina-antiga` 3. Target URL: `/pagina-nova` 4. Group: 301 5. Save O plugin grava no banco de dados e intercepta antes do PHP processar a página. ## Tutorial 5 — Mapping em massa (planilha) Para grandes migrações, sempre crie uma **planilha de mapping** antes de tocar em qualquer arquivo: | URL antiga | URL nova | Tipo | |-----------|----------|------| | /sobre.html | /sobre/ | 301 | | /blog/post-1.php | /blog/novo-slug/ | 301 | | /produto-x | /produtos/produto-x/ | 301 | Use **VLOOKUP** no Google Sheets para garantir que toda URL antiga tem destino. URLs sem destino devem ir para a página mais relacionada (não para a home — isso é considerado **soft 404** pelo Google). ## Erros que destroem ranqueamento ### 1. Cadeia de redirects (redirect chain) Errado: `/a → /b → /c → /d` (3 saltos) Certo: `/a → /d`, `/b → /d`, `/c → /d` Cadeias diluem autoridade e aumentam tempo de carregamento. ### 2. Loop de redirect `/a → /b → /a` → erro 310 no navegador. Sempre teste antes de publicar. ### 3. Redirect para home em massa Quando você não sabe para onde mandar, **NÃO** mande tudo para a home. O Google trata como soft 404 e remove a página do índice. ### 4. Não atualizar links internos Mantém links internos apontando para URLs antigas força o servidor a fazer redirect a cada clique. Isso é **desperdício de crawl budget** ([leia nosso guia](/blog/crawl-budget-como-otimizar-rastreamento-googlebot)). ### 5. Esquecer de redirecionar imagens, PDFs, sitemap.xml e robots.txt Sim, esses também precisam. ## Como testar redirects ### Ferramentas online - [HTTP Status](https://httpstatus.io/) — testa em massa - [Ayima Redirect Path](https://chrome.google.com/webstore/detail/redirect-path/aomidfkchockcldhbkggjokdkkebmdll) — extensão Chrome que mostra a cadeia - [Screaming Frog](https://www.screamingfrog.co.uk/) — crawl do site inteiro ### Via terminal ```bash curl -I https://exemplo.com/pagina-antiga ``` Você deve ver: ``` HTTP/2 301 location: https://exemplo.com/pagina-nova/ ``` 📺 Recomendo: [301 vs 302 — Search Off the Record](https://www.youtube.com/@GoogleSearchCentral). ## Caso prático: domínio expirado Esta é uma estratégia avançada. Quando você compra um domínio expirado para iniciar um projeto novo, **NÃO** redirecione cegamente para o seu site atual. O Google detecta isso como manipulação e ignora a autoridade. O caminho correto: 1. Reconstrua o site com conteúdo **relacionado** ao tema original 2. Mantenha as URLs antigas **funcionando** ou faça 301 contextual (página por página) 3. Aguarde 30-60 dias antes de qualquer integração com o seu projeto principal Quer encontrar domínios expirados com bom histórico? [Use o Domain Hunter](/dashboard) para escanear descrições de canais do YouTube. ## Conexão com outros guias Migração e redirect andam de mãos dadas. Leia também: - [Migração de site sem perder SEO](/blog/migracao-site-wordpress-sem-perder-seo-checklist) - [Otimização de Core Web Vitals](/blog/core-web-vitals-2026-otimizar-lcp-inp-cls) - [Estrutura silo](/blog/seo-tecnico-estrutura-silo-organizar-arquitetura-site) - [Schema markup com JSON-LD](/blog/schema-markup-tutorial-jsonld-rich-results-google) ## Conclusão Redirect 301 é uma daquelas habilidades técnicas que **separa amador de profissional** em SEO. Quem domina, migra sites com tranquilidade. Quem não domina, perde tráfego e dorme mal. Aplique este guia na próxima migração. Se você está pensando em comprar um domínio expirado para um projeto novo, [comece um scan agora no Domain Hunter](/dashboard) — encontre domínios premium com autoridade pronta para receber o seu conteúdo. Compartilhe este artigo com alguém que está prestes a migrar um site. Você pode salvar a empresa dela. ## Perguntas frequentes **Quanto de autoridade um redirect 301 realmente preserva?** Cerca de 99% quando implementado corretamente, direto da URL de origem para o destino final, sem cadeias intermediárias. **Redirecionar tudo para a home é uma solução aceitável quando não sei o destino exato?** Não. O Google trata isso como soft 404 e pode remover as páginas do índice — o ideal é redirecionar para a página mais relacionada ao conteúdo original, mesmo que não seja um match perfeito. **Cadeias de redirecionamento (A para B para C) prejudicam o SEO?** Sim, diluem a autoridade transferida e aumentam o tempo de carregamento. O correto é sempre apontar direto da origem para o destino final, sem saltos intermediários. **Ao comprar um domínio expirado, devo redirecionar tudo imediatamente para meu site principal?** Não é recomendado. O caminho mais seguro é reconstruir o site com conteúdo relacionado ao tema original, manter as URLs antigas funcionando e esperar de 30 a 60 dias antes de qualquer integração mais direta.Tags: redirect 301, htaccess, nginx, seo técnico, tutorial