Saltar al contenido
en línea
esv0.46.1 · 1d135e2
Con mantenimientoActualizado el 31 ago 2026

Decoroll

Una tienda OpenCart de estores enrollables: una calculadora de precios y un proceso de compra corregidos y, después, un rescate de rendimiento que redujo la carga de la base de datos y levantó la restricción de CPU del proveedor de hosting.

Página de inicio de Decoroll: una tienda de estores enrollables y cortinas, con botón al catálogo, búsqueda de productos, teléfono y horario, un banner con estores en un salón y categorías populares como opacos, verticales y día-noche

Reto

Una tienda de estores enrollables necesitaba arreglar su calculadora de precios y su proceso de compra, y después estuvo a punto de quedarse sin servicio: el sitio y su base de datos consumían alrededor del doble del límite diario de CPU del hosting y nadie sabía por qué.

Solución

  • Calculadora de precios: redondeo correcto (antes sumaba 1 UAH incluso a importes enteros), el total del carrito ya no se desvía 1–2 UAH con varios artículos, el botón «Añadir al carrito» se bloquea mientras se calcula el precio para que nadie pida a un precio erróneo con una conexión lenta, y las peticiones de la calculadora ya no fallan con mezclas de http/https.
  • Proceso de compra: el campo de dirección se adapta al método de envío (dirección para el mensajero o punto de recogida), el autocompletado del navegador ya no rellena los campos de región y Chrome dejó de insertar la contraseña guardada del administrador en el formulario de pedido.
  • Correo: los mensajes del formulario de contacto se envían desde el buzón de la tienda con el visitante en Reply-To, así que el hosting dejó de rechazarlos.
  • SEO: unas 550 redirecciones obsoletas eliminadas, prefijos de idioma corregidos en las URL de imágenes y en todos los feeds de productos, y un sitemap que apuntaba a localhost corregido en robots.txt.
  • El incidente de CPU: una investigación documentada encontró la causa raíz: los enlaces relativos del tema y las URL amigables sin validar creaban un espacio infinito de páginas para los rastreadores. Ahora las URL anidadas se reducen con una redirección antes de que se ejecute PHP, se corrigieron los enlaces, se añadieron ocho índices de base de datos y caché de URL, se limpió la tabla de sesiones, se reforzó el tratamiento de imágenes, se detuvo un registro de errores de 1 GB y el sitio pasó a estar detrás de Cloudflare con protección contra bots, siempre con una copia de seguridad verificada de la base de datos antes de cada cambio.
  • Entorno de desarrollo: el proyecto pasó a git con un entorno Docker y configuraciones locales.

Resultado

Filas leídas por cada vista de página de producto: 619 950 → 0. Sesiones en la base de datos: 57 040 → 6777. Sitemap: 1,12 s → 0,16 s. Tras las correcciones, la página de inicio responde en 0,20 s y las páginas de producto en 0,52–0,63 s. El hosting levantó la restricción.

Capturas de pantalla