NivoSync
Se connecterAcheter

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.

5 min readUpdated 2026-07-20

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

FeatureNotes
Full-page cache (any TTL)NivoSync refreshes its security tokens client-side, so even week-long TTLs are fine.
Browser cacheSafe.
HTML MinifySafe.
CSS MinifySafe.
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 / preloadSafe. NivoSync's dynamic pages announce themselves as non-cacheable, so crawlers skip them.

Settings that will cause problems

Setting (LiteSpeed name)Also known asWhat 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 OptimizationServes 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 ImagesInjecting 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.

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:

  1. Add define( 'DISABLE_WP_CRON', true ); to wp-config.php.
  2. Create a server cron job (cPanel → Cron Jobs) hitting https://yoursite.com/wp-cron.php?doing_wp_cron every 5–15 minutes.

If something looks broken

  1. Purge all caches first. Most reports after changing cache settings are just a stale cached copy.
  2. Disable the optimisation features above one by one (JS Delay → JS Combine → UCSS) and re-test after purging each time.
  3. Still stuck? Contact support@nivosync.com with your cache plugin name and a copy of its settings export — we can spot the conflicting toggle quickly.