Fazendo redirecionamento permanente com o PHP

junho 11, 2007 · Filed Under SEO 

Quando você altera o endereço de suas páginas, é importante informar aos seus visitantes e aos mecanismos de busca os novos endereços.

Para manter a indexação no Google e demais mecanismos é de suma importância que você envie os cabeçalhos corretos que os mesmos entendam que devem transferir tudo para o novo endereço.

O modo mais correto de fazer é informando que houve uma transferência permanente (existe um certo desentendimento nesta área entre alguns SEOs, porém, o próprio Google recomenda esta prática).

A maneira mais simples de fazer isso é utilizando o mod_rewrite para reescrever as URLs passando os novos endereços.

Porém, nem sempre isso é possível, alguns motivos para isso não funcionar:

  • Você está em um servidor Windows.
  • Você não tem acesso ao .htaccess.
  • O mod_rewrite não está instalado ou ativado no seu servidor.
  • O mod_rewrite se recusa a funcionar mesmo que devesse.
  • Etc...

Quando fiz a mega mudança no Diversos, me encontrei no quarto problema.

O servidor tinha tudo para funcionar, escrevi as regras corretamente, mas algumas URLs se recusavam a mudar para o novo endereço.

Acessando a central webmaster do Google, pude verificar que as páginas que aceitaram o redirecionamento já haviam sido identificadas e a migração da indexação já havia começado.

Porém as que se recusavam a funcionar, além de continuarem indexadas, estavam prejudicando os novos endereços, pois o Google está classificando as novas como conteúdo duplicado.

Vendo que não haveria jeito, resolvi tentar apelar para o PHP.

A vantagem de usar o PHP nestes casos é que funcionará em qualquer servidor que tenha suporte ao mesmo, ou seja, qualquer servidor que rode o Wordpress pode utilizar desta artimanha.

O código é bastante simples, eu queria trocar o início do endereço que apontava para diversos.brpoint.net para www.diversos.org.

Então, bastaria informar que é um redirecionamento com código 301, mudar o domínio e mover para o novo endereço.

Para conseguir estes passos, basta usar o código abaixo:

CODE:
<?php
$loc = "http://www.diversos.org" .$_SERVER['REQUEST_URI'];
header( "HTTP/1.1 301 Moved Permanently" );
header("Location: ".$loc);
exit;
?>

A primeira linha pega a página requisitada e adiciona o novo domínio.

A segunda linha, informa o tipo de redirecionamento, poderíamos usar outros, mas como o objetivo é transferir a indexação para o novo endereço, o ideal é usar o código 301.

Na quarta linha, fazemos o redirecionamento efetivo.

A quinta linha garante que mais nada será executado.

Coloque este código em um arquivo chamado index.php e coloque este arquivo no diretório do site que você quer redirecionar.

Lembrando de trocar o endereço para o de seu novo site.

Compartilhe e Guarde: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • websapiens
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Blue Dot



Artigos Relacionados

Comments

9 Comentários

  • At 2007.06.12 00:27, Thiago Mobilon said:

    Fala Bruno excelente a dica!

    Também fiz este tipo de migração no começo do mês, mas usei o htaccess.

    Até agora tá tudo beleza, mas alterei um tipo de estrutura de url, e quando as mesmas são acessadas retorna-se o erro 404.

    A quantidade é bem grande. Você acha que isso pode prejudicar meu blog? Devo bloquear a indexação das mesmas ou o próprio Google se vira com isso? É que são TANTAS que é absolutamente impossível alterar manualmente ;)

    Um abraço!

    • At 2007.06.12 12:33, Bruno Alves said:

      Thiago, 404 nunca é bom para o Google.

      Eu não tomei esse cuidado quando migrei do domínio antigo para o brpoint e fiquei sem a transferência de PR, esse blog já era para ser PR 6 ou 7, mas como perdi boa parte dos links antigos, continuo no 5.

      Não tem como criar uma regra para fazer o redirecionamento ou usar o plugin que comentei no tutorial de transferência?

      Abraço

        • At 2007.06.18 16:37, SOS Wordpress | BrPoint said:

          [...] o PHP, como explicado no artigo: PLAIN TEXT PHP: <?php if ($_SERVER['HTTP_HOST']=='www.diegoxavier.com') { [...]

          • At 2007.06.28 18:53, Dario said:

            Valeu pela dica. Foi bastante útil.
            Parabéns pelos blogs.

            • At 2007.06.28 21:41, Bruno Alves said:

              Dario, obrigado.

              Abraço

              • At 2007.07.28 02:09, Rodrigo said:

                Estou precisando de sua ajuda, o meu blog está dentro de uma pasta no meu servidor e as pessoas o acessavam pois na página principal tinha um frame que puxava o conteúdo da pasta, mas agora quero que a pessoa ao clicar no endereço principal automaticamente abra o endereço da pasta.

                como posso fazer isso?

                Obrigado
                Rodrigo

                • At 2007.07.30 10:59, Bruno Alves said:

                  Rodrigo, pode tentar por .htaccess ou por php, para discutir mais especificamente sua necessidade, por favor, use o fórum.

                  • At 2008.01.31 00:49, Decco said:

                    Rpz não consegui fazer tenho um site http://www.muipnotic.com que ele redireciona para o http://mndo.sytes.net:8090 mas queria que ele ficasse o tempo todo puxando do http://www.muipnotic.com como faço isso??

                    (Required)
                    (Required, will not be published)