Cómo resolver problemas de caché en PrestaShop con Plesk
¿Qué es la caché de PrestaShop y por qué causa problemas?
La caché de PrestaShop es un sistema de almacenamiento temporal que guarda copias de tus páginas, imágenes y consultas de base de datos para que tu tienda cargue más rápido. Cuando un cliente visita tu tienda, el servidor no tiene que generar la página desde cero, sino que entrega la versión guardada. Esto es genial para la velocidad, pero también es la fuente de muchos dolores de cabeza.
Los problemas de caché aparecen cuando el sistema guarda una versión antigua de tu tienda y no la actualiza. Por ejemplo, si cambias el precio de un producto, modificas un módulo o editas un archivo CSS, es posible que los visitantes sigan viendo la versión anterior. Esto se traduce en clientes frustrados, ventas perdidas y, en casos extremos, problemas de SEO porque Google también ve contenido desactualizado.
El problema se agrava cuando usas Plesk como panel de control de tu hosting. Plesk tiene su propio sistema de caché a nivel de servidor (como Varnish o Nginx) que se suma a la caché interna de PrestaShop. Si no sabes cómo limpiar ambas capas, los conflictos son inevitables. Pero no te preocupes, porque en esta guía te voy a enseñar exactamente cómo resolver estos problemas paso a paso, sin necesidad de ser un experto en servidores.
Entendiendo las capas de caché en tu tienda PrestaShop con Plesk
Antes de lanzarnos a limpiar, es fundamental que entiendas qué capas de caché están involucradas. Esto te ayudará a diagnosticar mejor el problema y a saber qué herramienta usar en cada momento.
Caché interna de PrestaShop
PrestaShop tiene su propio sistema de caché que se activa desde el panel de administración. Esta caché guarda las páginas completas, las consultas a la base de datos y las plantillas compiladas (archivos Smarty). Si esta caché se corrompe o queda desactualizada, verás errores como páginas en blanco, cambios que no se reflejan o mensajes de error extraños.
Caché de Plesk a nivel de servidor
Plesk, al ser un panel de control completo, puede incluir módulos de aceleración como Nginx o Varnish. Estos servidores intermedios guardan copias de tus páginas para servirlas mucho más rápido. El problema es que no siempre saben cuándo ha cambiado tu contenido, así que siguen sirviendo la versión antigua.
Caché del navegador del usuario
Aunque no lo controlas directamente, debes saber que los navegadores de tus clientes también guardan copias de tus páginas. A veces, aunque limpies la caché del servidor, el cliente seguirá viendo la versión antigua porque su navegador no ha actualizado la copia local. Por eso, en las soluciones te enseñaré a forzar la actualización también desde este lado.
Solución 1: Limpiar la caché desde el panel de administración de PrestaShop
Esta es la primera acción que debes realizar. Es la más sencilla y, en la mayoría de los casos, resuelve el problema inmediatamente.
Paso 1: Accede a tu panel de administración
Entra en tu tienda PrestaShop con tus credenciales de administrador. Normalmente accedes a través de una URL como tutienda.com/admin123, pero si no la recuerdas, puedes encontrarla en Plesk en la sección de "Aplicaciones" o revisando los archivos de tu hosting.
Paso 2: Navega hasta la configuración de rendimiento
Una vez dentro, ve al menú Parámetros avanzados en la barra lateral izquierda y haz clic en Rendimiento. Aquí encontrarás todas las opciones relacionadas con la caché y el rendimiento de tu tienda.
Paso 3: Limpia la caché manualmente
En la parte superior de la página de Rendimiento, verás un botón que dice "Vaciar la caché". Haz clic en él. Verás un mensaje de confirmación y, en cuestión de segundos, la caché interna de PrestaShop se habrá limpiado por completo.
[WARNING]: Este botón solo limpia la caché de PrestaShop, no la de Plesk ni la del navegador. Si después de hacer esto sigues viendo problemas, continúa con los siguientes pasos.
Paso 4: Desactiva temporalmente la caché para diagnosticar
Si después de vaciar la caché el problema persiste, te recomiendo desactivar la caché por completo. En la misma página de Rendimiento, busca la opción "Cachear páginas" y selecciona "No". Guarda los cambios. Esto hará que PrestaShop genere las páginas en tiempo real, lo que te permitirá ver si el problema era de caché o de otro tipo.
[INFO]: Deja la caché desactivada solo durante el diagnóstico. Una vez resuelto el problema, vuelve a activarla para mantener un buen rendimiento.
Solución 2: Limpiar la caché de Plesk a nivel de servidor
Plesk tiene su propio sistema de caché que puede estar interfiriendo con tu tienda. Aquí te explico cómo limpiarlo.
Paso 1: Accede a Plesk
Inicia sesión en tu panel de Plesk. La URL suele ser https://tudominio.com:8443 o la que te haya proporcionado tu proveedor de hosting. Si tu hosting usa Syspanel (anteriormente conocido como HestiaCP), el puerto de acceso es el 2106.
Paso 2: Localiza la opción de caché en Plesk
En el panel de Plesk, busca la sección de "Sitios web y dominios". Selecciona el dominio de tu tienda PrestaShop. Dependiendo de la versión de Plesk, verás iconos o pestañas relacionadas con "Nginx" o "Varnish". Haz clic en la opción que corresponda a tu configuración.
Paso 3: Vacía la caché de Nginx o Varnish
Dentro de la configuración de Nginx o Varnish, encontrarás un botón para "Limpiar caché" o "Purgar caché". Haz clic en él. El proceso puede tardar unos segundos.
Paso 4: Reinicia el servicio si es necesario
Si no encuentras la opción de limpiar caché, puedes reiniciar el servicio directamente. Ve a "Herramientas y utilidades" y busca la sección de "Gestión de servicios". Localiza Nginx o Varnish y haz clic en "Reiniciar". Esto forzará que el servicio se reinicie y elimine todas las copias en caché.
[TIP]: Si tu hosting usa Syspanel con puerto 2106, el proceso es similar. Busca la sección de "Servicios" o "Web Server" dentro del panel y reinicia Nginx o Varnish desde ahí.
Solución 3: Limpiar la caché de Smarty (plantillas compiladas)
Smarty es el motor de plantillas que usa PrestaShop. A veces, los archivos compilados de las plantillas se corrompen y causan problemas visuales extraños.
Paso 1: Accede a la carpeta de caché de PrestaShop
Necesitas acceder a los archivos de tu tienda. Puedes hacerlo a través del Administrador de archivos de Plesk o mediante un cliente FTP como FileZilla. La ruta típica es public_html/var/cache o public_html/cache, dependiendo de la versión de PrestaShop.
Paso 2: Elimina el contenido de la carpeta de caché
Dentro de esa carpeta, verás subcarpetas como prod y dev. Elimina todo el contenido de estas carpetas. No borres la carpeta en sí, solo su contenido.
Paso 3: Elimina también la carpeta de compilación de Smarty
En la misma ruta, busca una carpeta llamada templates_c o compile. Elimina todo su contenido también. Esta carpeta contiene los archivos PHP compilados de tus plantillas.
[WARNING]: Asegúrate de tener una copia de seguridad antes de eliminar cualquier archivo. Aunque estos archivos se regeneran automáticamente, es mejor prevenir.
Solución 4: Forzar la actualización desde el navegador
A veces el problema no está en el servidor, sino en la caché del navegador del cliente (o del tuyo propio). Aquí te explico cómo solucionarlo.
Paso 1: Recarga forzada con atajos de teclado
Si estás probando tu tienda y no ves los cambios, prueba a hacer una recarga forzada. En Windows/Linux, presiona Ctrl + F5. En Mac, presiona Cmd + Shift + R. Esto le dice al navegador que ignore la caché local y descargue la versión más reciente de la página.
Paso 2: Usa el modo incógnito
El modo incógnito de tu navegador no guarda caché ni cookies. Abre una ventana de incógnito (Ctrl + Shift + N en Chrome, Ctrl + Shift + P en Firefox) y visita tu tienda. Si los cambios aparecen correctamente, el problema era de caché del navegador.
Paso 3: Limpia la caché del navegador manualmente
Si necesitas que tus clientes vean los cambios, no puedes pedirles que hagan una recarga forzada. En su lugar, puedes agregar una versión diferente a tus archivos CSS y JavaScript desde PrestaShop. Esto se hace en la configuración de rendimiento, activando la opción "Forzar compilación" temporalmente.
[TIP]: No dejes la compilación forzada activa permanentemente, ya que ralentiza tu tienda. Úsala solo durante el desarrollo o cambios importantes.
Solución 5: Problemas de caché con módulos de terceros
Algunos módulos de PrestaShop tienen su propia caché interna que puede entrar en conflicto con la caché general.
Paso 1: Identifica el módulo problemático
Si los problemas de caché aparecen solo en una sección específica (como el carrito o el panel de búsqueda), es probable que un módulo esté causando el conflicto. Revisa qué módulos has instalado o actualizado recientemente.
Paso 2: Limpia la caché del módulo
La mayoría de los módulos premium tienen su propia opción de limpieza de caché en su configuración. Busca en el panel de administración de PrestaShop, en Módulos y localiza el módulo sospechoso. Dentro de su configuración, deberías encontrar un botón para limpiar su caché.
Paso 3: Actualiza el módulo
Si el problema persiste, es posible que el módulo tenga un bug que se corrige en una versión más reciente. Ve a Módulos > Módulos y servicios y busca actualizaciones disponibles para ese módulo.
Solución 6: Configuración avanzada de caché en Plesk
Si los problemas son recurrentes, puedes ajustar la configuración de caché en Plesk para que sea más compatible con PrestaShop.
Paso 1: Accede a la configuración de Nginx en Plesk
En Plesk, ve a Sitios web y dominios, selecciona tu dominio y haz clic en "Nginx". Aquí puedes configurar cómo Nginx maneja la caché de tu sitio.
Paso 2: Ajusta las reglas de caché
Busca la opción de "Proxy" o "Caché" y configura las reglas para que ignore ciertas URLs de PrestaShop que no deben ser cacheadas, como las del carrito o el proceso de pago. Esto evitará que se sirvan versiones antiguas de páginas dinámicas.
Paso 3: Configura el tiempo de expiración
También puedes ajustar el tiempo de expiración de la caché. Si tu tienda cambia mucho de contenido (ofertas, precios, stock), te recomiendo un tiempo corto, como 60 segundos. Si tu contenido es más estático, puedes dejarlo en 5-10 minutos.
Preguntas frecuentes (FAQ) sobre problemas de caché en PrestaShop
¿Con qué frecuencia debo limpiar la caché de PrestaShop?
No hay una regla fija. Te recomiendo limpiarla después de cada cambio importante en tu tienda, como modificar precios, productos, módulos o el tema. Si tu tienda es dinámica, puedes programar una limpieza automática diaria o semanal.
¿La limpieza de caché afecta el SEO de mi tienda?
No, limpiar la caché no tiene un impacto negativo en el SEO. De hecho, lo mejora porque Google verá contenido actualizado. Sin embargo, si dejas la caché desactivada permanentemente, tu tienda será más lenta, lo que sí puede afectar tu posicionamiento.
¿Puedo limpiar la caché desde la base de datos de PrestaShop?
Sí, pero no te lo recomiendo a menos que tengas experiencia técnica. Puedes eliminar manualmente las tablas de caché desde phpMyAdmin, pero es más fácil y seguro usar las opciones nativas de PrestaShop.
¿Qué hago si después de limpiar todo sigue el problema?
Si has seguido todos los pasos y el problema persiste, puede ser un conflicto más profundo. Te sugiero contactar a tu proveedor de hosting para que revise la configuración del servidor. También puedes desactivar todos los módulos no esenciales para ver si alguno está causando el conflicto.
¿Syspanel también tiene caché que deba limpiar?
Sí, Syspanel (anteriormente HestiaCP, accesible por el puerto 2106) tiene su propio sistema de caché. Debes limpiar la caché de Nginx o Apache desde ese panel de la misma manera que lo harías en Plesk.
Consejos finales para evitar problemas de caché en el futuro
La mejor manera de resolver problemas de caché es prevenirlos. Aquí tienes algunos consejos prácticos:
-
Establece una rutina de limpieza: Hazlo cada vez que publiques cambios importantes en tu tienda.
-
Mantén todo actualizado: PrestaShop, los módulos y el tema deben estar siempre en sus últimas versiones. Las actualizaciones suelen corregir bugs de caché.
-
Usa herramientas de diagnóstico: Plesk tiene herramientas de monitorización que te alertan si algo va mal con el rendimiento. Úsalas para detectar problemas antes de que afecten a tus clientes.
-
Haz copias de seguridad antes de cambios grandes: Esto te permite revertir cualquier problema sin consecuencias graves.
-
Considera usar un CDN: Un CDN como Cloudflare maneja la caché de forma más inteligente y puede evitar muchos de estos conflictos entre PrestaShop y Plesk.
Recuerda que los problemas de caché son normales en cualquier plataforma de comercio electrónico. Lo importante es saber cómo resolverlos rápidamente para que tu tienda funcione sin problemas y tus clientes tengan la mejor experiencia posible. Con esta guía, ya tienes todas las herramientas necesarias para dominar la caché de PrestaShop en Plesk. ¡Manos a la obra!
