Excelente modo de Solucionar el Error 503 (sin perder SEO)

El error 503 se produce por una sobrecarga en nuestro servidor. El servidor se encuentra tan ocupado que no puede dar respuesta al navegador. Una vez transcurrido un tiempo, la conexión se cae.

Las causas son muy variadas, desde ataques a un sitio web, para propiciar precisamente su sobrecarga, hasta simples scripts que sobrecargan el servidor por lo ineficientes que son. Las causas mas comunes podrían ser;

Uso abusivo del sitio web

Para comprobar esta causa lo primero que debemos hacer es revisar los logs del servidor, y comprobar si existe alguna IP determinada ó IPs que ocasionen el consumo excesivo. De ser este el caso, la solución es bloquear su acceso al site. Para ello podemos añadir estas lineas al .htacess

<Limit GET HEAD POST>
order allow,deny
deny from {AQUÍ LA DIRECCIÓN IP}
allow from all
</LIMIT>

Scripts ineficientes

Otra posibilidad es que uno de nuestros scripts este consumiendo demasiada CPU del Servidor. Existen herramientas (debuggers) que nos permiten comprobar la velocidad y buena performance del script, mostrándonos donde puede estar el error, si lo hubiera. Además, algunos sistemas de estadísticas que nos pueden señalar que página es la que más consumo produce, según esto podemos decidir deshabilitarla.

Otras causas

El error 503 puede ser ocasionado tambien por un pico de visitas o que hayamos superado el limite de nuestro servidor.

Mientras resolvemos esta situación debemos hacer algo para que para que google y otros robots que estén accediendo no nos penalicen.

Debemos añadir en el  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>

 

La línea que contiene  – header(’Retry-After: 3600?); – es la que le indica que regrese en 1 hora, podemos cambiar este valor si deseamos. Puedes ponerlo cuando tengas una sobrecarga hasta que modifiques el ancho de banda  y luego quitarlo del .htaccess

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

Demasiadas visitas de un buscador (robot)

Si realizando lo dicho en el punto anterior, uno observa que la IP es la de un buscador, podemos limitar su acceso recurriendo al archivo robots.txt.

# bienvenidos
 User-agent: Googlebot-Image
 Disallow: /

En este caso, por ejemplo, le indicamos a Google que no indexe ninguna imagen.

Limitar el acceso de un buscador debe ser el último recurso (sólo si es imprescindible), pues además de impedir el acceso, otra de las consecuencias es la desindexación de nuestro contenido de la Base de Datos del buscador. Y esto nos puede propiciar una enorme pérdida de tráfico por SEO.

Con Google, por ejemplo, una semana basta para quedar casi desindexado, dependiendo de la cantidad de páginas almacenadas en su cache. Por lo que, si lo que se busca es reducir la frecuencia de GoogleBot, siempre es mejor recurrir a Google Sitemaps e indicarle que su recorrido sea menos frecuente.

Si bien existen otras muchas causas, estas suelen ser las más comunes. Ahora bien, el incremento de tráfico también es un motivo inevitable de sobrecarga. Si incluso utilizando cache y deshabilitando scripts para reducir las consultas a la BD, el servidor se cuelga y no responde, lo más aconsejable es recurrir a un VPS ó dado el caso, a un Server Dedicado.

You May Also Like

Do NOT follow this link or you will be banned from the site!