Overview
By default, Logic Hop functions at the pre-page level and page level, integrating with the WordPress engine in real time. This lets conditions and goals be evaluated and tracked before a page is generated, enabling redirects, page tracking, goal triggers, and Conditional CSS, while in-page elements such as conditional widgets are rendered during page generation.
Cache plugins like WP Super Cache, W3 Total Cache, and WP Rocket speed up WordPress by serving static, pre-generated pages. That bypasses the WordPress engine — and Logic Hop's default pre-page and page-level processing. Javascript Mode solves this so you can use any cache plugin while keeping page-view tracking, goal tracking, and redirects.
Javascript Mode
Javascript Mode automatically converts Logic Tags, Logic Blocks, and Logic Bars into content wrapped in specially formatted HTML span and div elements. After the page loads, Logic Hop evaluates the visitor's data via AJAX and renders the appropriate content. This keeps conditional content accurate even when the HTML itself is served from cache.
Enabling Javascript Mode
Enable Javascript Mode and Javascript Variables in the Logic Hop settings. Once enabled, review pages that contain Logic Tags, blocks, bars, and conditional widgets to confirm everything renders as expected with your cache active.
Selective caching and page events
Page Render Settings let you control caching behavior per page. Pre-page and page-level events such as redirects and goal triggers continue to run via Javascript Mode, and you can selectively disable caching for pages that must always be processed server-side.
Disabling caching for specific pages
Some pages — for example those relying on real-time redirects — should not be cached. Use your cache plugin's exclusion rules to bypass caching for those URLs so Logic Hop's server-side processing always runs.
Host-specific notes: WP Engine and Pantheon
On WP Engine, exclude the relevant pages from the cache (and Varnish) so dynamic Logic Hop pages are not served statically. On Pantheon, be aware of the pantheon_stripped marker used when caching strips dynamic content; combine Javascript Mode with per-page cache exclusions to keep personalization working. Specific cache plugins and services may need their own exclusion settings.