Portada cPanel ¡SOCORRO! Bots Consumen Todo el Ancho de Banda / Solución: Código Anti-Bots para PrestaShop & Otros CMS (para ponerlo en el .htaccess)
Durante estos últimos días del mes estamos viendo muchos casos en que los bots están decididos a aguar la fiesta a propietarios de algunos websites, pero sobre todo a tiendas online construidas con PrestaShop, donde la seguridad para frenar a estos robots brilla por su ausencia.
Pongámonos en situación: un cliente nos llama extrañado indicando que está apunto de alcanzar el limite en lo que a consumo de ancho de banda se refiere para su plan de Hosting, cuando realmente no tiene tanto tráfico o ventas en su tienda online.
Entonces, ¿Dónde está el problema de ese consumo de ancho de banda tan elevado? La respuesta en muchas ocasiones no podía ser otra que en los bots o crawlers que no paran de visitar nuestra web, así como de hacer peticiones simultaneas, lo que se convierten en un montón de accesos para procesar por parte del servidor y, al final, todas estas peticiones acaban consumiendo todo el ancho de banda.
Si se accede a la web se puede apreciar un bonito “Bandwidth Limit Exceeded”, haciendo que la tienda no funcione. Aunque no siempre es por un problema de bots, a veces también puede deberse a tener almacenadas imágenes muy grandes -sin comprimir- o directamente vídeos (cuando es mejor subir estos vídeos a plataformas externas como YouTube para que consuman allí el ancho de banda).
Consumir todo el ancho de banda de un plan no suele ser habitual porque se lleva a cabo un reseteo mensual, es decir, a principios de cada mes el sistema resetea los consumos; si disponemos de una web que ha consumido 100GB en un mes, el 1 del mes siguiente el contador de ese consumo volverá a empezar de cero.
Si se da el caso y falta poco para que finalice el mes, no tenemos de qué preocuparnos, ya que podemos contactar con el departamento de soporte de Hostinet para que nos aumente ligeramente el ancho de banda de nuestro plan y con ello restableceremos los servicios, sin embargo, si han pasado pocos días del mes tendremos que cambiar de plan a uno que disponga de más ancho de banda o tratar de solución el problema (cosa que debería ser lo principal).
Indiferentemente de que el problema lo provoquen bots, crawlers, imágenes grandes -sin comprimir- o vídeos, tendemos que acceder al mismo sitio para poder revisar que es lo que provoca.
Esta información se nos dará en la sección de métrica de cPanel, mediante la herramienta Webalizer.
A día de hoy, nuestra web tiene que ser con SSL o de lo contrario mal vamos, así pues debemos pulsar sobre “Ver” en la fila de acciones que corresponde a nuestra web con SSL (HTTPS). Si pinchamos sobre la otra opción sería para ver las estadísticas de nuestra web sin SSL (sin HTTPS) y poca cosa abría para revisar allí.
A continuación, seleccionamos el mes para ver sus estadísticas. Por ejemplo Abr 2021.
Y aquí dentro es donde podremos ir revisando todo; podremos ver si se repiten varias imágenes simultaneas varias veces o un vídeo o accesos de un bot. Todo esto se ve bastante rápido mirando las distintas métricas que ofrece el sistema.
Para el caso que se nos presenta hoy con los bots acechando nuestro PrestaShop se ve clarísimo en la tabla de Los 10 primeros de un total de xxxx clientes Por Kbytes. El msnbot lo copo todo con más de 1 millón de accesos. De hecho, el primer resultado ya aporta 342.029 accesos por parte de dicho bot, casi nada…
Por suerte, la solución es bastante sencilla, ya que podemos poner un código Anti-Bots para PrestaShop & Otros CMS dentro del archivo .htaccess
El código a poner sería el siguiente (se debe poner al principio):
RewriteEngine on SetEnvIfNoCase User-Agent «MSNbot» bad_user SetEnvIfNoCase User-Agent «SemrushBot» bad_user SetEnvIfNoCase User-Agent «semrush» bad_user SetEnvIfNoCase User-Agent .*mj12bot.com.* bad_user SetEnvIfNoCase User-Agent «MJ12bot» bad_user SetEnvIfNoCase User-Agent «AhrefsBot» bad_user SetEnvIfNoCase User-Agent «bingbot» bad_user SetEnvIfNoCase User-Agent «googlebot» bad_user SetEnvIfNoCase User-Agent «BLEXBot» bad_user order deny,allow Deny from env=bad_userNota: los « » hay que cambiarlos por comillas, ya que el WordPress está cambiando ese parámetro.
RewriteEngine on SetEnvIfNoCase User-Agent «MSNbot» bad_user SetEnvIfNoCase User-Agent «SemrushBot» bad_user SetEnvIfNoCase User-Agent «semrush» bad_user SetEnvIfNoCase User-Agent .*mj12bot.com.* bad_user SetEnvIfNoCase User-Agent «MJ12bot» bad_user SetEnvIfNoCase User-Agent «AhrefsBot» bad_user SetEnvIfNoCase User-Agent «bingbot» bad_user SetEnvIfNoCase User-Agent «googlebot» bad_user SetEnvIfNoCase User-Agent «BLEXBot» bad_user order deny,allow Deny from env=bad_user
Nota: los « » hay que cambiarlos por comillas, ya que el WordPress está cambiando ese parámetro.
Nota: Para PrestaShop se puede utilizar el módulo .htaccess
En Hostinet puedes contratar un Hosting PrestaShop SSD con LiteSpeed para hacer que tu tienda online vaya mucho más rápida que la de tu competencia. ¡Te garantizamos una IP española, así como el mejor soporte en tu idioma!
En Hostinet trabajamos desde hace más de 15 años con servidores ubicados en España (Madrid y Bilbao) para ofrecer a nuestros clientes las mejores prestaciones posibles.