Cómo tratar los periódos de inactividad de los sitios web

lunes, 24 de enero de 2011

De vez en cuando nos preguntan si la visibilidad de un sitio web en los resultados de búsqueda de Google puede tener un impacto, de forma negativa, si este no está disponible cuando Googlebot intenta rastrearlo. Algunas veces el llamado “downtime” (los periodos de inactividad) no se puede evitar: un webmaster podría decidir poner un sitio web offline debido a que está haciendo trabajos de mantenimiento en la web, o por requerimientos legales o culturales. Las desconexiones, o “apagones”, en los sitios web que no se marcan como tales pueden afectar de forma negativa la reputación de un sitio web. Si bien no podemos garantizar el rastreo, indexación o posicionamiento, hay métodos para tratar los periódos de inactividad ya planeados en un sitio web de una manera, que por lo general, no afecta negativamente a la visibilidad de tu sitio web en los resultados de búsqueda.

Por ejemplo, en lugar de devolver un código de estado HTTP 404 (No encontrado) o mostrar una página error con el código de estado 200 (OK) cuando se solicita una página, es mejor que devuelva un código HTTP 503 (Servicio no disponible), el cual le dice a los rastreadores de los motores de búsqueda que este tiempo “offline” o de inactividad es temporal. Por otra parte, permite a los webmasters ofrecer a los usuarios que visitan la página web y a los robots un tiempo estimado de cuándo estará de nuevo disponible. Si se sabe, la duración de este periodo en segundos o la fecha estimada y la hora de cuándo este periodo finalizará puede ser especificado en encabezado opcional “ Retry-After header ”, el cual podría ser usado por Googlebot para determinar cuándo rastrear la URL de nuevo.

Devolver un códifo de estado HTTP 503 puede ser una buena solución para otras muchas situaciones. Encontramos un montón de problemas con sitios web que devuelven un 200 (OK) por errores en el servidor, como “downtime”, por saturación de ancho de banda o por páginas temporales (como las de “En construcción”). El código de estado HTTP 503 es la solución del webmaster para todas estas situaciones. Para periodos planificados de inactividad en el servidor, como trabajos de mantenimiento en el hardware, es buena idea tener un servidor disponible para que devuelva el 503. Sin embargo, es importante no tratar el 503 como una solución permanente: los 503 de larga duración se pueden ver eventualmente como una señal de que el servidor está permanentemente no disponible y eso puede dar lugar a que eliminemos las URL del índice de Google.

header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Retry-After: Sat, 8 Oct 2011 18:27:00 GMT');
Si estableces la respuesta 503 (Servicio no disponible), la información del “header” podría parecerse a este cuando utilizamos PHP

Parecido a cómo puedes crear tus páginas 404 más útiles a tus usuarios , es además buena idea ofrecer un mensaje 503 personalizado explicando la situación a los usuarios y haciéndoles saber cuándo el sitio web estará disponible de nuevo. Para más información sobre los códigos de estado HTTP, por favor lean RFC 2616 .