
Redirecionamento 301 em PHP, ASP, htaccess, Coldfusion e Ruby on Rails
Publicado por Fábio Ricotta em 28 de Março 2008 | Categoria: SEOMuitas vezes no desenvolvimento de um website queremos mudar uma página de diretório ou até mesmo trocar o nome dela. Isto é bem simples quando se trata do nível operacional: renomeamos o arquivo ou ainda movemos de diretório simplesmente. Infelizmente não podemos pensar como no nosso computador pessoal. Não basta apenas renomear ou mover o arquivo, você deve editar todas as referências que ele recebe.
Mas como já vimos aqui no SEO Dicas, a referência na web é a base dos algoritmos de rankeamento, como o Pagerank, sendo assim, pode existir um conjunto grande de páginas que apontam(links) para este seu arquivo ou pasta, os quais não vão saber que o seu arquivo mudou. Assim como estes links, os robôs de busca não saberão que a página foi renomeada ou movida.
Desta forma, necessitamos de um método que indique que a sua página A foi renomeada ou movida para a página B. Este método é chamado de redirecionamento.
Vimos a algum tempo atrás uma explicação sobre os mais variados códigos de redirecionamento que podemos enviar ao navegador do usuário e na explicação, vimos que o código 301 indica que a sua página foi “movida permanentemente”, ou seja, ela foi renomeada ou movida para um novo local de forma definitiva.
Vejamos abaixo a aplicação do redirecionamento para as linguagens PHP, ASP, htaccess, Coldfusion e Ruby on Rails:
Redirecionamento 301 com PHP
<?
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.meusite.com.br” );
?>
Redirecionamento 301 com ASP
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.meusite.com.br/”
%>
Redirecionamento 301 com ASP .NET
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”http://www.meusite.com.br”);
}
</script>
Redirecionamento 301 com JSP (JAVA)
<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.meusite.com.br/” );
response.setHeader( “Connection”, “close” );
%>
Redirecionamento 301 com Coldfusion
<.cfheader statuscode=”301″ statustext=”Moved permanently”>
<.cfheader name=”Location” value=”http://www.meusite.com.br”>
Redirecionamento 301 com CGI(Perl)
$q = new CGI;
print $q->redirect(”http://www.meusite.com.br/”);
Redirecionamento 301 com Ruby on Rails
def old_action
headers[”Status”] = “301 Moved Permanently”
redirect_to “http://www.meusite.com.br/”
end
Redirecionamento 301 com .htaccess
redirect 301 /antigo/arquivo_antigo.htm http://www.seusite.com.br/aquivo_novo.htm
.htaccess - Redicionando um domínio antigo para um novo
Algumas vezes precisamos mudar o nosso domínio e não queremos perder nenhum link antigo, nenhum visitante que acesse o site antigo ou o principal, não perdermos Pagerank. Então, necessitamos redirecionar todos os cliques do domínio antigo para o novo.
Para redirecionar todos os arquivos e pastas do seu antigo domínio para o seu novo domínio siga corretamente a seguinte regra:
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.novosite.com.br/$1 [R=301,L]
Troque o “www.novosite.com.br” no código acima pelo novo nome do seu domínio.
O arquivo .htaccess deve ser inserido no arquivo raiz do seu antigo domínio, ou seja, onde está localizado o seu arquivo index.
Observação: Este método de redirecionamento irá apenas funcionar em servidores Apache com o módulo Mod_rewrite habilitado. Para habilitá-lo siga as instruções deste link.
Redirecionamento para inserir o WWW no início do seu domínio
A falta de uso deste código de redirecionamento implica na divisão do Pagerank do seu site, pois uma série de links pode apontar para http://seusite.com.br e outros links podem apontar para http://www.seusite.com.br. Outro problema gerado é o conteúdo duplicado, pois em ambas as URLs você consegue acessar o mesmo conteúdo.
Para prevenir estes dois problemas, você pode utilizar o código abaixo em seu arquivo .htaccess:
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^seusite.com.br [NC]
rewriterule ^(.*)$ http://www.seusite.com.br/$1 [r=301,NC]
Troque o “www.novosite.com.br” no código acima pelo novo nome do seu domínio.
O arquivo .htaccess deve ser inserido no arquivo raiz do seu antigo domínio, ou seja, onde está localizado o seu arquivo index.
Observação: Este método de redirecionamento irá apenas funcionar em servidores Apache com o módulo Mod_rewrite habilitado. Para habilitá-lo siga as instruções deste link.
Verificação do seu redirecionamento
A fase mais importante do redirecionamento é o teste do mesmo. Mas como fazer isto?
Existem várias ferramentas na web que podem lhe devolver o código de redirecionamento, mas eu sugiro a ferramenta Redirect Check, que faz uma análise bem simples e objetiva do seu redirecionamento. Não esqueçam de testar!
Espero que tenham gostado desta dica de SEO sobre o redirecionamento 301 e não esqueçam de comentar!
Otimização de Sites e Links Patrocinados
Procurando uma empresa séria, experiente e com conhecimento em Otimização de Sites ou Links Patrocinados?
Entre em contato e solicite um orçamento.










Março 28th, 2008 at 8:36 am
Muito bom. Vou precisar disso logo logo.
Março 28th, 2008 at 8:39 am
Opa! Qualquer dúvida na hora de implementar é só enviar que nós ajudamos! Abraços!
Março 28th, 2008 at 3:00 pm
Ae Fábio! Beleza de post hein!? Que tal chamar de guia definitivo para redirecionamento?
Mandou bem mesmo!
Março 28th, 2008 at 8:32 pm
Na minha opinião a melhor opção de redirecionamento é a .htaccess sendo que em alguns servidores é necessário colocar os códigos dentro e para funcionar.
Ficaria então assim:
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.novosite.com.br/1 [R=301,L]
Abraços
Abril 4th, 2008 at 9:12 am
Cara vocês sabem alguma forma de redimencionar que mantem o endereço na barra de endereços ?
Abril 4th, 2008 at 9:24 am
Vinicius, eu sei por .htaccess… seria algo assim:
RewriteRule ^paginadoendereco.htm$ http://www.seusite.com.br/paginanoservidor.htm
Abril 4th, 2008 at 3:58 pm
[…] redirecionar suas páginas, utilize o nosso post de redirecionamento 301 que mostra o redirecionamento em PHP, ASP, htaccess, Coldfusion e Ruby on Rails. Artigos […]
Abril 15th, 2008 at 7:39 am
Estou mudando o meu site de endereço e não funcionou o uso do código abaixo.
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^seusite.com.br [NC]
rewriterule ^(.*)$ http://www.seusite.com.br/1 [r=301,NC]
O que precisamente devo fazer para funcionar?
Obrigado.
Rodrigo
Abril 15th, 2008 at 2:02 pm
Olá Rodrigo,
Você está substituindo a palavra “seusite.com.br” pelo endereço do seu site?
Abril 16th, 2008 at 5:31 pm
Bom dica, já utilizei ela em um de meus trabalhos.
Abril 16th, 2008 at 5:44 pm
Fico feliz de ter ajudado!
Abril 18th, 2008 at 1:17 pm
Eu estou tentando redirecionar a página pra abrir numa pasta interna:
http://www.meusite.com para http://www.meusite.com/blog usando
Redirect permanent /meusite.com http://www.meusite.com/blog/
mais nao to tendo resultado…ou ele mantem na pasta original ou da erro 500
sabe o que pode ser de errado?
Abril 21st, 2008 at 9:38 am
Rafael, que linguagem você está usando?
Abril 21st, 2008 at 8:03 pm
[…] e pastas do domÃnio (primeira parte dessa dica) há tempos, hoje encontrei por acaso no site Seo Dicas - inspiração para este texto. » Gostou do texto? Veja também…EeA Responde #1: Windows lento, […]
Abril 28th, 2008 at 6:11 pm
Tenho uma dúvida: Quero fazer um redirect de uma página HTM para uma página em PHP de um mesmo domínio sem o uso de javascript justamente para não perder pagerank nem considerar como black hat. Como faço isso?
exemplo:
http://www.meusite.com.br/files/pagina_antiga.htm
para:
http://www.meusite.com.br/pagina_antiga_com_novo_nome.php
DICA: abaixo dos posts deveria ter uma campo “deseja acompanhar os comentários deste post via email”
Assim a gente não esquece de acessar o post futuramente.
Abril 29th, 2008 at 7:51 am
[…] conteúdo texto, quando identificado o problema, deve-se fazer o redirecionamento 301 para a melhor versão de tal […]
Abril 29th, 2008 at 4:06 pm
Demétrio, a resposta para sua pergunta está no próprio post.
Confira o item:
“Redirecionamento 301 com .htaccess”
Basta colocar o .php em arquivo_novo:
“http://www.seusite.com.br/aquivo_novo.php”
Entendeu?
Abril 30th, 2008 at 11:36 pm
Olá Fábio,
Como faço esse direcionamento em um site hospedado no Geocities?
Obrigado,
Antonio.
Maio 2nd, 2008 at 10:16 am
olá fabio tenho um domínio apontando para um blog do blogger gratuito o lucrenainternet.com que acabou de ser premiado com pagerank 4 em apenas 4 meses de existencia graças a algumas dicas que achei por aí na internet e em seu blog também….
Mas quero mudar para um servidor pago e mudar também a plataforma para wordpress ou joomla…
O que vc indica para que eu não seja penalizado nao pagerank….
adgradeço dese já a atenção e as dicas do seu blog.
Maio 4th, 2008 at 9:33 pm
Você deve utilizar os conceitos que mostrei neste artigo. Você deve redirecionar tudo com 301. Beleza?
Maio 8th, 2008 at 9:17 am
[…] é importante, mais ainda que ele seja original. Caso a página já exista em um site antigo, faça um redirecionamento permanente. Verifique se realmente não há conteúdo duplicado. Agora nos resta aplicar as técnicas de SEO para […]
Maio 9th, 2008 at 11:30 am
Qual a principal diferença para quem usa redirecionamento 302 ou 301 em termos de SEO?
Maio 9th, 2008 at 12:47 pm
Olá Leandro,
A diferença é que o código 302 indica que a página foi movida temporariamente, ou seja, o buscador não indexa a nova página, ou pode deixá-la em um tipo de “index secundário”. Existe outro ponto que ele não passa o Pagerank de uma página para a outra, achando que é apenas um “redirecionamento temporário”.
Consegui sanar sua dúvida?
Abraços
Maio 9th, 2008 at 8:29 pm
Então PHP não funciona no Geocities gratuíto. Alguém sabe alguma solução para aplicar o redirecionamento 301 no Geocities/Yahho!?
Obrigado.
Maio 10th, 2008 at 11:52 pm
Ai Fabio, grande post, mas to perdido com um codigo, preciso direcionar um antigo website para meu novo endereço, o problema e que estao em provedores diferentes com diferentes linguagens e ainda pra piorar, quero deixar um aviso de redirecionamento automatico no antigo url e tambem que a barra de rolagem seje atualizada automaticamente, sem pane sem erro.
tambem não quero usar ferramentas externas de redirecionamento, quero fazer dentro do proprio codigo. manda,.
ta uma força ai, valew bro.
Maio 20th, 2008 at 3:06 pm
Olá Fábio!
Em primeiro lugar um agradecimento pelo conteúdo, muito útil e dinâmico. Parabéns!
A minha dúvida é, tenho um wordpress.com (www.mixcarioca.wordpress.com) e vou migrar para um dentro de uma hospedagem paga (www.mixcarioca.com) porém, o google já indexou várias páginas do anterior. Já passei todos os antigos posts para o novo em uma área de teste e minha dúvida é: Como fazer para os links já indexados apontem para o novo? Não tenho acesso a nenhuma configuração no wordpress.com por isso, não acho possível utilizar estas informações deste post.
Ou, tenho que fazer o método gambiarra, informar nos posts antigos o novo site?
Maio 24th, 2008 at 11:37 am
Olá
Utiliei as dicas aqui apresentadas, funcionou mas surgiu uma dúvida.
Antes quando eu digitava “www.meusite.com” o resultado era “meusite.com”. Alterei o .htaccess passando a ficar “www.meusite.com/”
Viram? no final apareceu uma “/”
Eu cadastrei meu site nos mecanismos de busca sem a barra no final. Isso poderá ser interpretado pelo google, por exemplo, como sendo duas páginas com mesmo conteúdo? Ou seja, corrigi um problema mas surgiu outro?
Desde já agradeço a ajuda.
Maio 27th, 2008 at 8:21 am
[…] desconfiados quanto a isso. Existem alguns códigos de redirecionamento mas o mais indicado é o redirecionamento 301, redirecionamento permanente, isto é, os search engines redirecionaram todos os links direcionados […]
Junho 17th, 2008 at 1:56 pm
[…] http://www.marketingdebusca.com.br/redirecionar-paginas-301-redirect/ > http://www.mestreseo.com.br/blog/seo/redirecionamento-301-em-php-asp-htaccess-coldfusion-e-ruby-on-r... > […]
Junho 19th, 2008 at 1:40 pm
Alguém sabe como se dá o redirecionamento num servidor Tomcat?
Junho 19th, 2008 at 1:48 pm
Olá Leandro,
Eu pesquisei rapidamente aqui e encontrei este fórum:
http://www.mail-archive.com/users@tomcat.apache.org/msg44002.html
Lá eles sugerem de você editar direto no http.conf pois o usuário que mandou a dúvida está usando apache tomcat. Como está a sua configuração aí?