Bloquear bots en el buscador por facetas de prestashop

Bloquear el tráfico de bots a las urls del buscador por facetas de Prestashop

El tráfico de bots en una tienda PrestaShop puede provocar un consumo excesivo de recursos en el servidor, afectando directamente al rendimiento y la disponibilidad del sitio web. Este tipo de tráfico automatizado, aunque no siempre malicioso, puede saturar la base de datos y derivar en errores críticos o incluso caídas intermitentes del sitio.

URLs de filtro de marcas en Prestashop

En muchos casos, este comportamiento se manifiesta a través de múltiples peticiones a URLs con parámetros como /?q=marca, que corresponden a los filtros de marcas generados por el módulo de búsqueda por facetas de PrestaShop.

Cuando la base de datos no está adecuadamente optimizada —por ejemplo, sin los índices correctos o con consultas ineficientes— este tipo de tráfico, incluso si proviene de bots legítimos como  Googlebot o Bing, puede desencadenar un consumo elevado de CPU y memoria. Si no se controla a tiempo, puede derivar en una experiencia lenta para los usuarios o, en el peor de los casos, en la caída total del sitio.

¿Cómo limitar o bloquear el acceso de bots en PrestaShop?

Las URLs generadas por los filtros de marca tienen la estructura ?q=Marca-nombre, lo cual, además de generar problemas de rendimiento, puede suponer un problema SEO si se indexan. Estas URLs, al mostrar un contenido muy similar al de las páginas de marca ya existentes (por ejemplo, /marca/nombre), pueden considerarse como contenido duplicado, lo que afecta negativamente al posicionamiento en buscadores.

1. Bloqueo en robots.txt (para bots legítimos)

Para evitar la indexación de estas URLs por parte de rastreadores como Googlebot, puedes utilizar la directiva Disallow en tu archivo robots.txt:

User-agent: *
Disallow: /*?q=Marca-

Si tu tienda es multilingüe, deberás incluir una línea por cada idioma, ya que el valor del parámetro q= se adapta a la traducción de la palabra «Marca»:

Disallow: /*?q=Marca-
Disallow: /*?q=Marque-
Disallow: /*?q=Brand-

Este método impide que los bots accedan a esas URLs, pero no evita que bots maliciosos u otras herramientas automatizadas continúen accediendo a ellas.

2. Bloqueo en .htaccess (para bots persistentes o maliciosos)

Para bloquear completamente las peticiones a nivel de servidor —lo que también impide el acceso de usuarios reales— puedes añadir reglas en el archivo .htaccess utilizando mod_rewrite de Apache:

RewriteEngine On
RewriteCond %{QUERY_STRING} q=Marca- [NC]
RewriteRule ^ - [F,L]

Recuerda repetir esta regla para cada idioma:

RewriteCond %{QUERY_STRING} q=Marque- [NC]
RewriteCond %{QUERY_STRING} q=Brand- [NC]

Consideraciones antes de bloquear URLs

Bloquear estas URLs mediante .htaccess afecta tanto a bots como a usuarios legítimos, lo que equivale, en la práctica, a desactivar el filtro de marcas del módulo de navegación por facetas. Por ello, esta medida debe aplicarse únicamente de forma temporal, especialmente si las URLs ya han sido indexadas y están generando un tráfico considerable.

Desactivar macas del buscador por facetas
Screenshot

Mientras tanto:

  • Aplica las reglas adecuadas en el robots.txt para evitar nuevas indexaciones.
  • Solicita a Google desde Search Console la desindexación de todas las URLs con el patrón ?q=Marca-.
Retirada urls buscador por facetas de marcas prestashop

Mantenimiento preventivo: optimización de base de datos y uso de caché

Para evitar caídas del sitio provocadas por sobrecargas de tráfico, es esencial mantener la base de datos optimizada. Esto incluye eliminar datos antiguos o inservibles (como carritos abandonados, estadísticas obsoletas o registros de logs), corregir posibles errores en las tablas y reducir su fragmentación.

Para esta tarea, recomendamos el módulo Advanced Store Cleaning & Optimization, que permite vaciar automáticamente datos residuales y además optimiza y repara las tablas de la base de datos, mejorando notablemente su rendimiento.

Además, es fundamental aprovechar los sistemas de caché integrados en PrestaShop (Smarty, caché de archivos, etc.) y, si tu servidor lo permite, utilizar tecnologías como OPcache, Memcached, Varnish o incluso una CDN. Estas soluciones ayudan a reducir la carga del servidor cuando hay un gran número de peticiones simultáneas, mejorando considerablemente la velocidad y la experiencia del usuario.

Leave a Comment

Your email address will not be published. Required fields are marked *

Shopping Cart
en_USEnglish