Redirecionar páginas - 301 Redirect

Algumas vezes precisamos mudar o nome de uma página ou de um site. Os motivos são inúmeros: redesign do site, mudança na arquitetura de informação, mudar um blog de lugar ou até mudar a URL do site. A mudança pode ser simples como copiar os arquivos de um servidor para outro ou renomear o nome de um arquivo, porém se alguém acessar o endereço antigo guardado nos favoritos ou vindo de um link de uma busca pode cair em uma página de erro 404, página não encontrada.

Outro problema que acontece quando mudamos de URL ou nome de arquivo, é que os sites de busca como o Google fornecem uma pontuação levando em conta cada link que aponta para o site. O sistema do Google que contabiliza estes links é chamado de PageRank. Perder todos os links pode não ser uma boa idéia para o SEO, pois seu PageRank poderá ter uma queda muito grande. Então o que podemos fazer para resolver a situação? Usar um redirect.

O redirect ou redirecionamento é uma ação automática que redireciona o visitante da página antiga para a nova. A maneira mais simples de redirecionar é usando a meta tag refresh, que possibilita orientar ao navegador a ação de transferir o visitante para uma URL determinada. Apesar de ser simples, ela não é a mais indicada, pois ela não é uma mensagem vinda direta do servidor web para os navegadores e robôs de busca (spiders). A melhor forma é informar é direto no cabeçalho HTTP que a página mudou de lugar. Não vou explicar em detalhes o processo, mas vamos ver como funciona no geral.

Quando nossos navegadores requisitam uma página ao servidor, ele recebe um código de resposta. Por exemplo, o 200 é quando ele encontra o endereço digitado. Ele envia a página para o navegador e aguarda outras requisições. Os códigos mais conhecidos são o erro 500 que é um erro do servidor e o 404 que já vimos. Além destes, existem dois que permitem que o servidor informe que uma página mudou de lugar. Eles são os códigos de redirecionamento 301 e 302.

A diferença entre os dois é que o 301 faz um redirecionamento permanente e o 302 um redirecionamento temporário. Cada um tem a sua função, mas vou falar apenas do primeiro. Se você tem um blog, a chance do seu servidor ser Apache é grande, então bastara você criar um arquivo .htaccess, ou editá-lo se já tiver, e colocar a regra de redirecionamento.

Não vou explicar como funciona o .htaccess, pois este artigo explica bem o assunto. Para exemplificar o redirect com htaccess e também o redirecionamento em asp e php, vou usar uns exemplos deste site:

Redirecionamento com Apache

RewriteRule (.*) http://www.marketingdebusca.com.br/$1 [R=301,L]

Redirecionamento com PHP

Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.marketingdebusca.com.br” );
?>

Redirecionamento com ASP

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently" Response.AddHeader "Location", " http://www.marketingdebusca.com.br"
>

Fazendo desta maneira, você informa corretamente aos sites de busca da sua “mudança” e facilita que o conteúdo continue a ser acessado nas buscas. Simplesmente trocar os nomes dos arquivos pode deixar os visitantes órfãos de conteúdo. O meta refresh e redirecionamento via javascript podem ser considerados até Black Hat SEO, por isto, cuidado na hora de decidir como redirecionar suas páginas.

