Super Speedy Ajax Prices
Super Speedy Ajax Prices lets you cache your WooCommerce product and shop pages fully — while still showing accurate, personalised prices to every visitor. It replaces price output with lightweight placeholders on the cached page, then batch-fetches correct real-time prices via a single AJAX request after load. Full page caching. Accurate prices. No compromise.
Full page caching is one of the most effective ways to speed up a WooCommerce store, but WooCommerce prices are dynamic. Role-based pricing, geo-located tax rates, sale prices, and tiered discounts all mean the price shown to one visitor may be wrong for another. Cache the page, and you risk serving the wrong price.
Super Speedy Ajax Prices solves that. It replaces WooCommerce price output with lightweight placeholders at the point the cached page is served, then fires a single batch AJAX request after page load to fetch the correct real-time price for every product on the page. Your cache stays intact. Every visitor sees the right price.
What Super Speedy Ajax Prices gives you back
- Full-page caching without wrong prices. Serve shop and product pages instantly from full-page cache while every visitor still sees their own correct price.
- No more cache exclusions. Stop excluding your highest-traffic catalogue pages from cache. They become safe to cache, so they no longer hit PHP and the database on every view.
- The right price for every visitor. WooCommerce runs its full pricing logic per visitor, covering geo, tax, sale and role-based rules, so the placeholder is replaced with the correct real-time price.
- Tiny overhead. Every product on the page is priced in a single batched AJAX request, not one request each, so the overhead stays tiny.
- Zero layout shift. The cached price stays visible during the swap and prices update in place with no flicker or jump.
Key features
- Sales and dynamic pricing. Calls WooCommerce’s own price functions, so sale prices, role-based and dynamic-pricing rules all apply.
- Smart exclusions. One click to skip AJAX pricing for logged-in users or once a cart has items, matching what your cache already does.
- Works with your caching plugin. Sits alongside WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, NitroPack and Cloudflare or edge caching.
- Recommended setup. Enable full page caching on shop and product archive pages, exclude cart, checkout and account pages as normal, and leave
admin-ajax.phpuncached. - Requirements. WordPress 5.0 or newer, WooCommerce active, and PHP 7.0 or newer.
Why choose Super Speedy Ajax Prices
Super Speedy Ajax Prices Knowledge Base
View full Knowledge Base →What's new in Super Speedy Ajax Prices?
View full changelog →- Added WooCommerce Product Bundles and Composite Products support. When either of those plugins is active, the AJAX stock-refresh response now carries per-child / per-component availability for those product types — bundles include a `bundled_items` map (per child: in-stock, purchasable, optional, max stock) plus the bundle's overall stock roll-up, and composites include a `components` map (per component: title, optional flag, default option, and per-option in-stock/purchasable state). This lets fully-cached archive and product pages show accurate per-part availability. Each adapter self-registers only when its parent plugin is present (and is a harmless no-op otherwise), and the data is included only when the "Refresh stock via AJAX" option is enabled. Verified by new end-to-end tests for both product types.
- Security hardening: the AJAX price/stock endpoint now only ever returns data for Published products. Draft, pending, private, and scheduled products are no longer turned into AJAX placeholders and are skipped by the handler, so unpublished prices and stock levels can no longer be enumerated by unauthenticated visitors. Admins previewing an unpublished product still see the correct price — it simply isn't refreshed via AJAX until the product is published.
- Capped the number of products processed per AJAX request (default 200) to prevent a single request from forcing thousands of product loads. The cap is adjustable via the new `ssap_max_products_per_request` filter — see the Developer Reference KB article.
- Hardened request handling so a malformed (non-array) product list can no longer trigger a PHP error; incoming IDs are now de-duplicated and zero-filtered before processing.
- Added .kb troubleshooting and developer-reference guides.
- Updated the Super Speedy Settings page: added a "Recheck Licenses" button above the licence table so customers have a clear way to refresh licence status after a renewal or upgrade without scrolling down to the licence-key field. The button is disabled until a licence key is entered/saved and re-enables as you type.
- The Recheck flow now also force-bypasses the auth-server's own 1-hour licence cache (via a `force=1` flag on the `wpiapi/check_product_key` call), so renewals/upgrades that completed less than an hour before a recheck no longer show as expired/exceeded. Normal admin page loads continue to use both caches as before — only an explicit Recheck click bypasses them. (Lives in the `super-speedy-settings` submodule, so the change propagates to every Super Speedy plugin.)
- Added a bunch of playright tests to check for regressions in future deployments
Invest in Speed
Choose your license below.
Price range: €99.00 through €199.00