sábado, 25 de agosto de 2012

Redirecionamento 301 em PHP, ASP, ASP .NET, JSP (JAVA), Coldfusion, Ruby on Rails, CGI(Perl) e .htaccess


Muitas 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.
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 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 – Redirecionando 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 nossa ferramenta HTTP Header Checker, que faz uma análise bem simples e objetiva do seu redirecionamento. Não esqueçam de testar!

Nenhum comentário:

Postar um comentário