39 Comentários »

  1. Hypercast » Reescrevendo URLs com o Apache

    março 19, 2007 @ 10:03 pm

    [...] Li um artigo bastante elucidativo no site do Paulo Rodrigo Teixeira sobre redirecionamento de páginas em seu aspecto relacionado ao SEO. Inclusive até foi discutido um pouco sobre isso no post que mostrava técnicas que alguns sites estão usando para melhorar, ilicitamente, sua indexação e melhorar suas  posições na ferramenta de busca do Google, inclusive aparecendo como resultados de buscas que não têm relação alguma com o conteúdo do site em si. [...]

  2. Lucas Castro

    março 19, 2007 @ 11:34 pm

    boa, tem bastante gente precisando desse tipo de informação

  3. Paulo

    março 20, 2007 @ 3:05 am

    Uma dúvida, quando você muda a URL de uma página sua e o crawler do google visita seu site ele simplesmente não irá atualizar esta página com o novo URL mantendo sua pontuação (leia-se pagerank) ? Claro que até isso os visitantes irão encontrar um 404, mas o google nao atualizaria está página com o endereço novo?

    Grato
    Paulo Benito

  4. Paulo Rodrigo Teixeira

    março 20, 2007 @ 1:18 pm

    Valeu Lucas. Vou complementar o assunto ainda esta semana de der.

    Paulo Benito,

    Não. Tal como os visitantes recebem o 404 o spider também receberia esta rsposta do servidor.

    Mesmo que o Google “descobra” a nova página, ela não teria links apontando para ela e hoje links para página internas também levam pontos.

    Grande abraço,

  5. primeiro de abril SEO | Marketing de Busca

    abril 2, 2007 @ 2:02 pm

    [...] Agora todos já sabem que o Matt pregou uma peça, vamos ver outras brincadeiras do dia da mentira de 2007. Antes, vale a dica que o Matt fez. Como ele queria apenas que temporáriamente sua home fosse diferente, ele usou um redirect 302. O esquema é parecido com o redirect 301, com a diferença que o segundo é temporário. [...]

  6. Rozenblitz

    abril 11, 2007 @ 1:42 am

    E fazer uma página de erro 404 com um menu ou mapa do site, seria uma boa idéia??

  7. Paulo Rodrigo Teixeira

    abril 11, 2007 @ 9:15 am

    Oi Rozenblitz,

    O Google associa cada página a um conteúdo. Se a página que ele associou o conteúdo mudar e não contiver mais as palavras-chave relacionadas, apenas links, ele irá visitar os links, mas os links apontando para esta página não passarão os pontos completos (PageRank) para as internas. Além diso, vai causar uma necessidade do Google ter que interpretar qual é a nova página que tinha aquele assunto.

    Grande abraço,

  8. Evitando conteúdo duplicado em seu site ou blog · No Topo das Buscas

    abril 14, 2007 @ 3:09 pm

    [...] A melhor maneira para redirecionar páginas é utilizando um redirecionamento amigável aos mecanismos de busca(search engine friendly) conhecido como redirecionamento 301 (301 redirect). O artigo Redirecionar páginas - 301 Redirect fala bem sobre esse assunto e dá exemplos de scripts nas linguagens ASP, PHP e Apache.   Se você tiver dificuldades, falarei detalhadamente sobre a Canonicalização de URLs, todas as possibilidades e soluções possíveis para esse problema em um próximo artigo. Aguardem! [...]

  9. Daniel Rizzo

    julho 6, 2007 @ 3:23 pm

    Francamente num entendo uma coisa, eu fiz um redirecionamento do tipo 301 e mesmo assim no meu dashboard num aparecem os blogs que linkaram pro endereço antigo….Será que tem algum erro?

  10. Paulo Rodrigo Teixeira

    julho 6, 2007 @ 6:22 pm

    Daniel,

    O que pode acontecer é que as pessoas lembram do link antigo e continuam apontando para ele. Outra coisa, que não tenho certeza, é que o teu backlink só foi reconhecido após a migração.

    Se o 301 está funcionando, então tá ótimo.

    Grande abraço

  11. rodrigo

    julho 10, 2007 @ 8:28 pm

    Pegando o gancho da conversa…tenho uma imobiliária como potencial cliente que na busca por um melhor posicionamento, registrou 8 domínios para seu site.

    Porém, estes não estão sendo redirecionados para o site, ou seja, todos apontam para o mesmo DNS.

    Em termos de otimização, além do redirecionamento para um único dominio, há alguma dica nesse sentido ?

    No aguardo e abraços

  12. Teen

    julho 31, 2007 @ 2:13 pm

    Muito boa dica…. Estava procurando alguma forma de manter o pagerank de meu antigo site.

  13. Paulo Jardel

    agosto 29, 2007 @ 5:54 pm

    Fiz o redirecionamento do site http://www.oscaras.com.br para http://www.oskaras.com via .htaccess mais não mudou nada.

    quem acessar http://www.oscaras.com.br vai continuar aparecendo a página index que coloquei lá.

    Alguém pode me dar uma ajuda??

  14. sarva

    setembro 29, 2007 @ 1:02 am

    O pagerank é legal mas AINDA não está com esta bola toda.

  15. Simba

    outubro 19, 2007 @ 9:26 am

    Tenho um site pessoal no UOL Sites e gostaria de redirecioná-lo com o 301 para um outro domínio. O problema é que este servidor do UOL não roda PHP nem ASP e também não deixa criar nenhum arquivo que inicie por “.”, assim não dá pra criar o .htacess. Alguém pode me ajudar? Obrigado!

  16. Rafael

    novembro 6, 2007 @ 12:26 am

    Olá amigo. o seu artigo foi muito util. Implementei o redirecionamento em php como vc me falou no portal http://opiniaoweb.com . Gostei muito do resultado. Muito obrigado. Precisando de ajuda eh soh falar!

  17. Liliam

    novembro 20, 2007 @ 10:37 am

    Olá amigo! Não sei se pode me esclarecer uma dúvida mas vamos lá. Eu tenho um site hospedado no terra http://paginas.terra.com.br/informatica/ariazambuja/cariboost1/index.html e tenho um dominio http://www.ariazambuja.com.br porém qdo é feito o redirecionameto por um desses sites que faz gratuito, a página só abre uma vez depois não abre mais. Ou então fica aparecendo gifs em todas as páginas. Vocês sabem o que pode estar acontecendo? Devo trocar de “redirecionadora”?

    Desde já agradeço.

  18. Tráfego na web » Blog Archive » Dicas SEO para blogs do Google

    fevereiro 12, 2008 @ 1:13 pm

    [...] Ao mover um domínio ou página, use redirect 301. [...]

  19. Web Designer Demétrios Martins

    março 29, 2008 @ 10:40 am

    Boma matérias, estava procurando isso para fazer no meu site http://www.mdesigner.com.br

  20. run

    maio 8, 2008 @ 2:12 pm

    fiz redirect no .htaccess de dois sites/dominios para este o principal: http://yogalib.com mas o segundo não está legal. Alguuém tem a sitaxe correta do .htaccess para redirecionar dois DOMINIOS no mesmo diretório para um terceiro?

  21. Leandro Feijó

    maio 9, 2008 @ 12:31 pm

    Percebi que a URL http://marektingdebusca.com.br utiliza redirecionamento 302. Qual a razão de utilizar este tipo de redicionamento ao invés do 301?

    Abraço

  22. Guilherme

    maio 12, 2008 @ 12:36 am

    ótimo post cara, já havia lido a algum tempo e acabei voltando com mais dúvidas veja se vc consegue me responder

    Digamos que eu tenha um site1 com PR5 e o site2 com PR2, digamos que eu compre o domínio do site1 (PR5) e faça um redirecionamento para o site2 do tipo 301 Redirect, que trasfere o PR para o site de destino. Nesse caso o PR do site2 seria somado ao PR do site1 ficando com PR7 aproximadamente?????

  23. Leandro Feijó

    maio 12, 2008 @ 2:44 pm

    Andei pesquisando pelas diferencas entre as formas de redirecionamento e acabei encontrando isso no seomoz:

    “Other options for redirection, like 302s (temporary redirects), meta refreshes, or Javascript are poor substitutes, as they generally will not pass the rankings and search engine value like the 301.”

    E ae?

  24. Eduardo Costa

    junho 17, 2008 @ 9:43 am

    Como fazer isso em 150.000 páginas HTM que mudarão para páginas PHP?
    Não posso usar a solução ASP e nem a PHP..
    Uso meta refresh em cada uma delas ou faço o .htacess com 150.000 linhas ? :-(

  25. Sabe como mudar de dominio sem perder trafego e backlinks? | Fique Rico Online

    junho 17, 2008 @ 2:55 pm

    [...] http://www.marketingdebusca.com.br/redirecionar-paginas-301-redirect/ > [...]

  26. Leandro Feijó

    junho 19, 2008 @ 2:32 pm

    Alguém sabe como funciona esse tipo de redirecionamento no Tomcat?

  27. Radcliffe

    julho 7, 2008 @ 4:31 pm

    Mudei de endereço já tem algum tempo, ocorre que no 50webs.com não tem a possibilidade de redirecionar com nenhuma técnica informada.

    O que seria melhor, deixar a index com o aviso de mudança, e com o novo endereço, ou usar o refresh, ouvi dizer q o refresh é interpretado pelo google como tentativa de fraude.

    Se alguem puder me ajudar

    Mudar do http://danielradcliffebrasil.50webs.com para o http://www.radcliffebrasil.com

    Obrigado

  28. HTTP Headers - o cabeçalho oculto | Marketing de Busca

    agosto 1, 2008 @ 3:22 pm

    [...] - Movido Permanentemente. Muito útil para redirecionar páginas. Serve para redirecionar suas URLs que foram movidas permanentemente. Assim você evita páginas de [...]

  29. nathalia tonet

    agosto 1, 2008 @ 4:23 pm

    Oi, tenho uma dúvida em relação ao redirect 301..
    Se tenho uma página que quero transferir a reputação e ranking para outra página, utilizo um redirect, (redirect 301).
    Normalmente, o que acontece, é que a página em que o código foi colocado sai do ranking e a que foi redirecionada de destino, aparece no lugar da outra.

    O que acontece se eu retiro o código 301 da página antiga? ela volta a indexar?
    Como a página antiga tem uma porção de links apontando pra ela, se eu coloco o 301 e depois apago a página, eu perco posições no ranking da página nova por causa disso?

    Agradeço muito, caso alguem possa me responder!

  30. Web Designer Demétrios

    agosto 5, 2008 @ 3:41 pm

    Preciso fazer um redirecionamento da seguinte forma: quando o usuário digitar sem WWW vai para o link com o WWW, exemplo:

    usuário digita:
    site.com.br
    ou site.com.br/pagina.php

    automáticamente vai para:
    http://www.site.com.br
    http://www.site.com.br/pagina.php

    Como fazer isso pelo .htaccess?

  31. Paulo Rodrigo Teixeira

    agosto 5, 2008 @ 5:10 pm

    Web Designer Demétrios,

    Tenta isto aqui no .htaccess:

    RewriteCond %{HTTP_HOST} ^site\.com\.br$ [NC]
    RewriteRule ^(.*)$ http://www.site.com.br/$1 [R=301,L]
    

    Deve resolver.

    Abração

  32. Paulo Rodrigo Teixeira

    agosto 9, 2008 @ 10:21 pm

    Oi Nathalia Tonet,

    Respondendo as perguntas:
    Restirando o redirect 301 volta. Acabei de fazer isto por coincidência. É só aparecer uns links novos apontando para a página que indexa.

    Quanto aos links, vou responder diferente da pergunta. Se a página que fazia o redirect morrer, os links não são mais contados. Ele tem que ficar ad eternum.

    Valeu e espero ter ajudado.

  33. Thiago Henrique

    agosto 11, 2008 @ 11:54 pm

    Olá, como faço pra redirecionar arquivos .html ? ?

    O servidor é IIS., mas não posso usar o código ASP na página HTML.

    Obrigado

  34. Paulo

    setembro 12, 2008 @ 9:17 pm

    ME ajudou muito mesmo obrigado pela ajuda…

  35. Guilherme

    setembro 20, 2008 @ 9:00 am

    Legal, to fazendo isso no meu site..
    pois tava redirecionando pelo ip.
    me ajudo bastante
    obrigado!!

  36. Jackson Rubem

    outubro 17, 2008 @ 9:49 am

    Tenho um blogspot, personalizado por mim, e hospedado no próprio servidor do google. Uso o domínio direcionado para ele que é http://www.obrasileirinho.com.br . Acontece que tenho outro domínio http://www.obrasileirinho.net . Como faço para usar o 301 para apontar o domínio http://www.obrasileirinho.net para http://www.obrasileirinho.com.br . Salvo engano tinha usado o “alias” . Grato pela resposta.

  37. Antonio Loppes

    dezembro 15, 2008 @ 8:21 am

    Bom dia pessoal,
    Por favor sou iniciante no assunto embora tenho um simples site a 5 anos, mas preciso de ajuda;

    O meu site era o:
    http://paginas.terra.com.br/informatica/toninhoijano/pagina/index.htm

    Estava indo muito bem, mas era um site de paginas pessoais do terra, enfim o terra acabou com os sites de paginas pessoais e quando clica no link acima abre uma pagina de propaganda do terra.

    Bem, o negócio é o seguinte:
    Arranjei uma hospedagem e um domíno pago
    http://www.netcursos.net/

    Fiz o cadastramento do meu novo dominio mas anterior do terra esta atrapalhando, pois a url antiga não sai do google, preciso que ela sai do google para a nova url pegar a posição da antiga, que era muito boa,
    A antiga ainda esta em cache e não deixa a url nova entrar completa pois os sites são iguais, só mudeio o domínio e o nome das páginas.

    NÃO POSSO ENTRAR NO GOOGLE EM REMOVER, POIS NÃO TENHO COMO COLOCAR O CÓDIGO PARA REMOVER, POIS NÃO EXISTE MAIS ESTA HOSPEDAGEM.

    Não sei se fui claro mas se puderem me ajudar agradesco muito !!!
    Atenciosamente,
    Toninho
    toninho@netcursos.net

  38. phpbb to vbulletin -> Done! - vBulletin Brasil

    dezembro 17, 2008 @ 7:28 pm

    [...] no servidor Redirecionamento 301 em PHP, ASP, htaccess, Coldfusion e Ruby on Rails | Redirect | Marketing de Busca Portugal [...]

  39. MENTALIDADE

    dezembro 22, 2008 @ 11:19 pm

    Estou fazendo o teste deste código em meu site, o Mentalidade.com, e parece que, quando eu mudo de página para outra, no mesmo domínio, se eu não usar um redirecionamento, eu perco os links e caem as minhas visitas. Isso é verdade.

TrackBack URI

Comente