Servicio no disponible temporalmente
Cuando por alguna razón tu página web tiene algún problema y se ve mal (puede ser por una mala actualización, por una caida de la base de datos, porque alguien entra mientras cambias o subes nuevos contenidos,…), en esos momentos no es recomendable dejarla online por muchos motivos. Pero principalmente porque los usuarios no van a saber que sucede si no hay un mensaje aclaratorio que se lo explique, y tal vez aún más importante, porque Google o cualquier otro buscador puede que cachee tu página y que durante unos días piense que todo el contenido de tu web es “Could not connect to DB”, destrozando tu bien trabajado posicionamiento.
Creo que la mejor solución para esos momentos es tener preparada una página que contenga las cabeceras de “Servicio no disponible temporalmente” y que además informe del problema y de que pronto todo estará solucionado. Al igual que se muestra en la cabecera el estado 200 cuando una página se carga correctamente, el 404 cuando un página no es encontrada o el 301 para redirigir definitivamente una página a otra, podemos mostrar el 503 (Service Temporarily Unavailable) cuando nos suceda algo de lo que hemos comentado.
Una manera muy sencilla de hacerlo (usando PHP y Apache), es teniendo preparado un directorio (por ejemplo llamado `httpdocs.unavailable`) preparado con los siguientes contenidos:
• Un archivo .htaccess: Éste simplemente se tiene que encargar de redirigir todas las peticiones a index.php. Para ello, y como solo meteremos además de éste el archivo index.php, no hay más que decirle que todas las 404 se redirijan a index.php. Para hacerlo solo hay que llenar con una línea el .htaccess, y esa línea es:
ErrorDocument 404 /index.php
• El index.php: Se encargará de mostrar las cabeceras de servicio temporalmente inaccesible, y de mostrar también una página informativa para el usuario. Por ejemplo:
<?php
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 36000');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Your web's title</title>
</head>
<center>
<br /><br /><br /><br /><br /><br />
<p style="width:500px; background:#DDD;
border:1px solid #666; padding:1em;">
We are making some changes on the web, please try it later.
</p>
</center>
</body>
</html>
Con esta página, los usuarios sabrán a que atenerse, y los buscadores sabrán que la página no está disponible en estos momentos y que debe volver más tarde a rastrearla. En el caso del ejemplo le hemos pedido que vuelva 10 horas después.
Entonces, si tienes preparado este directorio `httpdocs.unavailable` con estos dos archivos en el, cuando tengas uno de los mencionados problemas solo tienes que renombrar tu verdadero `httpdocs` a `httpdocs.bkp` (por ejemplo) y `httpdocs.unavailable` a `httpdocs`.











1 Comentario
Tags: 