09 Feb 2016

Cómo no afectar al SEO en periodos de mantenimiento web

Cómo no afectar al SEO en periodos de mantenimiento web
¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)

Si estas pensando en usar el mantenimiento web para modificar tu sitio o actualizar tu servidor, te va a venir muy bien leer los consejos que vamos a dar en este post. Los periodos de mantenimiento programados de una web pueden afectar a su posicionamiento de tu sitio web.

Tienes que saber que impedir el acceso a tu web siempre debe ser la última alternativa para que no afecte al SEO que hayas conseguido. Sin embargo, muchas veces no queda más remedio que impedir el acceso al sitio, ya sea por tareas de mantenimiento del servidor o bien por cambios importantes en el mismo. Vamos a ver las mejores alternativas para que no afecte al SEO de tu sitio.

Contents

Debes informar que la restricción al sitio es temporal

Es importante que los visitantes que lleguen a tu sitio sepan que el estado de mantenimiento es temporal y está programado. A ser posible, intenta incluir en el mensaje el tiempo estimado de mantenimiento para que puedan volver a encontrar lo que buscan. También es importante indicar la temporalidad para Googlebot (el robot de rastreo de Google).

Errores a evitar de los webmasters

Error 404 gif

Si eliminas todos los archivos de tu sitio los visitantes a tu web verán el temido error 404. Este error hace referencia a que la página web ya no existe. Debemos evitar este mensaje tanto para los visitantes para los robots que visiten el sitio. Este mensaje no informa que tu web está en mantenimiento y que volverá a estar disponible pronto. Puedes personalizar este mensaje, pero lo ideal es evitar que se muestre este típico error.

error 404

Una solución poco recomendable para evitar esto es subir un archivo con una explicación breve del mantenimiento de la web y crear una redirección para el resto de páginas. Con esto se puede informar al visitante pero los motores de búsqueda pueden interpretarlo como una desaparición permanente del resto de páginas. Por lo tanto, corremos el peligro de una pérdida de posicionamiento del resto de páginas de nuestro sitio.

Los códigos de estado HTTP más comunes

  • 404 Not Found: El servidor no ha encontrado la página requerida. No se han dado indicaciones si la condición es temporal o permanente.
  • 200 OK: La petición ha tenido éxito. Esta es una respuesta estándar de éxito de búsqueda HTTP.
  • 301 Moved Permanently: La fuente de búsqueda requerida ha sido asignada a otra localización permanente. Esta y las posteriores búsquedas serán dirigidas a esa localización.
  • 302 Found: La web está temporalmente en una localización diferente. Indica a los motores de búsqueda que se trata de un estado temporal.
  • 503 Service Unavailable: El servidor no está disponible en este momento (debido a sobrecarga o mantenimiento).

Si usas un CMS para gestionar tu sitio web, como por ejemplo el conocido WordPress, no debes preocuparte en crear este tipo de avisos ya que existen numerosos plugins para poner en mantenimiento tu wordpress que indican a los motores de búsqueda que la página no sea indexada.

Cómo debo informar a los motores de búsqueda del mantenimiento temporal

Es muy importante informar a los usuarios del motivo del mantenimiento y cuándo podrán volver a visitar nuestro sitio. Por otro lado, hay que informar a los motores de búsqueda (Google principalmente) de la temporalidad del estado. Para eso vamos a usar el código 503 Service Unavailable que nos permite indicar al Googlebot que se trata de tareas de mantenimiento.

Para hacer esto correctamente debemos añadir el archivo 503.php al archivo raíz de nuestro servidor. Los motores de búsqueda al leer este archivo no penalizarán al sitio ni modificarán sus posiciones. En este archivo se incluirá la siguientes líneas de código:

<?php 
$protocol = "HTTP/1.0";
if ( "HTTP/1.1" == $_SERVER["SERVER_PROTOCOL"] )
$protocol = "HTTP/1.1";
header( "$protocol 503 Service Unavailable", true, 503 );
header( "Retry-After: 3600" );  
?>

Google entenderá este mensaje ya que indicamos que la web no está disponible temporalmente y en la última línea se indica que vuelva a él pasados estos segundos (3600). También se puede informar indicando una fecha concreta en formato GMT/UTC.

Por otro lado, también hay que indicar que no está disponible el sitio para todas las páginas del mismo. Esto se hace modificando el archivo .htaccess para crear una redirección 302 de todas las páginas hacia el archivo 503.php.

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1 [OR]
RewriteCond %{REMOTE_URI} !^xx\.xxx\.xxx\.x    #masked on purpose
RewriteRule .* /503.php [R,L]

Después de subir al directorio los archivos 503.php y .htaccess podremos trabajar tranquilos en nuestro sitio. De este modo hemos indicado a los motores de búsqueda que estamos en mantenimiento y que pueden volver más tarde.

A los usuario también hay que indicarles la temporalidad del mantenimiento. Podemos modificar con estilos el archivo 503.php y añadir un mensaje personalizado indicando cuándo pueden volver a visitarnos.

<?php 
$protocol = "HTTP/1.0";
if ( "HTTP/1.1" == $_SERVER["SERVER_PROTOCOL"] )
$protocol = "HTTP/1.1";
header( "$protocol 503 Service Unavailable", true, 503 );
header( "Retry-After: 3600" );  
?>

    <!DOCTYPE html>
    <head>
    <meta http-equiv="Content-type" value="text/html; charset=UTF-8" />
    <title>Page Not Found </title>

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

    <meta http-equiv="refresh" content="6;url=index.php">

    </head>
    <body>
    <h2>Nuestra web se encuentra en mantenimiento. Vuelve el 23 de febrero.</h2>
    </body>
    </html>

Esperamos que estos consejos hayan sido útiles y te ayuden en tus próximas tareas de mantenimiento de tu sitio web. Esperamos tus comentarios y aportaciones aquí abajo.