Cache plugin compatibility
Run NivoSync alongside LiteSpeed Cache, WP Rocket, W3 Total Cache and other full-page caches โ what works out of the box, and which optimisation toggles to avoid.
NivoSync is built to work with full-page cache plugins out of the box. The diamond catalogue and single diamond pages are rendered visitor-neutral and are safe to cache; per-visitor details (wishlist, compare, view mode, fresh security tokens) are applied in the browser after the page loads. NivoSync automatically marks its genuinely dynamic pages โ the Ring Builder, the compare page and the wishlist page โ as non-cacheable using the WordPress DONOTCACHEPAGE standard, which every major cache plugin honours.
That said, some optimisation features that ship alongside cache plugins rewrite your site's HTML, CSS and JavaScript โ and aggressive settings there can break any dynamic plugin, NivoSync included. This page lists exactly which settings to avoid and why.
Safe to enable
| Feature | Notes |
|---|---|
| Full-page cache (any TTL) | NivoSync refreshes its security tokens client-side, so even week-long TTLs are fine. |
| Browser cache | Safe. |
| HTML Minify | Safe. |
| CSS Minify | Safe. |
| Object cache (Redis/Memcached) | Safe if your host actually provides Redis or Memcached โ confirm before enabling. Common pitfall: when your host gives you a UNIX socket path (e.g. /home/user/.redis/redis.sock), put it in the Host field and set Port to 0 โ leaving the default port causes a failed connection. Always check "Connection Test: Passed" before switching the object cache on. |
| Cache crawler / preload | Safe. NivoSync's dynamic pages announce themselves as non-cacheable, so crawlers skip them. |
Settings that will cause problems
| Setting (LiteSpeed name) | Also known as | What breaks |
|---|---|---|
| Load JS Deferred: Delayed | "Delay JavaScript execution" (WP Rocket) | The diamond catalogue, filters and Ring Builder stay frozen until the visitor clicks or scrolls. Exclude the NivoSync script handles (ns-app, ns-wishlist, ns-compare, ns-view-toggle, theme scripts) or turn the feature off. |
| JS Combine | "Combine JavaScript files" | Can break the load order between NivoSync's configuration data and its scripts, leaving the catalogue non-functional. Exclude NivoSync scripts or keep it off. |
| Generate UCSS / Unique CSS | "Remove unused CSS" (WP Rocket) | UCSS keeps only the CSS selectors found in the initial HTML. Diamond cards loaded via filtering or "load more", the quick-view modal and the compare bar arrive later via AJAX โ their styles get stripped and they render unstyled. Exclude NivoSync pages/stylesheets or keep UCSS off. |
| Guest Mode + Guest Optimization | โ | Serves a generic cached copy to first-time visitors that can bypass NivoSync's cache exclusions. Keep off, or test your Ring Builder flow thoroughly after enabling. |
| Lazy Load Images | โ | Injecting lazy-load placeholders inside the 360ยฐ viewer breaks it. Add .ns-360-viewer (and your gallery containers) to the lazy-load exclusion list. |
| DB Optimizer โ "Clean All Transients" | โ | Guest Ring Builder sessions are stored as WordPress transients. Purging all transients wipes the ring selections of every visitor currently building a ring. "Clean expired transients" is fine. |
Recommended LiteSpeed Cache baseline
If you want a known-good starting point (this is what we run on our own demo sites):
- Cache โ [1] Cache: Enable Cache ON ยท Cache Logged-in Users OFF ยท Cache Commenters OFF ยท Cache REST API OFF ยท Cache Login Page ON ยท Cache Mobile OFF
- General: Guest Mode OFF ยท Guest Optimization OFF
- Page Optimization: everything OFF (or enable only CSS/HTML Minify)
- Object cache: OFF unless your host confirms Redis/Memcached is available (ask for the host/port or socket path first)
Keep your Nivoda sync running
Full-page caching means anonymous visits often don't execute PHP, which can starve WordPress's built-in cron (wp-cron) โ and NivoSync's scheduled diamond sync runs on it. If you rely on page caching, set up a real server cron:
- Add
define( 'DISABLE_WP_CRON', true );towp-config.php. - Create a server cron job (cPanel โ Cron Jobs) hitting
https://yoursite.com/wp-cron.php?doing_wp_cronevery 5โ15 minutes.
If something looks broken
- Purge all caches first. Most reports after changing cache settings are just a stale cached copy.
- Disable the optimisation features above one by one (JS Delay โ JS Combine โ UCSS) and re-test after purging each time.
- Still stuck? Contact
support@nivosync.comwith your cache plugin name and a copy of its settings export โ we can spot the conflicting toggle quickly.