Página de manutenção sem interferir no ranqueamento do Google e do Yahoo! SEO na prática.
Author: Ricardo Soares - Postado em: 07/10/2010
Relacionado as categorias: Guias e Tutoriais, Tecnologia | 5 Comments
Recentemente precisei fazer um redirecionador para uma loja virtual, a ideia era garantir que qualquer arquivo/página que fosse requisitado ao servidor encaminhasse o usuário para uma página falando sobre a manutenção do sistema, parece uma coisa boba (e é uma coisa boba), mas o aplicativo deveria continuar funcional para as pessoas que estivessem acessando este a partir da rede da empresa para que pudessem fazer as devidas manutenções no aplicativo, a página também não poderia responder de forma a confundir os robôs de pesquisa fazendo estes diminuírem a qualificação do site ganho com tanto custo.
Após uma rápida pesquisa encontrei vários exemplos, porem havia então uma discussão entre utilizar o código 302 (Movido temporariamente) ou código 503 (Serviço não disponível), segundo observação de Berghausen, administrador do grupo Google Webmaster Help, o Google compreende ambos os códigos como sendo problemas programados e temporários, porem sua preferencia seria pelo 503, por este motivo optei por utilizar o 503 ao invés do 302, como a maior parte das pessoas o faziam, além do que o erro me fazia mais sentido, a página não havia sido movida e estava sim indisponível.
O script final ficou conforme segue:
# inicio do arquivo # Informa o Apache que a página de mensagem do 503 é o index.html
ErrorDocument 503 /index.html# Configura o Apache para utilizar o rewrite
Options +FollowSymlinks
RewriteEngine on
RewriteBase /# Trocar o endereco 999.999.999.999 abaixo para seu endereco de IP
RewriteCond %{REMOTE_HOST} !^999\.999\.999\.999
# Informa que a regra eh para todas as paginas
RewriteCond %{REQUEST_URI} ^(.*)$
# Informa que a pagina index.html foge a regra
RewriteCond %{REQUEST_URI} !/index\.html$
# Informa que a imagem index_indisponivel.gif foge a regra
RewriteCond %{REQUEST_URI} !/index\_indisponivel\.gif$
# Direciona usuario para index.html setando o erro para 503, forcando
# o apache a seguir para a pagina de erro
RewriteRule ^(.*)$ /index.html [R=503]<IfModule mod_headers.c>
# fim do arquivo
# Caso o modulo de header esteja ativo entao informa ao robo
# para visitar a pagina novamente dentro de no mínimo 10h.
Header set Retry-After: 36000
</IfModule>
Observem que tive que informar que tanto o arquivo de apresentação da mensagem quanto a imagem ilustrativa não faziam parte da regra. Com este fizemos uma mensagem útil tanto para humanos quanto para máquinas.
Referências:
Descritivo de códigos de comunicação para o protocolo HTTP/HTTPs:
http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Posicionamento do Google quanto aos erros:
http://groups.google.com/group/Google_Webmaster_Help-Indexing/browse_thread/thread/32221070b5595d2c?pli=1
Outros exemplos/artigos sobre o assunto:
http://judebert.com/progress/archives/299-Blog-Maintenance-and-the-503-Status.html
http://truizz.com/tutorial/ler.php?ler=126&id=0&menu=42
http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html
http://25yearsofprogramming.com/blog/20070704.htm
http://www.mdig.com.br/index.php?itemid=73
http://www.htmlstaff.org/ver.php?id=1457
http://www.findlinuxhelp.com/archives/howto/webmaster-howto/turn-your-website-into-maintenance-mode-seo-friendly-solution-using-htaccess-file/
Comments
5 Responses to “Página de manutenção sem interferir no ranqueamento do Google e do Yahoo! SEO na prática.”
Leave a Reply
Nestes links o autor debate sobre como direcionar o usuário para uma parte do site caso o navegador deste seja mobile.
http://ohryan.ca/blog/2009/02/18/revisiting-mobile-redirection-using-htaccess-rewrite-rules/
http://www.sitepoint.com/forums/showthread.php?t=620690
http://dev-tips.com/featured/redirect-iphone-blackberry-palm-requests-with-htaccess
Aqui um link de aplicativo que constroi para você o htaccess
http://www.htaccesseditor.com/pt.shtml
Outra forma de aplicar o comando acima porem utilizando PHP e permitindo com que vários IPs sejam liberados.
if ($_SERVER[‘REMOTE_ADDR’]!=’IP1′ && $_SERVER[‘REMOTE_ADDR’]!=’IP2′) {
header(‘HTTP/1.1 503 Service Temporarily Unavailable’);
header(‘Status: 503 Service Temporarily Unavailable’);
header(‘Retry-After: 7200’); // in seconds
header(‘Location: /index.html’);
exit();
}
Link com diversos códigos de comandos entre apache e navegador
http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Seo is the strategy of receiving higher placement in the all-natural search engine results
page of Google.com, Yahoo and also MSN. The internet search engine that matter the best are actually Google with a 62% advertising portion Yahoo along with
20% and also MSN floating all around along
with approximately 10% in market reveal ‘that means the online search
engine you need to pick is actually Google trigger Google.com undoubtedly possesses the highest percentage of individuals are looking
on the net.