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.
Hypercast » Reescrevendo URLs com o Apache said,
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. [...]
Lucas Castro said,
Março 19, 2007 @ 11:34 pm
boa, tem bastante gente precisando desse tipo de informação
Paulo said,
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
Paulo Rodrigo Teixeira said,
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,
primeiro de abril SEO | Marketing de Busca said,
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. [...]
Rozenblitz said,
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??
Paulo Rodrigo Teixeira said,
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,
Evitando conteúdo duplicado em seu site ou blog · No Topo das Buscas said,
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! [...]
Daniel Rizzo said,
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?
Paulo Rodrigo Teixeira said,
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
rodrigo said,
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
Teen said,
Julho 31, 2007 @ 2:13 pm
Muito boa dica…. Estava procurando alguma forma de manter o pagerank de meu antigo site.
Paulo Jardel said,
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??
sarva said,
Setembro 29, 2007 @ 1:02 am
O pagerank é legal mas AINDA não está com esta bola toda.
Simba said,
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!
Rafael said,
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!
Liliam said,
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.
Tráfego na web » Blog Archive » Dicas SEO para blogs do Google said,
Fevereiro 12, 2008 @ 1:13 pm
[...] Ao mover um domínio ou página, use redirect 301. [...]
Web Designer Demétrios Martins said,
Março 29, 2008 @ 10:40 am
Boma matérias, estava procurando isso para fazer no meu site http://www.mdesigner.com.br
run said,
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?
Leandro Feijó said,
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
Guilherme said,
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?????
Leandro Feijó said,
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?
Eduardo Costa said,
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 ?
Sabe como mudar de dominio sem perder trafego e backlinks? | Fique Rico Online said,
Junho 17, 2008 @ 2:55 pm
[...] http://www.marketingdebusca.com.br/redirecionar-paginas-301-redirect/ > [...]
Leandro Feijó said,
Junho 19, 2008 @ 2:32 pm
Alguém sabe como funciona esse tipo de redirecionamento no Tomcat?
Radcliffe said,
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
HTTP Headers - o cabeçalho oculto | Marketing de Busca said,
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 [...]
nathalia tonet said,
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!
Web Designer Demétrios said,
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?
Paulo Rodrigo Teixeira said,
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
Paulo Rodrigo Teixeira said,
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.
Thiago Henrique said,
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