
Vai tirar seu sítio virtual do ar? Vai colocá-lo em manutenção? Seja bem educado e avise claramente a dois importantes usuários :
- Ao Google
- Ao resto
Se o Google visitar seu sítio quando ele estiver fora do ar e não encontrar suas páginas, você será penalizado no ranking das buscas. Para que isto não aconteça, siga as orientações oficiais do Google: acesso a todas suas páginas deve retornar um código de status HTTP 503.
Isto é mais fácil falar do que fazer. Mas fique tranquilo. Vou te ensinar a configurar o Apache pra fazer isto. Ah! Isto é pra Linux, claro!
O objetivo é redirecionar todo mundo que tentar visitar seu sítio para uma página que avisa a seus usuários humanos que está fora do ar. O Google terá seu querido status 503. Nada de especial precisará estar instalado no servidor.
Vamos fazer, ou melhor, roubar e adaptar, um shell script para retornar o 503 e avisar aos usuários. Eis o arquivo 503.sh:
#!/bin/sh
echo Status: 503
echo Content-Type: text/html; charset=iso-8859-1
echo Retry-After: 3600
#echo Retry-After: Sat, 8 Ago 2009 23:59:59 GMT
echo ""
cat <<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>Estamos em manutenção</title>
</head>
<body>
<h1>Estamos em manutenção</h1>
<p>Foi mal! Estamos com problemas.
<p>Em breve voltaremos.</p>
</body>
</html>
EOF
Coloque-o na raiz de seu servidor e dê permissão de execução e acesso a todos:
chmod a+rx /var/www/503.shO texto entre o
cat << EOF e o EOF é o código HTML que aparecerá para o usuário. O macete aí está nos comandos echo que configuram o código de status da página e manda o cabeçalho Retry-After. Este cabeçalho avisa ao Google quando ele pode novamente tentar visitar suas páginas. Pode ter um valor em segundos (tente daqui a uma hora) ou uma data exata. Agora é a vez de escalpelar o pele vermelha. Vá ao diretório de configuração do Apache e crie um arquivo chamado manutencao.conf. No arquivo de configuração de seu sítio escreva esta linha:
#Include /etc/apache2/manutencao.conf. Na hora que o circo pegar fogo, bastará descomentá-la.Precisaremos do mais legal módulo do Apache, o mod_rewrite. Certifique-se que ele está sendo carregado no seu apache vendo se "rewrite_module" aparece no output do comado
/usr/sbin/apache2ctl -t -D DUMP_MODULES. Costuma ser instalado por default.Eis a versão final do arquivo manutencao.conf:
RewriteEngine On
RewriteCond %{REMOTE_HOST} !^201\.37\.52\.58
RewriteRule . /503.sh [passthrough]
ScriptAlias /503.sh /var/www/503.shSugiro que vá fazendo este arquivo aos poucos e testando a cada passo que der. Eis um passo a passo:
- Coloque a linha do ScriptAlias. Tente acessar: http://dominio.com.br/503.sh e veja se aparece a página de aviso de manutenção. Pra ter certeza mesmo, cheque na aba NET do Firebug se o código de retorno é mesmo 503.
- Agora ligue o RewriteEngine e coloque a RewriteRule. Toda página do seu sítio deve agora apresentar a mensagem de manutenção.
- A cereja no bolo é permitir o acesso normal ao IP da sua máquina com o RewriteCond. Se você tem um IP dinâmico, cheque seu valor de seu IP corrente.
Não esqueça de reinicializar o Apache a cada passo:
/usr/sbin/apache2ctl restart.Prontinho. Sua configuração está feita.
O ideal é fazer isto tudo com calma. Quando todo o esquema estiver pronto, bastará descomentar uma linha do arquivo de configuração. Não deixe pra aprender isto quando o circo estiver pegando fogo. Com calma dá até pra bolar até &emdash; quem diria &emdash; uma página de manutenção divertida.
0 comentários:
Postar um comentário