How to show conditional messages on PrestaShop product pages
One rule shows the right message, badge or button on the pages it targets, then removes it when the condition changes. Setup steps, a concrete case and limits.
Full page cache with precise purge, pre-load and pre-compressed pages.
A stored page is sent before PrestaShop builds the page, with no database query from the module.
Visit your pages in advance from the dashboard or a scheduled task, before your visitors arrive.
Pages are compressed once when stored: Gzip, and Brotli when your server has the extension.
Only the pages concerned are cleared when you edit a product, a price, a promotion or a stock level.
Each shop, language, currency and device (desktop or mobile) has its own stored copy.
Test in one click, then follow the hit rate, the speed-up and the reasons why visits skipped the cache.
Every time a visitor loads a page, PrestaShop runs the full stack: framework initialization, database connection, hundreds of SQL queries, Smarty template compilation, hook execution for every installed module, and finally HTML generation. On a store with dozens of modules and thousands of products, this cycle takes hundreds of milliseconds to several seconds per page, and it is repeated for every visitor even though most pages are identical for everybody.
During that time, your visitor waits. Google also factors page speed into its ranking through Core Web Vitals, meaning a slow store hurts both your conversion rate and your SEO.
Cache Pro saves the final HTML output of each page the first time it's generated, then serves that stored copy to every subsequent visitor. It is sent before PrestaShop starts building the page: the server no longer has to generate the page again, it simply reads a file and sends it. The result:

Every stored page is compressed once, at save time, in Gzip and, when your server has the PHP Brotli extension, in Brotli as well. When a visitor requests a page, Cache Pro serves the best format the browser accepts, based on its Accept-Encoding header. Brotli usually produces smaller files than Gzip, which helps most on mobile connections. Unlike on-the-fly compression, pre-compression adds no compression work at serve time.
Before compression, Cache Pro can strip HTML comments and the spaces between tags from the stored copy. Scripts, styles and text are untouched, and you can disable it with one click if a theme does not like it.
A full page cache must never show a page built for somebody else: visitor-specific elements like the shopping cart would be frozen in the stored HTML. That is why logged-in customers and visitors with a cart always get normal, exact pages built by PrestaShop by default: the cart, the totals and the account are never frozen or shared.
Prefer to give visitors with a cart the stored pages too? Cache Pro takes a smarter approach: an advanced option sends the stored page, then refreshes the cart block with a light AJAX request once the page has loaded, so the cart always shows current data. A button detects the cart block of the Classic and Hummingbird themes; for another theme, enter the hook and the CSS selector of the block. The page of such a visitor is never stored.

You should never have to clear the cache manually after editing your store. Cache Pro listens to PrestaShop's core events and automatically purges only the pages concerned when you:
A page that shows a promotion which starts or ends later is stored only until that moment, so a scheduled promotion appears and ends on time. Purges also work when the cache is switched off, so a page can never come back outdated.
After a full purge or a fresh install, the cache is empty and the first visitors to each page experience normal load times. Cache Pro's built-in warm-up, called pre-load in the module, solves this by pre-visiting your pages, filling the cache before any real visitor arrives: home page, categories, best sales, new products, brands, suppliers, products and CMS pages, in every language and, if you wish, in the mobile version. It uses your sitemap or your product catalog.

PrestaShop pages change based on the visitor's context. Cache Pro keeps a separate copy for each:
A Swiss visitor browsing in CHF will never receive the stored page of a visitor in EUR.
Cache Pro includes a clean, beginner-friendly dashboard that shows you what the cache is doing, with no technical knowledge required:
Need to refresh specific pages? Clear everything, one type of page (with the number of stored pages and a plain-language explanation of when to do it), or one page from its address. A confirmation dialog protects the full clear, the latest purges are listed with their cause, and the warm-up can refill the cache right after.

Sync your store with an ERP, PIM or deployment pipeline? Cache Pro gives you an address protected by a secret token: a cron job cleans the cache and runs the warm-up, and your tools can purge everything, a page type, a product, a category, a CMS page, a brand, a supplier or an address, start the warm-up and read the statistics, all from a simple HTTP request.
actionDispatcher), before the page is builtX-WP-Cache: HIT, MISS or BYPASS)Compatible with PrestaShop 1.7.8, 8.0+ and 9.1+, with PHP 7.4 minimum, the cURL and zlib extensions and a cache folder the module can write to. PrestaShop 1.7.7 and earlier, and 9.0, are not supported. One archive fits all these versions. The interface is available in French, English, Spanish, Italian and Polish. Keep only one full page cache module at a time.
Support is provided from your WePresta customer area or by email at mail@wepresta.shop, depending on the support option of your plan. Read the full documentation
See how we compare to the most common alternatives on the market.
| Feature | WePresta | Addons |
|---|---|---|
| payments Transparent pricing | check_circle | cancel |
| update Lifetime updates included | check_circle | cancel |
| support_agent Direct developer support | check_circle | cancel |
| verified PS 1.7, 8 & 9 compatible | check_circle | help_outline |
| code Standardized clean code | check_circle | cancel |
| storefront Multi-store ready | check_circle | help_outline |
| money_off No hidden renewal fees | check_circle | cancel |
Find answers to frequently asked questions about this module
Join +9 merchants using this module
5-minute installation · Full documentation included
check_circle
check_circle