Redirecionamento URL HTTP: quais são e quando devemos usá-los? O redirecionamento é um jeito de mandar, tanto usuários tanto robôs de busca, para uma URL diferente da que pediram. Dos vários, existem três tipos de redirecionamentos que são os mais comuns e, obviamente, mais usados hoje em dia: o redirect 301
, redirect 302
e o Meta Refresh
.

Seções desta página
Redirecionamentos HTTP: entendendo como eles funcionam
Existem muitas razões para redirecionar uma URL e diversas formas de fazer isso. Por exemplo, para um site que já tem muito tráfego e bons resultados de buscas, mas precisa mudar seu domínio, com certeza o redirecionamento seja uma boa escolha para a transição.
Assim, o tráfego vai para o endereço antigo e, automaticamente, é redirecionado para o novo endereço e, com o tempo, conforme as bases de dados dos buscadores são atualizadas, o novo domínio herda todos os resultados e, também, seu rankeamento diante da SERP (Página de Resultados dos Mecanismos de Pesquisas).
O redirecionamento também pode fazer que diferentes URL’s indiquem um único site ou, também, encurtar endereços muito longos ou difíceis. Contudo, para escolher o melhor método, tudo depende do código usado para o site, além de quanta experiência você tem com eles.
Outro exemplo prático: a PortoFácil sempre usou a URL portofacil.net
, mas prevenidos que somos, também temos o portofacil.com.br
— que está redirecionado para o portofacil.net
.
Basicamente, quando você precisa fazer um redirecionamento, a sua primeira e principal preocupação deve ser só uma: SEO (Search Engine Optimization) ou, no bom português, otimização para mecanismos de busca.
Redirecionamento 301: mudança permanente
Existem muitos jeitos de fazer um redirecionamento, mas o 301 é o melhor de todos.
Desta forma, quando você cria um 301, tanto navegadores e robôs de busca entendem que o conteúdo mudou de lugar, mas pode ser encontrado em um novo endereço. Fazendo os robôs de busca levarem toda a reputação do domínio original para o novo.
Todavia, entretanto, contudo, essa transferência não é imediata e leva algum tempo para acontecer. Por isso é tão importante criar o redirecionamento de forma correta e bem feita para evitar danos ao seu resultado de busca.
Mais que isso, como o redirecionamento 301 foi — e ainda é — muito usado por spammers, os robôs levam mais tempo para investigar o conteúdo.
Enfim, como tudo na vida, para escolher qual o melhor método de redirecionamento, é preciso entender todas as questões envolvidas no processo.
Redirecionamento 301 para o mesmo domínio com .htaccess
redirect 301 /url_antiga.html https://www.dominio.com.br/url_nova.html
Code language: JavaScript (javascript)
Redirecionamento 301 para outro domínio com .htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) https://www.dominionovo.com.br/$1 [R=301,L]
Code language: JavaScript (javascript)
Redirecionamento 302: mudança temporária
Os redirecionamentos 302 são pouquíssimo usados, mas são úteis, entretanto, em alguns casos. Principalmente quando você está fazendo um redesign no site ou qualquer outra manutenção interna no servidor.
Basicamente, suas regras de aplicação são as mesmas do Redirecionamento 301.
Redirecionamento 302 para o mesmo domínio via .htaccess
redirect 302 /url_antiga.html https://www.dominio.com.br/url_nova.html
Code language: JavaScript (javascript)
Redirecionamento 302 para outro domínio via .htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) https://www.dominionovo.com.br/$1 [R=302,L]
Code language: JavaScript (javascript)
Redirecionamento Meta Refresh
O redirecionamento Meta Refresh
, que é feito diretamente no código da página HTML, costuma atrasar o seu carregamento, o que afasta o usuário, como sabemos, mas caso seja de seu interesse, para usá-lo basta incluir o código abaixo no topo da página HTML que deseja fazer o redirecionamento.
<meta http-equiv="refresh" content="0; URL='https://www.novodominio.com.br'"/>
Code language: HTML, XML (xml)
Como fazer redirecionamentos no servidor
Sabemos que são diversas as situações que podem forçar um site a fazer redirecionamentos — normalmente 301 ou 302 — de uma URL para outra.
A mais comum é que um conteúdo que tem links externos para si em sites de terceiros tenha tido seu URL modificado, e seja impossível revisar todas as referências para solicitar uma mudança, mas também pode ser que algum mecanismo de busca indexe o URL errado (ou “errado”) de uma página, exigindo que se façam remendos como possível.
Plugins para redirecionar URLs
Em se tratando da plataforma WordPress há diversos plugins que fazem o trabalho de interceptar URLs inválidos e redirecioná-los para o lugar certo. Basicamente todo plugin de SEO faz isso, bem como existem alguns especializados nesta tarefa, como o Redirection.
A regra geral indica que não tem problema nenhum em fazer os redirecionamentos usando plugins, principalmente porque eles implicam mais portabilidade para aqueles que costumam trocar de provedor de hospedagem com uma certa frequência.
A situação começa a levantar preocupações, entretanto, quando o volume de redirecionamentos gerenciados pelo plugin atinge uma determinada proporção — que varia conforme a capacidade do servidor e dos demais sites e plugins instalados nele — a ponto de prejudicar o desempenho de todo o domínio.
Redirecionamentos usando o plugin Redirection para WordPress
Se você tem um site ou blog WordPress e, também não entende nada de códigos, recomendamos o uso do plugin Redirection para os redirecionamentos internos.
Com certeza, este plugin é o gerenciador de redirecionamentos mais robusto e completo que existe atualmente para usuários do WordPress, o CMS mais popular do planeta.
Diferença entre redirecionar por plugin ou redirecionar direto no servidor
Para entender por que qualquer coisa feita por plugin quando poderia ser feita diretamente no servidor, com vantagens, vamos pensar em como um redirecionamento funciona, do ponto de vista do visitante (que pode ser um bot ou uma pessoa usando um navegador) e do ponto de vista do servidor.
Seja como for, por plugin ou no servidor, a informação que o visitante vai ver segue um fluxo bem simples:
Já do ponto de vista do servidor (ou do site, se ficar mais fácil de entender), o fluxo varia de acordo com o método usado para o redirecionamento.
Redirecionamento feito por plugin
Quando usamos um plugin para redirecionar, o fluxo que a máquina precisa seguir é mais complexo:
Observe quantos passos são necessários para que um simples redirecionamento feito por plugin possa funcionar, onde cada etapa implica processamento, uso de memória e principalmente uso de tempo (mesmo que sejam milissegundos).
As etapas de WordPress (e plugin, por conseguinte) são ainda mais custosas, porque o PHP interpreta o código a cada requisição, e um site com muitos plugins e/ou com problemas de código pode levar a um consumo absurdo de recursos, a depender de muitas variáveis, em casos extremos.
Redirecionamento feito pelo servidor web
Já um redirecionamento feito pelo servidor web (que no caso dos servidores da PortoFácil é o Nginx) é muito mais simples:
Devido à arquitetura do Nginx, todas as configurações são carregadas na memória no momento em que o serviço “sobe” — diferente do popular .htaccess
do Apache, que a cada requisição precisa ser interpretado, o que pode implicar um belo desperdício de recursos de computação.
Assim, o Nginx está o tempo todo sendo executado, “sabendo”, portanto, como deve tratar cada redirecionamento sem precisar aguardar por nenhum tratamento lógico feito por qualquer linguagem interpretada, como o PHP no redirecionamento feito por plugin.
Como redirecionar URLs diretamente no Nginx
Redirecionar URLs diretamente pelo servidor Nginx é simples, muito eficiente, mas é um trabalho que requer uma certa desenvoltura para lidar com códigos e a certeza de não estar fazendo nada errado.
Em caso de dúvida ou de insegurança, em vez de executar você mesmo o procedimento abaixo indicado, solicite ajuda ao Suporte Técnico, que poderá fazer o trabalho por você.
Além de conhecimento e boa vontade, para redirecionar URLs diretamente no servidor você precisará de:
- Acesso à Mônica para Clientes;
- acesso ao SFTP;
- um programa para edição de códigos.
Arquivos de regras de redirecionamento com Nginx
Por meio do SFTP você deve criar um arquivo vazio, caso ainda não exista um com as regras de redirecionamento, no seguinte local:
/var/www/domínio.com.br/conf/nginx/
A sugestão que damos é que o arquivo tenha um nome sugestivo, como redirects.conf
, ou qualquer outro que faça sentido para quem o vir. A extensão .conf
é obrigatória para que o Nginx reconheça o arquivo.
As regras de redirecionamento com Nginx
O arquivo deverá conter diretivas válidas de configuração do Nginx. Não cabe neste tutorial entrar em detalhes sobre esse assunto, mas simplificadamente: cada linha no arquivo conterá uma regra de redirecionamento, que seguirá o formato abaixo (se houver quebra de linha ignore, o conteúdo deve estar numa única linha do arquivo de configuração):
location /url-antigo { return 301 /url-novo; }
A linha acima contém diversos elementos que devem ser respeitados:
location
é uma diretiva, ou uma instrução para o Nginx, indicando como ele deve agir ao encontrar a URL que virá descrita a seguir;/url-antigo
é a URL que desejamos redirecionar;- o trecho contido entre
{
e}
é a ação que o Nginx deve executar ao receber uma requisição que case com ourl-antigo
;return
é o que o Nginx deve fazer, ou seja, imediatamente retornar um resultado com o que será definido a seguir;301
é o código do estado HTTP do redirecionamento; normalmente será301
ou302
;/url-novo
é para onde queremos que o visitante vá, ou seja, o destino do redirecionament;;
é a partícula que indica ao Nginx que essa instrução acabou.
Vamos a um exemplo real, um trecho de código retirado do arquivo de configurações de redirecionamento da própria PortoFácil (mais uma vez, caso haja quebra de linhas devido às dimensões da tela, lembre-se de que cada diretiva location
deve estar numa linha só).
location /reg { return 301 https://meu.portofacil.net/register.php; }
location /clientarea.php {return 301 https://meu.portofacil.net/clientarea.php ;}
location /addfunds {return 301 https://meu.portofacil.net/clientarea.php?action=addfunds ;}
location /ticket {return 301 https://meu.portofacil.net/submitticket.php ;}
Code language: JavaScript (javascript)
É importante ressaltar que as URLs de destino podem ser relativas (como no exemplo genérico mais acima) ou absolutas (como no exemplo real); bastando informar a URL completa no destino caso deseje.
Como você pode ver, não é algo complexo demais, mas é um trabalho que requer atenção para que cada diretiva location
seja corretamente interpretada pelo Nginx; o erro mais comum é esquecer do ;
após a URL de destino.
A menos que você tenha certeza absoluta do grau 33 do que estiver fazendo, o arquivo de redirecionamento deve conter unicamente diretivas location
.
Caso queira fazer algum comentário (ou seja, escrever algo para informar quem porventura vir o código e sem que o Nginx o leve em consideração) basta iniciar uma linha com o sinal de#
(sustenido, hash ou “jogo da velha”, entre outras denominações).
Você não pode cometer erros neste arquivo, pois caso isto aconteça o Nginx poderá parar de funcionar, deixando a máquina inteira offline. Claro, nada que não possa ser facilmente consertado por nossa Equipe de Suporte.
Observações importantes
Especial cuidado deve ser tomado com caracteres especiais (ou seja, os que não são A-Z
, a-z
e 0-9
— além de -
e _
, sinais de menos e sublinhado). Isso porque o Nginx utiliza alguns dos caracteres especiais para a definição de Expressões Regulares, assunto que não cabe no contexto deste tutorial.
Quando tiver um caractere especial na sua URL (principalmente na origem) será necessário utilizar o seguinte formato:
location '/ /' { return 301 /; }
O exemplo é real, e visa resolver um problema recorrente em nosso site: alguém fez um link para a página inicial, mas adicionou um espaço ao final do URL! Aí quem chega ao site a partir deste link (que sequer conseguimos identificar onde está para tentar pedir uma revisão) acaba indo para uma página de erro 404 e não para a página inicial do site.
Para resolver o problema a regra acima intercepta este espaço, porém é necessário envolver todo caminho da origem em “aspas simples”, para que o Nginx não confunda o espaço literal que ele deve interpretar com o espaço usado para separar as diversas partes da diretiva location
.
Atenção! O arquivo de exportação do Redirection não considera a necessidade de tratar de maneira específica os caracteres especiais, mais uma razão pela qual não é possível apenas copiar e colar o conteúdo dele no arquivo de redirecionamentos do Nginx.
Reiniciando o Nginx
Uma vez que você tenha concluído a edição do seu arquivo de redirecionamentos, só resta instruir o Nginx para fazer uso dele.
Você deve acessar a Mônica para Clientes
e acionar a opção Recarregar Nginx
para que suas configurações sejam incorporadas ao servidor web. Suas configurações podem levar até um minuto para serem reconhecidas e ativadas, portanto tenha um pouquinho de paciência.
Como redirecionar um site via Cloudflare
Que a Cloudflare é um verdadeiro canivete suiço, todos sabem! Mesmo assim boa parte dos usuários ainda não conhecem a fundo todas as opções que a ferramenta apresenta de forma simples, prática e objetiva para a manutenção profissional de seu site/domínio.
Por exemplo, com a Cloudflare é possível realizar o redirecionamento 301 ou 302 de um domínio sem que este domínio esteja configurado em uma hospedagem de sites.
Redirecionamento de domínio usando as Page Rules da Cloudflare
Partindo do princípio que você já possui uma conta na Cloudflare. Siga o passo a passo a seguir:
- Faça login na sua conta da Cloudflare;
- Selecione o domínio que deseja criar o redirecionamento;
- Clique em “Regras“ no menu lateral e selecione “Page Rules“;
- Dentro de “Page Rules“, clique em “Criar Page Rules“;
- Na caixa de diálogo, em “URL“, digite o domínio que deseja redirecionar. Por exemplo: *meudominio.com.br/*
- Clique agora em “Escolha uma configuração“, selecione “URL de encaminhamento” e em seguida selecione no “Código de status” o tipo de redirecionamento, ou seja, permanente (301) ou temporário (302);
- A seguir, em “Digite um destino URL” adicione o domínio que será redirecionado. Por exemplo: https://novodominio.com.br
- Para finalizar, basta clicar em “Salvar e implantar regra de página“.
Redirecionamentos em massa usando a Cloudflare Bulk Redirects
Para realizar um redirecionamento de um domínio para outro, basta utilizar a ferramenta Bulk Redirects da Cloudflare. Assim todo o tráfego será encaminhado para o domínio principal.
Então, com seu domínio antigo configurado na Cloudflare, adicione as seguintes entradas no registro DNS:
Tipo | Nome | IP | Status |
A | @ | 1.2.3.4 | Com proxy |
A | www | 1.2.3.4 | Com proxy |
Navegue agora até o menu lateral da sua conta principal da Cloudflare e selecione a opção Bulk Redirects (redirecionamentos em massa) e siga o passo a passo abaixo:
- Clique em
Criar regra de redirecionamento em lote
; - Digite um nome descritivo para sua regra e clique em
Salvar e implantar
; - Clique agora em
Criar lista de redirecionamento em massa
; - Digite um nome e uma descrição para esta lista;
- Em
Adicionar URLs
você tem a opção de subir um arquivo CSV ou adicionar os redirecionamentos de forma manual; - Na opção manual, digite a URL de origem, a URL de destino e o status do redirecionamento;
- Clique agora em
Editar parâmetros
e marque os itens:Incluir subdomínios
Correspondência de subcaminho
Preservar sufixo do caminho
- Clique em
Salvar
e pronto!
Resolvendo possíveis problemas de redirecionamento usando Cloudflare
Não é comum, mas se você realizou todas as etapas descritas acima de forma correta e mesmo assim o redirecionamento na Cloudflare está apresentando problemas, dê uma verificada na aba “DNS” do seu domínio e verifique se existe nela uma entrada tipo “A“.
Se por alguma razão esta entrada não esteja configurada, basta criá-la de forma simples, conforme imagem abaixo:
1ª Dica Bônus: STATUS 410
Uma das funções mais úteis do Yoast SEO é detectar a exclusão de posts e páginas, servindo no lugar delas uma página de erro com o status 410
nos cabeçalhos HTTP.
O Status 410
é semelhante ao 404, assim como o 302 é semelhante ao 301: enquanto o 404 diz aos indexadores “este conteúdo não foi encontrado” o 410 diz “este conteúdo foi removido e não vai mais voltar”.
Você pode fazer o Nginx servir “erros” 410 também, usando o mesmo esquema de que trata este tutorial inteiro. Basta ajustar o parâmetro de retorno da diretiva location
. Exemplo:
location /natal-2022.html { return 410; }
Um buscador ao encontrar o URL /natal-2022.html
vai receber o código de retorno 410 e vai saber que esta página foi removida do domínio e não vai mais voltar.
Contudo, observe que a página 410 padrão do Nginx não é absolutamente nada amigável a seres humanos. Caso exista a possibilidade de uma pessoa vir a acessar a página removida talvez seja melhor manter os 410 sob responsabilidade do Yoast SEO em nome da usabilidade.
2ª Dica Bônus: utilizando o plugin Redirection para monitorar os erros 404
Um dos principais motivos pelos quais alguém pode querer ou precisar fazer redirecionamentos em seu site é para evitar os potencialmente prejudiciais erros 404 (página não encontrada), que podem prejudicar o domínio na já difícil tarefa de aparecer bem posicionado nas páginas de resultados do Google.
Uma boa ideia é usar o plugin Redirection para monitorar diariamente as incidências de páginas 404 que ocorrem no WordPress. Obviamente, caberá uma análise de cada caso, para ver se vale ou não a pena criar um redirecionamento permanente. Se você julgar que sim, use a informação descoberta para alimentar o arquivo de configuração do Nginx, conforme explicado acima.
Atenção! O Redirection tem um recurso que exporta as regras de redirecionamento para o formato do Nginx. Infelizmente não se trata apenas de copiar e colar o conteúdo exportado pelo Redirection para o arquivo de diretivas. Se você fizer isso seu site poderá ficar offline até que o suporte técnico possa fazer a necessária manutenção. Inclusive, até a Mônica para Clientes vai deixar de funcionar caso o Nginx caia.
Cuidado com os “logs” do Redirection
O plugin Redirection é muito útil para detectar incidências de erros 404 causados por agentes externos, para que possamos tratar cada um com um redirecionamento.
Entretanto, é muito importante que você não deixe acumular registros de erros não tratados porque dependendo do movimento do site em poucos dias seu banco de dados poderá estar tão inchado a ponto de não ser possível nem ao menos fazer backup.
Quando usar o redirecionamento no servidor
A configuração dos redirecionamentos diretamente no servidor pode ser vantajosa em muitos casos, aliviando o servidor de processamento desnecessário.
Para configurar os redirecionamentos no Nginx, nos servidores da PortoFácil, basta:
- Acessar o servidor por SFTP;
- Baixar o arquivo de redirecionamentos para seu computador;
- Incluir (ou alterar, ou remover) as diretivas
location
, sempre tomando o cuidado de não desrespeitar a sintaxe obrigatória; - Subir de volta o arquivo modificado para o servidor;
- Reiniciar o Nginx para aplicar as novas configurações.
Não custa repetir que nosso Suporte Técnico está sempre disponível e disposto para ajudar com esta tarefa.
Por que usar algum tipo de redirecionamento
Use o redirecionamento em caso de mudança de domínio ou caso você tenha múltiplos domínios para proteger a sua marca. Mas não use redirecionamento para conteúdo duplicado. O ideal, no caso de conteúdo duplicado, é usar a tag "rel=canonical"
, como ensina um dos magos do SEO, Moz. Ah! E todos os gigantes usam o redirecionamento. Quer ver só? Digite relentless.com
e veja onde você vai parar…
Em caso de dúvidas, você já sabe: o nosso suporte está sempre às ordens para ajudar!
Foto: Nick Fewings via Unsplash.