Que hacer ante un error 503 ?
Lo primero es que un error 503 se genera normalmente ante una sobrecarga del servidor, lo que hace que exista un problema de indexación si en esos momentos nos están rastreando los robots de los buscadores.
Asi que como se estan poniendo las cosas en donde los tiempos de carga son fundamentales no es cuestión de tener este tipo de errores.
Podemos solucionarlo de varias formas:
- Restringiendo la entrada a nuestro website mediante un archivo .htaccess baneando la ip de los robots que no nos interesan que nos rastreen y que nos consume mucho ancho de banda ya que estos robots suelen pasar bastante de nuestro archivo robots.txt
- Utilizar el robots.txt para al igual que anteriormente no permitir la entrada de estos robots y dejar que solo se rastree lo que nosotros queremos, con lo que ahorraremos en ancho de banda gastado.
- Desabilitar los feeds ( no es muy buena idea pero puedes hacerlo sobre todo si te copian contenido )
- Utilizar distintos métodos anteriormente comentados para optimizar los tiempos de carga
Pero realmente lo que nos interesa a nosotros es trabajar sobre este error para que google no nos penalice al encontrarse con él por lo que debeis de incluir en vuestro archivo .htaccess el siguiente código que envia a los robots de google a un archivo de error 503.php y le dice que vuelva dentro de 3600 segundos mientras que al usuario lo manda a una página de error 404 :
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC]
RewriteCond %{REQUEST_URI} !^/cgi-bin/error/503\.php [NC]
RewriteRule .* /cgi-bin/error/503.php
RewriteCond %{REMOTE_HOST} !^1\.1\.1\.1
RewriteCond %{REQUEST_URI} !^/cgi-bin/error/404\.php [NC]
RewriteRule .* /under-development-explain.html [R=302,L]
Si utilizais CGI debeis de incluir este archivo 503.php para decirle a los robots de google que vuelvan a pasar dentro de 3600 segundo, 1 hora.
<?php
ob_start();
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 3600');
header('X-Powered-By:');
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Temporarily Unavailable</title>
</head><body>
<h1>Service Temporarily Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>