Super Speedy Ajax Prices

Quick Start Guide

Published · Last updated

Get Super Speedy AJAX Prices working in a few minutes. By the end your WooCommerce product and shop pages can be fully page-cached while still showing each visitor the correct, personalised price.

What the plugin does (in one paragraph)

Full page caching serves every visitor identical HTML — which is great for speed but wrong for prices that depend on the visitor (geolocation, tax/VAT, dynamic-pricing rules, memberships, currency). This plugin lets you cache those pages anyway: it replaces each price on the page with a placeholder that still shows the cached price, then — after the cached page loads — fetches the real, per-visitor price for every product in a single AJAX request and swaps it in. The visitor sees the correct price; your cache stays intact.

Requirements

  • WordPress 5.0+ and WooCommerce active (the plugin shows an admin notice and does nothing if WooCommerce is missing).
  • PHP 7.0+.
  • A full-page caching layer (plugin or CDN/edge) — this is what makes the plugin worthwhile. See Caching Plugin Configuration.
Note

Without a full-page cache in front of your catalogue there is nothing to correct – the pages already render each visitor’s price server-side. The plugin earns its keep only once shop, product and category pages are cached.

Step 1 — Install & activate

  1. Upload and activate Super Speedy AJAX Prices like any plugin (Plugins → Add New → Upload, or unzip into wp-content/plugins/).
  2. On activation, a new Super Speedy menu appears in the admin sidebar (shared by all Super Speedy plugins). Your settings live under Super Speedy → AJAX Prices, which has two tabs: Main (everyday options) and Settings (Ajax Type + the benchmark).

Step 2 — Confirm it’s working (before you turn caching on)

You can verify the plugin even with no cache active:

  1. Open a shop or category page on the front end.
  2. View source / DevTools — each price is wrapped in <span class="ajax-price" data-product-id="…">.
  3. In the DevTools Network tab, reload and look for the single prices request. With the default Ajax Type (Normal Ajax) that’s an admin-ajax.php request with action=ssap_get_prices; its JSON response carries the real price HTML, and each on-page price gets the ajax-price-loaded class once swapped. (The exact URL depends on your Ajax Type — see Step 4.)

If you see the placeholders and the one request resolve, the plugin is functioning. If not, see Troubleshooting.

Step 3 — Configure your caching plugin

This is the important step. In short:

  • Cache your shop, product, and category pages (do not exclude them).
  • Exclude cart, checkout, and my-account pages from the cache.
  • Never cache the prices request (admin-ajax.php is excluded by default everywhere; if you choose a REST-based Ajax Type, exclude /wp-json/ssap/ too).

Per-plugin instructions (WP Super Cache, W3 Total Cache, LiteSpeed, WP Rocket, Cloudflare/edge) are in Caching Plugin Configuration.

Common mistake

Adding your shop, product or category pages to a ‘never cache’ list. Those are the very pages the plugin is built to make cacheable – exclude only cart, checkout and my-account.

Step 4 — Choose an Ajax Type (speed vs compatibility)

On the Settings tab, Ajax Type decides how the prices request is delivered. The default, Normal Ajax, is the safest and works everywhere — start there. Faster types (Fast Ajax, Ultra Ajax) skip loading unrelated plugins for a speed gain, but some pricing/membership plugins depend on what gets skipped, so a faster type can return base prices instead of dynamic ones.

Don’t guess — use the built-in tools:

  • Benchmark (Settings tab) times all five types on your products and checks each returns the same prices as a full load. Run it as a guest and as a logged-in customer. Pick the fastest type it marks as safe (for plugin-heavy stores this is usually Fast Ajax).
  • Test — “See what each customer sees” (Main tab) shows the actual prices two visitors get side by side, with a dropdown to try each Ajax Type.

Full detail: Choosing an Ajax Type and Benchmark & Customer Test Tools.

Step 5 — Set what shows while prices load

On the Main tab, While prices load controls the split-second before each real price arrives. Choose Dimmed (default — the cached price is dimmed then fades to the real one), Spinner, or Loading text. All three keep the real price in the HTML for search engines. A live preview shows each option. See Display While Prices Load.

Step 6 — Optional behaviour settings

Also on the Main tab:

  • Ajax prices for logged-in users / Ajax prices with a cart — turn these off to match whatever your cache already bypasses (most caches don’t serve cached pages to logged-in or has-cart visitors, so AJAX pricing is unnecessary there).
  • Ajax stock too — also keep stock text and Add-to-Cart buttons live on cached pages. See Live Stock Refresh.
  • Fix prices for VAT-exempt locations — only if you enter prices inclusive of tax and sell into VAT-free regions. See VAT-Exempt / Tax-Inclusive Pricing.

Every option is explained in the Settings Reference.

That’s it

With caching configured and an Ajax Type verified, your catalogue pages are fully cacheable and still show correct per-visitor prices.

Further reading

The speed/compatibility trade-off and how to verify.
Confirm correct and fast on your store.
Get the cache rules exactly right.
If prices don’t load or look wrong.

Comments

▲
▼
1/1