- Full page caching
- Smart context handling
- Automatic invalidation
- Gzip and Brotli compression
- HTML minification
- Cache warm-up
- Dynamic modules with AJAX
- Dashboard and statistics
- Secure REST API
- Is the module compatible with my PrestaShop theme?
- Does the module work in multistore mode?
- Does the cache handle languages and currencies?
- Do I need to clear the cache manually after every change?
- Is the module compatible with all hosting environments?
- Can I keep a dynamic cart with full page cache?
- How can I check whether the cache is really working?
- Does the module improve SEO?
- Is the module compatible with other cache modules?
- Can the cache be controlled from an external tool?
Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX
Overview
Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX is a Full Page Cache module for PrestaShop designed to significantly speed up your store by storing a ready-to-serve HTML version of your pages. Instead of recalculating every page on each visit through PHP, Smarty, and SQL, the module delivers a pre-generated copy directly. This approach drastically reduces server response time (TTFB) and improves user experience, search engine visibility, and conversion rates.
On a PrestaShop store with multiple modules, many products, and regular traffic, each page can require a large number of server-side operations. Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX removes that overhead on cacheable pages, making it possible to achieve extremely fast loading times, even on standard hosting environments.
This module is intended for PrestaShop merchants who want to improve the performance of their ecommerce site without relying on complex infrastructure. It is suitable for single-store setups as well as multistore, multilingual, and multi-currency environments.
Key benefits:
- Full server-side page caching
- Major reduction in TTFB
- Smart automatic purge when content changes
- Cache warm-up to preload catalog pages
- Pre-generated Gzip and Brotli compression
- Multilingual, multi-currency, and multistore support
- Dynamic modules loaded via AJAX
- Dashboard with statistics and performance indicators
- Secure REST API for external tools
- Compatible with PrestaShop 8 and 9
Why use cache on PrestaShop
The PrestaShop performance issue
PrestaShop works dynamically. For every request, the server must execute the CMS core, load modules, query the database, compile templates, and generate the final HTML. This architecture is powerful, but it becomes resource-intensive when the store contains many products, pricing rules, modules, or concurrent visitors.
In practice, this can lead to slow response times, a sluggish browsing experience, a higher bounce rate, and lower conversions. Ecommerce performance is not only a technical matter: it has a direct impact on revenue and SEO visibility.
The Full Page Cache solution
The principle of Full Page Cache is simple: when a page is visited for the first time, it is generated normally and then stored as a compressed HTML file. On subsequent visits, that version is served immediately, without running the full PrestaShop generation cycle again.
The result is impressive: fewer computations, fewer SQL queries, lower CPU usage, and a much smoother browsing experience for your visitors.
Real impact on your store
With Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX, you can achieve:
- a significantly lower TTFB
- better scores in performance tools
- possible improvements to Core Web Vitals
- a more stable store under load
- a smoother browsing experience on both mobile and desktop
Features
Full page caching
The module stores a complete HTML version of your store pages and serves it directly to visitors when the context matches. This avoids executing PHP code and SQL queries for already cached pages.
Caching can apply to product pages, category pages, CMS pages, the homepage, and other compatible pages depending on your configuration.
Smart context handling
The module takes into account the different contexts that affect how the store is displayed:
- language
- currency
- country
- shop
- mobile or desktop device
- visitor group or context
- cookie consent depending on configuration
As a result, a visitor browsing in English and USD will not receive the same cached version as a visitor browsing in French or EUR. This separation ensures a consistent and secure display.
Automatic invalidation
One of the strengths of Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX is its ability to automatically purge the right pages whenever changes are made in PrestaShop. For example:
- product updates
- price or stock changes
- category updates
- CMS page edits
- adding or removing a specific price
- order validation affecting stock
This means you do not need to clear the cache manually after every routine change.
Gzip and Brotli compression
The module pre-generates compressed cache files in both Gzip and Brotli. The browser automatically receives the most suitable version depending on its capabilities.
This pre-compression speeds up content delivery and avoids server-side on-the-fly compression for every response.
HTML minification
An option allows HTML to be minified before being stored:
- removal of unnecessary comments
- removal of extra spaces
- removal of empty lines
This further reduces page size and improves compression efficiency.
Cache warm-up
The module can automatically crawl site URLs to build the cache before visitors access the pages. This preloading feature is especially useful:
- after module installation
- after a full purge
- after a large catalog update
- after a theme change
Warm-up can use the XML sitemap if available, or rebuild URLs directly from the PrestaShop catalog.
Dynamic modules with AJAX
Some areas must never be frozen in cache, such as:
- the cart
- customer login status
- certain custom blocks
- session-based elements
The module allows these areas to be converted into dynamic blocks loaded via AJAX. This keeps the page extremely fast while still displaying personalized content after load.
Dashboard and statistics
The back office includes a complete dashboard with useful indicators:
- number of cached pages
- number of pages served from cache
- disk space used
- cache efficiency rate
- distribution by page type
- response time comparisons
These metrics make it easy to monitor the module’s performance.
Secure REST API
A token-protected REST API allows the module to integrate with external tools such as:
- ERP systems
- PIM systems
- synchronization scripts
- deployment tools
- internal automations
For example, you can trigger a purge after a catalog update or launch a warm-up from an external script.
Installation
- Download the module ZIP file from your WePresta customer account.
- In the PrestaShop back office, go to Modules > Module Manager.
- Click Upload a module.
- Select the module ZIP file.
- Start the installation.
Once installed, the module automatically prepares its environment:
- creation of the required database elements
- creation of the cache directory
- registration of the necessary hooks
- application of recommended default settings
Installation is simple and fast, even on a live production store.
Getting started
Enable caching
After installation, go to the module configuration page and enable the cache system using the main setting. By default, the module may be installed but inactive until you explicitly enable it.
Visit store pages
Once enabled, the cache fills automatically as pages are visited. The first visit generates the page, and subsequent visits benefit from cached delivery.
Launch a warm-up
To get optimal performance immediately, it is recommended to launch a cache warm-up. This prepares the most important pages before the first visitors arrive.
Configuration
General settings
The module provides several global configuration options:
- enable or disable cache
- debug mode with HTTP headers
- HTML minification
- dynamic block handling
- REST API activation
- specific exclusions
These settings allow you to adapt the cache behavior to your store, theme, and hosting environment.
TTL by page type
The TTL defines how long a cached page remains valid. Once the time has expired, the page can be regenerated.
You can define a different TTL for:
- homepage
- product pages
- category pages
- CMS pages
- other pages
Recommended default values are available to provide a good balance between fresh data and performance.
Debug mode
Debug mode adds HTTP headers that make it easy to see whether a page is being served from cache. This helps during technical testing and troubleshooting.
Examples of visible information:
- HIT or MISS
- cache key
- cache age
- applied TTL
Advanced settings
For more technical needs, the module also supports:
- exclusion by URL pattern using regex
- exclusion by IP address
- custom dynamic blocks
- warm-up behavior settings
- API token configuration
Cache management
Full purge
The full purge button deletes all stored cache files. This is useful after a major update, a theme change, or an important technical intervention.
After a complete purge, it is recommended to launch a warm-up immediately.
Selective purge
The module also allows you to purge only certain page families:
- homepage
- products
- categories
- CMS pages
- other pages
This avoids clearing everything when a change affects only part of the site.
Cache warm-up
Why use warm-up
Warm-up prevents the first visitors from experiencing normal generation times. By preloading the most important pages in advance, your store is fast from the very first visits.
URL sources
The module retrieves URLs from several sources:
- XML sitemap if available
- active products
- active categories
- active CMS pages
- homepage
Warm-up speed
Several levels may be available depending on your hosting power:
- safe mode
- recommended mode
- fast mode
The right choice depends on your hosting environment and the server load you can accept.
Automatic invalidation
Supported events
The module monitors major PrestaShop events in order to automatically purge affected pages. This includes:
- product updates
- category changes
- CMS updates
- promotions
- stock changes
- some order validations
This logic helps prevent visitors from seeing outdated data on cached pages.
Cases not automatically detected
Some changes cannot always be detected if they bypass standard PrestaShop behavior, for example:
- direct database modifications
- certain third-party modules
- theme or template changes
- external synchronizations without hooks
In those cases, a manual purge or API call may be required.
Exclusions
Exclusions by page type
Some pages should never be cached, especially:
- checkout
- customer account
- search pages
- pages containing sensitive forms
- some session-dependent pages
The module makes this easy to manage through dedicated options.
Advanced URL exclusions
Regex patterns can be added to exclude specific URLs or groups of pages depending on your needs.
IP exclusions
You can also disable cache for specific IP addresses, for example your internal team or admin IP, so you can see changes immediately.
Dynamic modules
Why use hole punching
Elements such as the cart or the logged-in customer name should not be frozen in cached HTML. The hole punching system serves a very fast cached page, then replaces dynamic areas with their actual content via AJAX.
Supported dynamic blocks
You can configure dynamic blocks using:
- an internal label
- a PrestaShop hook
- a target CSS selector
This makes the module suitable for both the native theme and third-party themes.
REST API
API usage
The module’s REST API allows you to control certain actions remotely using a secure token sent in HTTP headers.
Available actions
Common use cases include:
- full cache purge
- purge by page type
- purge of a specific product
- purge of a specific category
- launch warm-up
- retrieve statistics
This API is particularly useful for merchants with a connected ecosystem involving ERP, PIM, or automation scripts.
Technical operation
Creating a cache entry
When a visitor loads a page, the module checks whether a compatible version already exists. If it does, that version is served immediately. Otherwise, the page is generated normally and then stored in cache for future visits.
Cache key
Each cache entry relies on a key calculated from several context factors, ensuring that the correct version of a page is delivered based on language, currency, shop, or device.
File storage
Cache files are organized by page type within the module directory. Storage is structured to make purging, diagnostics, and compressed version management easier.
Verifying that the module works
Check with HTTP headers
By enabling debug mode, you can quickly verify cache behavior in your browser’s developer tools.
Expected behavior is simple:
- first load: MISS
- next load: HIT
Check via the dashboard
The dashboard should show a gradual increase in:
- number of cached pages
- number of pages served from cache
- overall efficiency rate
Check on the server
By looking into the cache directory on the server, you should see the generated compressed HTML files created by the module.
Compatibility
PrestaShop compatibility
The module is compatible with:
- PrestaShop 8.0 to 9.x
It integrates with the standard CMS architecture and respects the key store contexts.
PHP compatibility
The module requires:
- PHP 7.4 or higher
Although PHP 7.4 is supported, PHP 8.x is recommended for better performance and more modern compatibility.
Theme compatibility
The module is designed to work with:
- the Classic theme
- the Hummingbird theme
- most third-party themes
Depending on your theme, some CSS selectors for dynamic blocks may need to be adjusted.
Hosting compatibility
The module can be used on:
- shared hosting
- VPS
- dedicated server
- cloud infrastructure
The recommended warm-up level depends on the available server resources.
Requirements
- PrestaShop 8.0 or 9.x
- PHP 7.4 or higher
- PHP
zlibextension - write permissions on the
modules/directory - HTTPS recommended for optimal operation
FAQ
Is the module compatible with my PrestaShop theme?
Yes, Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX is compatible with standard PrestaShop themes as well as most third-party themes. If your theme uses a specific HTML structure for the cart, user area, or other dynamic blocks, some CSS selectors may need to be adjusted in the module settings.
Does the module work in multistore mode?
Yes, the module is compatible with PrestaShop multistore mode. Each shop has its own cache context, its own statistics, and its own settings depending on your back-office configuration.
Does the cache handle languages and currencies?
Yes, Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX stores separate cache versions according to language, currency, and other context variables. This ensures that the right page is delivered to the right visitor.
Do I need to clear the cache manually after every change?
No, in most cases this is not necessary. The module includes an automatic invalidation system that purges affected pages when a product, category, CMS page, or other essential data is updated.
Is the module compatible with all hosting environments?
Yes, the module works with most hosting environments that support PrestaShop. On shared hosting, a safe warm-up mode is recommended. On a VPS or dedicated server, you can use more aggressive settings.
Can I keep a dynamic cart with full page cache?
Yes, thanks to AJAX-loaded dynamic blocks. The module allows you to keep a cached HTML page while still displaying the cart, login state, and other personalized elements correctly.
How can I check whether the cache is really working?
The easiest way is to enable debug mode and inspect the HTTP headers in your browser. You can also check the module dashboard or verify the presence of cache files on the server.
Does the module improve SEO?
Yes, indirectly. By greatly reducing loading times and TTFB, the module improves the user experience and technical performance of your store, which can positively impact search engine visibility.
Is the module compatible with other cache modules?
It is recommended not to use several full page cache systems at the same time. To avoid conflicts, it is better to disable other full page cache modules before enabling Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX.
Can the cache be controlled from an external tool?
Yes, the module provides a token-secured REST API. This makes it possible to trigger purges, warm-ups, or targeted actions from an ERP, a PIM, or an automation script.
Support
For any question related to installation, configuration, or troubleshooting, you can contact the WePresta team through your customer account or by email.
To speed up support, it is recommended to provide:
- your PrestaShop version
- your PHP version
- your theme
- your hosting type
- a clear description of the issue
- screenshots if needed
Changelog
Version 1.0.0
- Initial module release
- Full Page Cache implementation
- Multilingual, multi-currency, and multistore context handling
- Smart automatic invalidation
- Gzip and Brotli compression
- HTML minification
- Performance dashboard
- Cache warm-up
- Dynamic AJAX blocks
- Secure REST API