(convém ter lido a parte 1 e a parte 2 primeiro)
Na parte anterior, tínhamos deixado todos os endereços redireccionados para os novos equivalentes, excepto a página frontal, que avisa os visitantes da mudança, fazendo assim com que eles tenham um incentivo para passar a ir directamente ao novo endereço no futuro, actualizar bookmarks, links, etc., já que o redireccionamento total torna “fácil” demais continuar a utilizar o endereço antigo (e ser imediatamente redireccionado).
Até aqui, tudo bem. Mas… isto anula um bocado uma das vantagens do redireccionamento permanente (301), não é? O facto de os motores de busca deixarem de indexar o site antigo, e “saberem” que ele agora está noutro sítio. Neste caso, porém, há a excepção da página principal, que continua a ser indexada (e não é isso que queremos).
A solução é incluir uma excepção à excepção.
Ou seja, redireccionar todos os endereços, excepto a página principal, excepto (na excepção da página principal) se o visitante for um motor de busca. Uff!
Como? Simples:
RewriteCond %{HTTP_USER_AGENT} !Googlebot
RewriteRule ^/$ / [L]
RewriteCond %{HTTP_USER_AGENT} !Googlebot
RewriteRule ^/index.html /index.html [L]
RewriteRule ^/(.*) http://www.sitenovo.com/$1 [R=301,L]
Incluo só o Googlebot, mas poderia incluir outros, como o msnbot, o Yahoo! Slurp, etc. (seria uma linha para cada um ((tecnicamente, poderia juntar as expressões regulares, e fazer isto com menos linhas, mas prefiro dar os exemplos assim, de forma a serem mais claros, mesmo para quem não seja técnico))). Repare-se no ponto de exclamação (!) antes de “Googlebot”: trata-se do sinal de negação; ou seja, queremos que o redireccionamento que se segue seja só para visitantes que não o Googlebot.
Já está? Nope. Falta mais uma coisa.
O bot do Technorati ((isto é verdade actualmente; é possível que eles resolvam este problema no futuro.)). Este bot tem um problema: segue os redireccionamentos, mas não “entende” o significado do 301 (isto é, que o site mudou de sítio permanentemente). Qual é o problema disto? Simples: ele não deixa de visitar e indexar o site antigo, e passa a “ver” dois blogs iguais (o novo, e o antigo que, graças ao redireccionamento, lhe parecerá ter exactamente o mesmo conteúdo). Isto, obviamente, não é desejável.
A solução, então, é não permitir mais o acesso do bot do Technorati ao site antigo. Como? É só acrescentar, antes dos outros redireccionamentos (mas depois do RewriteEngine on), o seguinte:
RewriteCond %{HTTP_USER_AGENT} Technoratibot
RewriteRule .* - [F,L]
Aquele “F” na RewriteRule vem de “Forbidden” (proibido). Desta forma, o Technoratibot “bate com a cara na porta” algumas vezes, e acaba por desistir; ele verá o blog antigo como “morto”, e, assim, só verá o blog novo (que para ele começará do zero, mas aí não há volta a dar). Se um dia o Technorati perceber o que é um 301, isto deixará de ser necessário.






0 Responses to “Mudanças de endereço e Redireccionamentos, parte 3”