Cómo Recuperamos un Sitio WooCommerce Saturado por Tráfico de Bots y una Base de Datos Sobredimensionada

Tabla de contenidos

En el mundo del ecommerce, es normal que un sitio WordPress/WooCommerce crezca con el tiempo. Lo que no siempre se ve a simple vista es cómo ese crecimiento también afecta a la base de datos, los recursos del servidor y, en consecuencia, el rendimiento del sitio.

Este es el caso de un proyecto reciente donde un sitio de WooCommerce comenzó a presentar:

  • Caídas frecuentes
  • Suspensiones automáticas del hosting
  • Lentitud extrema
  • Errores 500 y límites de CPU sobrepasados

Después de un análisis completo, identificamos dos causas principales:

  1. Tráfico anormalmente alto proveniente de bots y scrapers, saturando el servidor.
  2. Una base de datos que había crecido de forma descontrolada, superando los 3 GB.

Este artículo documenta los pasos aplicados y ofrece un mapa claro para emprendedores y equipos técnicos que gestionan su propio WordPress.

🚨 Problema 1: Tráfico excesivo por bots no deseados

El hosting reportó miles de solicitudes repetidas desde diferentes IPs, muchas de ellas asociadas a:

  • Bots de análisis de backlinks
  • Scrapers de precios / productos
  • Motores de indexación agresivos
  • Tráfico internacional no relevante

Estos bots provocaban picos de CPU y MySQL, hasta el punto de que el hosting suspendía el sitio para proteger la estabilidad del servidor.

✅ Solución aplicada

Se implementó una estrategia en varias capas:

1. Bloqueo de bots por User-Agent en .htaccess

Se añadieron reglas para bloquear bots no esenciales como SERanking, Ahrefs, MJ12bot, etc.

2. Protección de endpoints delicados

Particularmente /wp-json/, que estaba siendo consultado miles de veces por bots desconocidos.

3. Mantenimiento de accesos legítimos

Se aseguraron excepciones para:

  • API de Meta (Pixel / CAPI)
  • Klaviyo
  • Integraciones de e-commerce
  • AJAX interno de WordPress

4. Bloqueo geográfico

Se desactivó el tráfico proveniente de regiones con alto volumen de scrapers.

El resultado fue una reducción inmediata del 70% del tráfico no humano.

🧨 Problema 2: Base de datos inflada (más de 3.6 GB)

Al inspeccionar la base de datos, se encontró que el tamaño era desproporcionado para el tipo de sitio.
Las tablas más grandes estaban asociadas a:

  • Logs automáticos
  • Registros internos del hosting
  • Registros del Action Scheduler de WooCommerce
  • Datos obsoletos y temporales

Estos valores se habían acumulado durante meses o incluso años, y no eran necesarios para el funcionamiento normal del sitio.

📌 Ejemplos de tablas que crecieron de forma descontrolada:

  • Logs de seguridad
  • Logs de visitantes
  • Registros del Action Scheduler (tareas de integración, actualizaciones, correos, webhooks)
  • Información residual de plugins desactivados

❗ Importante:

En ningún momento se eliminaron datos de productos, pedidos, usuarios, configuraciones ni contenido.

🛠️ Limpieza profunda y optimización

La limpieza se realizó directamente desde la base de datos, ya que el frontend estaba inaccesible debido a la suspensión del hosting.

⭐ Acciones realizadas:

1. Limpieza segura de tablas de logs

Se vaciaron únicamente las tablas que almacenan eventos temporales, NO datos del negocio.

2. Eliminación de registros viejos del Action Scheduler

Estos registros suelen acumular cientos de miles de filas.

3. Optimización de tablas

Se aplicó OPTIMIZE TABLE para:

  • Compactar espacio
  • Reducir fragmentación
  • Mejorar tiempos de consulta

✔️ Resultado final:

La base de datos pasó de 3.6 GB → 322 MB
Una reducción del 90% sin pérdida de información operativa.

🚀 Resultados después de la intervención

Tras la optimización:

🔧 Rendimiento mejoró notablemente

  • Menor tiempo de carga
  • Menor consumo de CPU
  • Base de datos más ligera
  • Panel de WordPress accesible de nuevo

🌐 El hosting dejó de suspender el sitio

Los procesos dejaron de saturar MySQL y el servidor recuperó estabilidad.

📦 Ningún dato importante se perdió

  • Productos intactos
  • Pedidos conservados
  • Usuarios y configuraciones sin cambios
  • Plugins funcionando normalmente

🛡️ La API y el tracking siguen funcionando

Se mantuvo compatibilidad con:

  • Meta Pixel / CAPI
  • Klaviyo
  • WooCommerce REST API
  • Integraciones externas

📘 Aprendizajes para emprendedores y equipos técnicos

Este caso nos deja lecciones valiosas para cualquier persona que administre WordPress:

1. WordPress necesita mantenimiento, igual que un vehículo

Muchos emprendedores no saben que su sitio acumula información que debe ser limpiada regularmente.

2. WooCommerce genera miles de registros automáticamente

El Action Scheduler, logs de transacciones, webhooks y automatizaciones pueden crecer descontroladamente.

3. Los bots pueden afectar tanto como los usuarios reales

Bloquear tráfico no humano puede salvar recursos del servidor.

4. Optimizar la base de datos restaura el rendimiento al instante

Una limpieza profunda puede reducir la carga de MySQL entre un 70% y 90%.

5. No hay que temerle al mantenimiento técnico

Con una estrategia adecuada, es posible:

  • Limpiar
  • Optimizar
  • Mejorar

… sin afectar el funcionamiento del negocio.

Este caso de éxito demuestra que un sitio saturado, lento y suspendido por el hosting no está perdido.
Con una combinación de:

  • Bloqueo inteligente de bots
  • Optimización de la API
  • Limpieza profunda de la base de datos

… es posible devolverlo a la vida y dejarlo más rápido y estable que antes.

El mantenimiento técnico no es un lujo, es parte fundamental de la salud de cualquier negocio digital.

Comparte este post:

Artículos relacionados

Guía de Ecommerce Emprendedores

A short description introducing your business and the services to visitors.