Performance Revolution: configuración y ayuda
Inicio rápido
- Sube e instala el ZIP en Módulos > "Module Manager" y abre Rendimiento > Configuración.
- Elige Backend de caché y comprueba el punto de conexión Redis efectivo u otro adaptador disponible.
- Comprueba Caché global y Interfaz de usuario (Front Office) en Caché > Resumen.
- Revisa Almacenamiento en caché de fragmentos, Caché de consultas, Optimización de recursos e Imágenes, y guarda la configuración inicial.
- Si usas caché de páginas completas, activa Activar la caché de páginas de origen e inspecciona Cabecera de diagnóstico en una URL anónima limpia.
- Solicita la página dos veces y verifica, en sesiones separadas, que carrito, inicio de sesión, cuenta y pago omitan el HTML anónimo compartido.
- Configura por separado el CDN y el calentamiento programado si los necesitas, y comprueba su estado de configuración y los resultados del ejecutor.
Requiere PrestaShop 1.6.1 o posterior y PHP 7.1 o posterior.
Manual de configuración
Instalar y establecer una referencia
Sube el ZIP en Módulos > "Module Manager", instálalo y pulsa "Configure". El menú del back office es Rendimiento, con Panel de control, Caché, Recursos, Consultas, Copia de seguridad, Configuración y Verificación del sistema.
Antes de activar más capas, registra cómo funcionan inicio, categoría, producto, carrito, cuenta y pago. Prueba en un navegador de cliente y en uno de empleado. Selecciona la tienda prevista y respalda la configuración antes de cambiar la caché del núcleo o las reglas CDN.
Empieza en Configuración > Backend de caché. El proceso PHP necesita escritura en los directorios de caché de PrestaShop y recursos generados. La instalación de la caché de objetos Redis de PrestaShop también necesita acceso a la clase de caché del núcleo y los archivos de configuración afectados. Las acciones Cloudflare requieren un token autorizado para la zona elegida y las operaciones solicitadas.
Elegir el backend y los ámbitos de caché
| Ajuste | Predeterminado | Qué configuras |
|---|---|---|
| Backend de caché | auto |
Selecciona "Auto", Redis, APCu o "File" para el gestor de caché del módulo. "Auto" elige un backend disponible compatible. |
| TTL predeterminado de la caché | 3600 segundos |
Duración predeterminada de las entradas del módulo. |
| Host de Redis | 127.0.0.1 |
Valor portátil del módulo. La configuración Redis existente de PrestaShop puede influir en el punto de conexión efectivo; inspecciona su origen mostrado. |
| Puerto de Redis | 6379 |
Puerto TCP Redis. |
| Contraseña de Redis | Vacío | Contraseña de autenticación cuando se requiera. |
| Base de datos de Redis | 0 |
Índice de base de datos. |
| Prefijo de Redis | mpr_perf: |
Prefijo de las claves del módulo. |
| Tiempo límite de conexión a Redis | 0.25 segundos |
Tiempo de espera de conexión. |
| Tiempo límite de lectura de Redis | 0.5 segundos |
Tiempo de espera de lectura. |
| Caché de objetos PrestaShop (Redis) | Ajuste existente del núcleo | Control separado de la caché de objetos del núcleo de PrestaShop mediante MPRCacheRedis. Lee la configuración del núcleo en lugar de un valor fijo del módulo. |
Guarda y comprueba el adaptador elegido en Panel de control. Si Redis no conecta, verifica host, puerto, autenticación, base de datos y compatibilidad Redis de PHP. No supongas que elegir el backend del módulo activa también la caché de objetos del núcleo.
Abre Caché > Resumen para los interruptores de ámbito Caché global, Interfaz de usuario (Front Office), Interfaz de administración (Back Office) y "Webservice". Están activados por defecto en el módulo. El interruptor global controla el uso de su caché y los de ámbito restringen los contextos de solicitud correspondientes.
Usa Caché > Capas para controlar capas, Navegador para inspeccionar entradas, Páginas para los datos de caché de páginas y Preajustes para revisar preajustes disponibles. Lee un preajuste antes de aplicarlo porque cambia varios ajustes a la vez.
Configurar fragmentos y consultas
Abre Configuración > Almacenamiento en caché de fragmentos.
| Ajuste | Predeterminado | Efecto |
|---|---|---|
| Activar la caché de fragmentos | Activado | Activa fragmentos Smarty marcados explícitamente. No envuelve automáticamente todas las secciones del tema. |
| TTL predeterminado | 3600 segundos |
Duración cuando un fragmento no proporciona su propio TTL. |
Un desarrollador puede almacenar un fragmento de categoría incluyendo su identidad:
{mpr_cache id="category_products" ttl=3600 tags=["product","category"] vary=["category" => $category.id]}
{foreach from=$products item=product}
{include file='catalog/_partials/miniatures/product.tpl' product=$product}
{/foreach}
{/mpr_cache}
La clave de caché incluye idioma, tienda, moneda y grupo de clientes predeterminado salvo que se desactive la inclusión del contexto. Añade a vary cualquier otro valor que afecte al fragmento. No incluyas marcado específico de clientes en un fragmento compartido sin variación adecuada o sustitución dinámica.
Usa marcadores dinámicos para los valores compatibles de la solicitud actual:
<span class="cart-count">{mpr_dynamic name="cart_count"}</span>
<span class="cart-total">{mpr_dynamic name="cart_total"}</span>
<span class="customer-name">{mpr_dynamic name="customer_name" default=""}</span>
<span class="csrf-token">{mpr_dynamic name="csrf_token"}</span>
Los nombres compatibles también abarcan valores de cliente, idioma, moneda y tienda. Un proveedor personalizado puede usar actionMPRDynamicContent:
public function hookActionMPRDynamicContent($params)
{
if (($params['name'] ?? '') === 'loyalty_points') {
return (string) $this->getCurrentCustomerPoints();
}
return $params['default'] ?? '';
}
Abre Configuración > Caché de consultas.
| Ajuste | Predeterminado | Efecto |
|---|---|---|
| Activar la caché de consultas | Activado | Activa el almacenamiento compatible de resultados de consultas. |
| Precarga de consultas SQL | Desactivado | Modo opcional de precarga de solicitudes. Déjalo desactivado inicialmente; comprueba el modo elegido con tu carga de consultas. |
| Activar el perfilado de consultas | Desactivado | Recopila tiempos de ejecución de consultas. |
| Umbral de consulta lenta | 0.1 segundos |
Umbral para informar de consultas lentas. |
| TTL de la caché de consultas | 300 segundos |
Duración de los resultados de consultas en caché. |
Usa Consultas para inspeccionar las consultas recopiladas. Activa el perfilado al diagnosticar un problema y revisa su sobrecarga antes de mantenerlo activo.
Configurar recursos y CSS offline
Abre Configuración > Optimización de recursos. Activa y prueba un cambio cada vez en tu tema.
| Ajuste | Predeterminado | Efecto |
|---|---|---|
| Activar la optimización de recursos | Activado | Interruptor principal del procesamiento de recursos. |
| Agrupación de recursos | Desactivado | Sustituye recursos originales por paquetes optimizados. |
| Aplazamiento inteligente de recursos | Desactivado | Aplaza recursos de módulos compatibles según las necesidades de página e interacción. |
| Minificación CSS | Activado | Minifica CSS. |
| Minificación JS | Activado | Minifica JavaScript. |
| Combinador de CSS propio | Desactivado | Usa el combinador del módulo en lugar de depender solo del CCC nativo. |
| Eliminar el CSS no utilizado | Desactivado | Elimina los selectores que no aparecen en las plantillas y scripts recopilados. Comprueba después los componentes dinámicos. |
| "Resource Hints" | Activado | Añade indicaciones preload, prefetch, preconnect y DNS-prefetch compatibles. |
| CSS por tipo de página | Desactivado | Usa variantes de hojas de estilo creadas offline para tipos de página compatibles. Si falta una variante o está desactualizada, se usa la hoja completa. |
| CSS inicial generado | Desactivado | Inserta en línea CSS inicial validado producido por el proceso offline. Es la etiqueta actual de la descripción anterior "Critical CSS". |
| Páginas con CSS inicial | auto |
Selecciona automáticamente inicio, categorías principales, productos destacados y páginas CMS clave por idioma, o proporciona URL de destino explícitas. |
| Presupuesto del CSS inicial | 51200 bytes |
Presupuesto en línea, permitido de 8192 a 51200 bytes. Una página que necesite más conserva sus hojas completas. |
| JS aplazado en reposo | Desactivado | Carga después el JavaScript de módulos seleccionados mediante la vía de aplazamiento hasta la inactividad. |
| Módulos diferidos | Ninguno | Elige recursos de módulos para aplazar hasta la inactividad. Prueba las funciones interactivas que dependen de ellos. |
Activar el CSS generado no inicia un navegador durante una solicitud de la tienda. Créalo con los procesos separados. Estado del CSS inicial generado informa de su disponibilidad. El proceso "Critical CSS" necesita Node 22.12 o posterior y su entorno de navegador configurado. Sigue sus instrucciones incluidas para generar y desplegar.
Estos comandos CLI inspeccionan o inicializan el trabajo; no completan por sí mismos la generación mediante navegador:
php modules/mprperformancerevolution/cli/critical-css.php --targets
php modules/mprperformancerevolution/cli/critical-css.php --seed
php modules/mprperformancerevolution/cli/critical-css.php --status
php modules/mprperformancerevolution/cli/page-type-css.php --status
Reconstruye los datos CSS offline después de cambios relevantes en hojas de estilo, plantillas, scripts o contenido. Si los datos generados faltan o no son válidos, el módulo vuelve a las hojas completas.
Configurar la caché de páginas de origen
Abre Configuración > Caché de páginas de origen.
| Ajuste | Predeterminado | Efecto |
|---|---|---|
| Activar la caché de páginas de origen | Desactivado | Almacena y sirve HTML anónimo validado antes de la ejecución normal del controlador. |
| TTL de la caché de páginas de origen | 86400 segundos |
Intervalo permitido: de 60 a 2592000 segundos. |
| URL excluidas adicionales | Vacío | Añade rutas o patrones glob, uno por línea. Se mantienen las exclusiones integradas de rutas privadas y sesiones. |
| Cabecera de diagnóstico | Activado | Emite X-MPR-PageCache con hit, miss o una razón estructural de omisión. |
Es una auténtica caché de página completa en origen que usa el gestor del módulo. Es independiente de la caché HTML CDN y los fragmentos Smarty. Carrito, cuenta, pago, administración, AJAX, cookies de sesión no seguras y consultas desconocidas la omiten según la política de ejecución.
Actívala solo tras comprobar una página anónima limpia y los casos de omisión requeridos. Solicita dos veces la misma URL anónima e inspecciona X-MPR-PageCache. Después prueba acceso, creación del carrito, cambios de moneda/idioma y páginas privadas en sesiones de navegador separadas.
Configurar calentamiento y tareas programadas
Abre Configuración > Precalentamiento de caché.
| Ajuste | Predeterminado | Efecto |
|---|---|---|
| Activar el precalentamiento de la caché de origen | Desactivado | Activa pasadas programadas al origen. |
| Permitir el precalentamiento CLI tras el despliegue | Activado | Permite una pasada CLI completa tras el despliegue. |
| Concurrencia | 1 |
Solicitudes simultáneas al origen. |
| Tiempo máximo de ejecución | 120 segundos |
Limita una pasada normal. |
| Conjunto de URL | all |
Elige Crítico, "Manifest", "Sitemap" o Todos. |
| IP de resolución del origen | 127.0.0.1 |
Resuelve el host de la tienda a esta IP para calentar el origen. |
| Límite tras un precalentamiento reciente | 12 horas |
Omite URL calentadas recientemente en pasadas normales. |
| Pausa entre solicitudes | 500 ms |
Espacia las solicitudes. |
| Detener por encima de la carga del servidor | 100 por ciento |
Pausa cuando la carga normalizada del host alcanza el límite configurado. |
| Activar el precalentamiento del edge de Cloudflare | Desactivado | Calienta URL públicas mediante el edge. |
| Intervalo de precalentamiento del edge | 6 horas |
Limitación tras un calentamiento edge reciente. |
| Renderizados de precalentamiento por hora | 6 |
Presupuesto compartido de renderizados programados. |
| Tiempo de solicitudes de precalentamiento por hora | 60 segundos |
Presupuesto compartido de tiempo de solicitudes programadas. |
| Inicio tranquilo de cada bloque de 10 minutos | 30 segundos |
Reserva el principio de cada bloque para otras tareas programadas. |
Copia el token realmente generado al programador del servidor. Un comando habitual del ejecutor es:
* * * * * php /var/www/html/modules/mprperformancerevolution/cron.php --token=YOUR_TOKEN --max-tasks=20 --max-seconds=55 --context=cron
Ajusta las rutas PHP y de la tienda. El ejecutor también procesa limpiezas declaradas, invalidaciones/purgas pendientes, trabajos de imágenes y mantenimiento CSS según el estado de las tareas. Activar una función y programar su tarea son comprobaciones separadas.
Una pasada manual tras desplegar puede usar:
php modules/mprperformancerevolution/cli/warm-cache.php --full --both --url-set=all --concurrency=1 --resolve-ip=127.0.0.1 --max-seconds=120
Usa --edge solo para edge, --cron para modo cron y --help para los argumentos compatibles. Lee el resumen de estados desactivados, fallidos o de escritura externa bloqueada. Una pasada pausada o limitada por presupuesto puede ser normal con valores predeterminados conservadores.
Supervisar, depurar y verificar
Abre Configuración > Monitoreo. Activar la recogida de métricas está activado por defecto, Conservación de métricas vale 30 días y Métricas de usuarios reales está activado. La tasa interna de muestreo RUM es del 10 por ciento. Las métricas del panel incluyen estado del adaptador, aciertos, fallos, tasa de aciertos, memoria, consultas lentas y medidas disponibles TTFB, FCP, LCP, CLS e INP.
Abre Configuración > Modo dev para suspender temporalmente los ajustes de caché. Modo dev empieza inactivo, guarda la configuración anterior y la restaura al desactivarse o caducar. Modo depuración de empleado empieza desactivado y habilita la salida de desarrollo de PrestaShop solo para empleados reconocidos con la cookie de depuración validada del módulo.
En Configuración > Depuración, Superposición de depuración, Activar el panel de depuración y Panel del perfilador están desactivados por defecto. Direcciones IP permitidas y ID de empleados permitidos empiezan vacíos. Perfilador: solo empleados está activado por defecto. Restringe los diagnósticos durante las pruebas y desactívalos al terminar.
Hay archivos opcionales del perfilador en optional-overrides/classes/Hook.php y optional-overrides/classes/db/Db.php. Usa el procedimiento protegido de instalación de overrides del perfilador para comprobar los existentes. Limpia el estado de clases/caché de PrestaShop según ese procedimiento. No sobrescribas overrides ajenos con una copia incondicional. Retira los overrides opcionales mediante el mismo procedimiento cuando dejen de ser necesarios.
Después de cada cambio de configuración, comprueba inicio, listado, producto, carrito y pago, y confirma cabeceras de caché y razones de omisión en sesiones de cliente separadas. Los hooks de catálogo, stock, precios y contenido invalidan etiquetas compatibles, pero los cambios en tema, integraciones y reglas CDN pueden requerir vaciado explícito.
Resolver problemas y desinstalar
Si el adaptador difiere de tu selección, inspecciona la disponibilidad del backend y la resolución del punto de conexión Redis. Si una página omite la caché, lee su razón diagnóstica antes de aumentar límites o cambiar la política de cookies. Para HTML obsoleto, comprueba origen y edge por separado y confirma que terminó la invalidación.
Si la agrupación, el aplazamiento o cambios CSS rompen un componente, desactiva el ajuste afectado, vacía sus archivos generados o su caché y vuelve a probar. Para CSS generado, revisa el estado y el registro del proceso. Para errores de imágenes, comprueba codificadores y permisos de escritura. Para calentamiento pendiente, revisa ejecutor, interruptor de función, carga del host y presupuestos.
Antes de desinstalar, retira los overrides opcionales del perfilador que instalaste y revisa las reglas CDN activas. Desactiva o elimina las reglas edge del módulo mediante el procedimiento CDN para que la zona no siga almacenando rutas privadas sin la protección de origen prevista. Respalda la configuración y los datos generados que necesites.
La desinstalación elimina tareas programadas, arranque de depuración de empleados, clase de caché Redis instalada, menús y tablas del módulo. Revisa después la configuración de caché del núcleo de PrestaShop y cualquier configuración CDN externa; no supongas que Module Manager deshace toda la configuración remota.
Compatibilidad
Requiere PrestaShop 1.6.1 o posterior y PHP 7.1 o posterior.
Preguntas
Aún no hay preguntas sobre este módulo
Pregunta lo que quieras sobre instalación, compatibilidad o configuración. Las respuestas aparecen aquí.
Problemas conocidos
27
Las páginas en caché no se separan de forma fiable al alcanzar la capacidad
Las páginas eliminadas siguen ocupando capacidad de caché
El vaciado de caché puede dejar contenido regenerado desactualizado
El carrusel del pie falla si se retrasa su script de inicio
Las páginas ausentes del catálogo reciben una política de caché compartida
Las páginas incompletas entran en la caché de páginas
Google One Tap impide guardar en caché páginas públicas
Vaciar el carrito deja a los visitantes anónimos fuera de la caché
Los paquetes de scripts diferidos no se inicializan
La página de gestión de recursos no se abre
Falla la redirección al acceso del back office en PrestaShop 9
El vaciado selectivo de caché no identifica los productos elegidos
Los datos ausentes en caché afectan a los precios de grupo
Las medias de rendimiento de visitantes son engañosas
Las páginas filtradas del catálogo muestran otro resultado
Los controles cargados dinámicamente pierden su estilo
La lightbox de imágenes del contenido no se abre enseguida
El slider principal de inicio arranca demasiado tarde
Faltan variantes modernas de imágenes o están desactualizadas
El vaciado de caché omite páginas traducidas del catálogo
Refuerzo de la seguridad
La gestión de caché no se abre o no elimina entradas
El contenido de los carritos anónimos se pierde con la caché de páginas
Los menús desplegables aparecen abiertos un instante al cargar
Las vistas previas firmadas muestran contenido público en caché
La optimización de imágenes diferidas daña los scripts
Los botones de pago exprés dejan de funcionar
Solicitudes de funcionalidades
17
Implementado
Precarga programada de las cachés de origen y Cloudflare
Caché de páginas completas con Cloudflare
Generación de hojas de estilo críticas
Imágenes AVIF y recursos diferidos
Precarga de navegación
Conservación de recursos generados
Actualizaciones del módulo con un clic
Instant Navigation e indicaciones anticipadas de recursos
Calentamiento automático de caché
Caché de páginas de contenido
Excepciones para recursos diferidos
Caducidad de caché según publicaciones programadas
Caché de páginas públicas para el personal
Calentamiento de caché priorizado por datos
Diagnóstico de fallos de caché
Protección frente a la carga de renderizado de páginas
Precarga opcional de datos de página
Registro de cambios
v1.5.152026-05-27
- AddedFinalize performance endpoint SEO cleanup
- AddedRetain generated assets across cache clears
- AddedFlip CDN cache from whitelist to blacklist — cache all pages by default
- AddedHover prefetch for perceived-instant navigation
- AddedStrip tracking query params (srsltid, fbclid, gclid) to prevent CDN cache fragmentation
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedDelay full listing stylesheet load
- ImprovedInline critical listing render assets
- ImprovedServe compact category intro images
- FixedKeep listing image optimization theme-safe
- FixedMigrate module state to MPR config
- FixedPurge localized catalog urls
- FixedCache knowledge base pages at edge
Versiones anteriores
v1.3.02026-04-20
- AddedOrganize config form via getTabsDefinition() and adopt masked_key
- AddedFix CDN cache bypass for pages with session init during rendering
- AddedLicense management tab with key management and renewal options
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedcomplete FR/DE/ES/IT/PL translations
- Improvedadmin list columns with visual badge indicators and multiselect filters
- FixedAddLazyLoading regex no longer corrupts inline script blocks
- FixedStop stripping checkout JS on pages with express checkout buttons
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
v1.1.02026-03-12
- Addedlazy-loading fallback polyfill for Safari 14 and older iOS devices
- AddedCSS/JS minification toggle per asset type (theme / module)
- ImprovedRedis connection pooling — module reuses existing PS Redis instance
- FixedOPcache invalidation race condition after module config save
v1.0.02026-02-20
- Initialrelease: comprehensive performance suite for PrestaShop
- InitialRedis full-page caching with automatic tag-based invalidation
- InitialNative image optimisation pipeline with WebP output
- InitialCSS/JS minification and CDN origin rewrite
- InitialCompatible with PS 1.7.x and PS 8.x
v1.2.02026-01-14
- AddedPS 9 / Hummingbird theme compatibility and Symfony cache layer hooks
- Addedper-route Redis cache TTL override for high-churn category pages
- ImprovedWebP conversion quality slider in back-office image settings
- Optimized DB query cache: deduplicated redundant JOIN patterns in heavy-load scenarios
- FixedCDN rewrite not applying to srcset attributes in product gallery
Demo
Prueba el módulo completo antes de comprar
Compra la licencia más tarde y conserva tus ajustes.
- Tu demo de 30 días Pruébalo en tu propia tienda durante 30 días desde la primera instalación.
- Tienda demo lista Explora una tienda demo lista en tu navegador.
- Sin registro Sin cuenta, correo ni dominio de tienda.
Al descargar, aceptas las condiciones de la demo y la política de privacidad.
Al abrir esta demo, acepta los términos de la demo y la política de privacidad.