=== AjaxPress - Single Page Application, Ajax Navigation & Persistent Media Player === Contributors: arraystory Tags: ajax, performance, speed, single page application, persistent player Requires at least: 5.3 Tested up to: 7.0 Stable tag: 2.3.4 Requires PHP: 7.1 License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.html Ajax navigation that turns your site into a single page application. Instant page loads, smooth transitions, audio/video that never stops. == Description == **A true Single Page Application (SPA) plugin - no coding, no configuration.** Stop losing visitors to slow page loads. AjaxPress replaces full page reloads with instant ajax navigation, giving your site a blazing-fast, app-like experience that keeps users engaged and coming back. 👉 **[Unlock Pro Features](https://arraystory.com/ajaxpress/)** - Advanced features & priority support **💨 Instant page loads.** Visitors get zero-delay page transitions with smooth navigation - no white screens, no waiting, no frustration. Lower bounce rates, longer sessions. **🎵 Audio and video never stop.** Live streams, podcasts, and music keep playing seamlessly while users browse. A game-changer for radio stations, podcast networks, and music platforms. [youtube https://www.youtube.com/watch?v=Sq0b3PVJJfs] = How It Works = AjaxPress intercepts internal link clicks and loads the next page over ajax instead of a full browser reload. Real URLs are preserved via the History API, the page title and head metadata (canonical, OpenGraph, JSON-LD) are synced on every navigation, and back/forward buttons work exactly as expected. Search engines crawl your site normally - nothing changes for SEO. = Compatible With Your Theme, Page Builder, and Plugins = AjaxPress is built for maximum compatibility and actively tested with the most popular themes, page builders, and plugins. Just activate - no configuration needed. 🎨 **Themes:** Astra, GeneratePress, Kadence, OceanWP, Hello Elementor, Blocksy, Neve, Divi, Avada, Flatsome, Storefront, and more. 🔧 **Page Builders:** Elementor, Bricks, Beaver Builder, Divi Builder, WPBakery, Oxygen, Breakdance, Zion Builder, Spectra, Gutenberg, and more. 📝 **Forms:** Contact Form 7, WPForms, Gravity Forms, Formidable Forms, Ninja Forms, Fluent Forms, Elementor Forms, and more. ⚡ **Caching:** WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, SG Optimizer, Cloudflare, Bunny CDN, and more. 🔍 **SEO:** Yoast SEO, Rank Math, All in One SEO, SEOPress, and more. 🛒 **eCommerce:** Full WooCommerce compatibility including products, cart, checkout, and extensions. Also works with Easy Digital Downloads, and more. ⚛️ **Modern JS Frameworks:** React, Vue, Solid, Alpine.js pages work perfectly. No style breaking, no script conflicts. 🌐 **Browsers & Devices:** Chrome, Firefox, Safari, Edge, Opera. Desktop, tablet, mobile. All modern browsers supported. = Single Page Application Features = ⚡ **Ajax Navigation** - True app-like UX that keeps visitors engaged 🎵 **Persistent Audio/Video Player** - Media continues playing across your entire site 🏃 **Instant Page Loading** - Zero refresh, zero lag, pure speed 👆 **Smart Prefetch** - Pages preload on hover, before visitors even click ✨ **Page Transitions** - Fade, slide, and custom animations for polish 📊 **Progress Bar** - Visual loading indicator that reassures visitors 🔌 **Broad Compatibility** - Tested with popular themes, builders, and plugins 🔐 **SEO Friendly** - Real URLs, synced metadata, search engines crawl normally 💪 **Mobile Optimized** - Works great on desktop, tablet, and mobile 🔥 **Want more?** [Go Pro](https://arraystory.com/ajaxpress/) - Advanced features and priority support = Built for Radio, Podcast, Music, and Content Sites = 📻 **Radio Stations & Live Streaming** - Never interrupt your listeners' experience 🎙️ **Podcast Networks** - Seamless episode navigation with uninterrupted playback 🎵 **Music & Artist Portfolios** - Showcase your sound without a single pause 🛍️ **eCommerce Stores** - Lightning-fast product browsing that converts browsers to buyers 📰 **News & Publishing** - Instant article switching for addicted readers 🖼️ **Creative Portfolios** - Silky-smooth project navigation that wows clients 🎬 **Video Platforms** - Continuous streaming across your entire catalog = SEO Friendly = 🔗 Real URLs via History API 📝 Meta tags update per page 🕷️ Search engines crawl normally ✅ Works with Yoast, Rank Math, AIOSEO 📈 Google Analytics compatible = AjaxPress Pro = **Take your site to the next level.** The free version is powerful - AjaxPress Pro unlocks advanced features and priority support for sites that need more. **[👉 See AjaxPress Pro Plans & Pricing](https://arraystory.com/ajaxpress/)** = Privacy & External Services = AjaxPress respects your privacy. The plugin works fully without sending any data anywhere. Optionally - and **only with your explicit consent** - AjaxPress can share non-confidential diagnostic data (such as PHP/WordPress version and plugin settings) via [PackEdge](https://packedge.dev) to help us reproduce and fix issues faster. You can review exactly what is shared and opt out at any time. See the [PackEdge privacy policy](https://packedge.dev/privacy/) for details. PackEdge is also used for license activation (Pro) and an optional deactivation-feedback form. No visitor data from your site's frontend is ever collected. == Installation == **Get started in 3 steps:** 1. Go to **Plugins > Add New** 2. Search for **AjaxPress** 3. Click **Install Now**, then **Activate** - your site transforms instantly ⚡ **That's it.** Your site is now a lightning-fast SPA. Optional: Visit **Settings > AjaxPress** for customization options, or upgrade to [Pro for advanced features](https://arraystory.com/ajaxpress/). == Frequently Asked Questions == = Will it work with my theme? = Yes. AjaxPress is tested with Astra, GeneratePress, Kadence, Divi, Avada, OceanWP, Blocksy, Neve, Flatsome, Storefront, and many more. No configuration needed. = Will it work with my page builder? = Yes. Elementor, Bricks, Beaver Builder, Divi Builder, WPBakery, Oxygen, Breakdance, and Gutenberg are all tested and supported. = Will my forms work? = Yes. Contact Form 7, WPForms, Gravity Forms, Formidable Forms, Ninja Forms, Fluent Forms, and Elementor Forms all work out of the box. = Will my audio/video keep playing during navigation? = Yes - that's AjaxPress's signature feature. Your media player continues uninterrupted while visitors browse your entire site. = Does it work with caching plugins? = Yes. WP Rocket, LiteSpeed Cache, W3 Total Cache, WP Super Cache, SG Optimizer, Cloudflare, and Bunny CDN are all supported. = Will it break my SEO? = No. AjaxPress uses real URLs via the History API and syncs meta tags, canonical tags, and JSON-LD structured data on every navigation. Search engines crawl your site normally. Works with Yoast, Rank Math, and all major SEO plugins. = Does it work with React/Vue/Solid pages? = Yes. Pages built with modern JS frameworks work without style breaking or script conflicts. No configuration needed. = Does it work on mobile? = Yes. All modern browsers on all devices - desktop, tablet, and mobile - are fully supported. == Screenshots == 1. Navigation settings - control how ajax navigation behaves across your site 2. Loader styles - pick the loading indicator that matches your brand 3. Cursor behaviours - subtle cues that make navigation feel instant 4. Transitions and page content animations - fade, slide, and custom effects 5. Preserve Elements - keep audio/video players playing across every page == Changelog == For full changelog, see [changelog.txt](https://plugins.svn.wordpress.org/ajaxpress/trunk/changelog.txt) = 2.3.4 = * Fixed: On block themes such as Twenty Twenty-Five, the browser back button could trigger a full page reload that reset persistent players. AjaxPress now switches off WordPress's built-in block navigation scripts that competed with its own SPA navigation = 2.3.3 = * New: Cloudflare cache integration — purge and manage Cloudflare edge cache directly from the AjaxPress settings panel * Fixed: Duplicate browser-history entries. Each navigation now adds exactly one entry and the back button no longer traps visitors in a loop * Fixed: Back/forward navigation that hits a server redirect no longer creates unwanted forward entries * Fixed: The `ajaxpress:ready` event now fires after the URL and title are updated, so analytics listeners read the correct page * New: `ajaxpress_page_view` dataLayer event for Google Analytics 4 / Tag Manager, with page_location, page_title, and measured engagement_time_msec so GA4 engagement metrics keep working on SPA navigation * New: `ajaxpress-loading` and `ajaxpress-complete` events are now emitted as documented * Fixed: Ctrl/Cmd+click and Shift+click on links now open a new tab or window instead of navigating in place * Fixed: `target="_blank"` is matched case-insensitively, and a site-wide `` is honored * Fixed: Links with a `download` attribute are no longer intercepted by SPA navigation * Fixed: Elements opted into persistence no longer appear twice in the page shell * Fixed: No more doubled audio with persistent media players. The previous page is fully unloaded after navigation and the hidden original player copy is removed once lifted * Fixed: Premium settings (Media Players, Exclude Links, loader customizations) are no longer erased when a license check fails or the plugin is re-activated * Fixed: A temporary license-server outage no longer deactivates your license. Only a definitive invalid-key response does * Security: The license key is no longer printed in the public page source. The frontend now receives only a validity flag = 2.3.2 = * New: Rebuilt licensing and activation - faster, more reliable license validation and a smoother activation flow * New: Send feedback directly from the Help page, with a quick happy / neutral / unhappy rating * New: Rating prompt to share your experience, plus a one-click way to leave a review * New: Optional diagnostic sharing via [PackEdge](https://packedge.dev) (only non-confidential data, only with your consent) so we can reproduce and fix issues faster. See our [privacy policy](https://packedge.dev/privacy/) for details. * Improved: Deactivation now asks for a quick, optional reason to help us improve the plugin * Changed: Minimum required PHP is now 7.1 * Changed: Tested up to WordPress 7.0 == Upgrade Notice == = 2.3.4 = Fixes the browser back button reloading the whole page on block themes (such as Twenty Twenty-Five), which reset persistent audio/video players. Recommended for any block-theme site. = 2.3.3 = Adds Cloudflare cache management directly from the settings panel. Fixes the browser back button reloading the whole page on block themes, doubled audio with persistent players, duplicate back-button history entries, and premium settings being lost on license hiccups. Adds a GA4 `ajaxpress_page_view` event for correct analytics on SPA navigation. = 2.3.2 = Major reliability release with improved licensing, feedback system, optional diagnostic sharing to help us fix bugs faster, and support for PHP 7.1+. [See pricing & plans](https://arraystory.com/ajaxpress/).