SEO - Redirect 301 vs 302
22 Jul 2010Uma das primeiras preocupações com o blog foi como fazer o redirect de http://pablocantero.com para http://pablocantero.com/blog e ao mesmo tempo ser indexado corretamente.
Não tenho conteúdo em http://pablocantero.com, mas algum dia eu posso colocar algo, portanto quero que os motores de busca indexem http://pablocantero.com e http://pablocantero.com/blog.
Depois de uma busca no Google, encontrei vários comentários não muito conclusivos, onde acabei assumindo a seguinte definição:
301 - Redirect permanente
Redirect 301: http://pablocantero.com para http://pablocantero.com/blog.
Redirect 301: http://pablocantero.com para http://outrosite.com.
Em ambos os casos o motor de busca indexará somente as páginas targets http://pablocantero.com/blog e http://outrosite.com.
302 - Redirect temporário no mesmo domínio
Redirect 302: http://pablocantero.com para http://pablocantero.com/blog.
O motor de busca indexará pagina source http://pablocantero.com.
302 - Redirect temporário para outro domínio
Redirect 302: http://pablocantero.com para http://outrosite.com.
O motor de busca indexará a página target http://outrosite.com.
No meu caso estou usando o 302, pois quero que tanto http://pablocantero.com e http://pablocantero.com/blog sejam indexados. Também acredito que seja o mais correto para o meu caso uso segundo a especificação RFC 2616.
The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests.
Cuidado com o Meta refresh
Segundo o Google e W3C não é recomendado usar o redirect usando Meta refresh
This meta tag sends the user to a new URL after a certain amount of time, and is sometimes used as a simple form of redirection. However, it is not supported by all browsers and can be confusing to the user. The W3C recommends that this tag not be used. We recommend using a server-side 301 redirect instead.
Redirect 301 Server-side PHP
<?php
Header("HTTP/1.1 301 Moved Permanently");
header("Location: http://pablocantero.com/blog");
exit();
?>
Redirect 302 Server-side PHP
<?php
header("Location: http://pablocantero.com/blog");
exit();
?>
Principais referências
- Matt Cutts - SEO advice: discussing 302 redirects. Segundo esse blog ele é o “the search engine super master genius at google”.
- How the Yahoo! Web Crawler Handles Redirects.
- Meta tags - Google Webmaster Tools Help.
- Ferramenta para checar o tipo de redirect que está sendo utilizando.