=== AjaxPress - Single Page Application for WP | No Reload, Instant Navigation ===
Contributors: arraystory, iamjafran
Donate link: https://arraystory.com/donate
Tags: single page application, spa, no reload, instant navigation, persistent player
Requires at least: 5.3
Tested up to: 6.9
Stable tag: 2.3.1
Requires PHP: 5.6
License: GPL3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Instant page loads with zero reload. AJAX navigation, persistent audio/video players, and prefetch. Perfect for radio and podcast sites.

== Description ==

**Finally, a true SPA for WP.** AjaxPress transforms your site into a blazing-fast Single Page Application – no coding, no configuration, just activate and go.

**Pages load instantly.** No refresh, no white screen, no waiting. Your visitors get app-like experience.

**Your media never stops.** Audio and video keep playing while users browse. Perfect for radio stations, podcasts, and music sites.

[youtube https://www.youtube.com/watch?v=Sq0b3PVJJfs]

= Works With Everything =

AjaxPress is built for maximum compatibility. No broken styles, no script conflicts, 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.

= Features =

* **Single Page Application** – True SPA experience out of the box
* **Persistent audio/video** – Media keeps playing across pages
* **Instant navigation** – Content loads without page refresh
* **Prefetch on hover** – Pages preload before click
* **Page transitions** – Fade, slide, custom animations
* **Progress bar** – Visual loading indicator
* **Works everywhere** – Compatible with all themes and plugins

= Perfect For =

* **Radio stations** – Live stream never stops
* **Podcast sites** – Episodes play uninterrupted
* **Music portfolios** – Seamless listening experience
* **eCommerce** – Fast product browsing
* **Blogs** – Instant article switching
* **Portfolios** – Smooth project navigation

= 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

== Installation ==

1. Go to **Plugins > Add New**
2. Search for **AjaxPress**
3. Click **Install Now**, then **Activate**
4. Done – your site is now a Single Page Application

Optional: Visit **Settings > AjaxPress** to customize.

== Frequently Asked Questions ==

= Will it work with my theme? =

Yes. AjaxPress works with all popular themes including Astra, GeneratePress, Kadence, Divi, Avada, OceanWP, and more.

= Will it work with my page builder? =

Yes. Full compatibility with Elementor, Bricks, Beaver Builder, Divi Builder, WPBakery, Oxygen, and Gutenberg.

= Will my forms work? =

Yes. All popular forms work out of the box – Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Fluent Forms.

= Will my audio/video keep playing? =

Yes. That's a key feature. Your media player continues uninterrupted while users browse.

= Does it work with caching plugins? =

Yes. Fully compatible with WP Rocket, LiteSpeed Cache, W3 Total Cache, Cloudflare, and all major caching solutions.

= Will it break my SEO? =

No. Real URLs, proper meta tags, search engines crawl normally. Works with Yoast, Rank Math, and all SEO plugins.

= Does it work with React/Vue/Solid pages? =

Yes. Pages built with modern JS frameworks work perfectly. No style breaking, no script conflicts.

= Does it work on mobile? =

Yes. All devices and all modern browsers are fully supported.

== Screenshots ==

1. Navigation settings
2. Loader styles
3. Cursor behaviours
4. Transitions and page content animations
5. Preserve elements for persistent audio/video players
6. Advanced settings
7. Help pages
8. Loader progress bar

== Changelog ==

For full changelog, see [changelog.txt](https://plugins.svn.wordpress.org/ajaxpress/trunk/changelog.txt)

= 2.3.1 =
* Fixed: JSON-LD structured data (Yoast, Rank Math, SEOPress, etc.) is now replaced cleanly on every navigation, resolving duplicated BreadcrumbList and "Missing field 'item'" errors in Google Search Console
* Fixed: Canonical, OpenGraph, and Twitter Card meta tags now sync to the parent shell on every nav, so social previews and search engines see the page being viewed instead of the initial-load URL
* Fixed: Iframe sub-document is now flagged noindex,nofollow so JS-rendering crawlers do not double-index the same URL twice
* Fixed: External links with target="_blank" now open in a new tab instead of replacing the current page
* Fixed: Persistent player no longer briefly duplicates on Mobile Safari during scroll-and-hold gestures
* Fixed: Persistent elements with sticky child widgets (Elementor) are now properly hidden in the iframe source
* New: Persistent media (audio, video, radio widgets) is lifted into the parent shell and keeps playing without reload across all navigation
* New: `ajaxpress:ready` event for re-initializing external scripts after AJAX navigation

= 2.3.0 =
* New: SPA navigation for wp-admin area
* New: Option to block keyboard reload (F5/Ctrl+R)
* New: Prefetch on mousedown for even faster navigation
* New: Option to skip already visited links in prefetch
* Fixed: Theme and plugin compatibility issues
* Fixed: Sliders, carousels, and animations now work without configuration
* Fixed: Forms, search, and comments work out of the box
* Improved: Simplified settings panel with cleaner defaults
* Improved: No more script re-execution configuration needed

= 2.2.5 =
* Fixed: Modal not reopening after first use
* Fixed: Sliders and countdown timers freezing
* Fixed: Forms and comments breaking after navigation
* Fixed: CSS breaking on theme pages
* Fixed: Back button issues with hash URLs

= 2.2.4 =
* Improved: Redesigned preview panel
* Improved: Simplified Help page
* Fixed: Desktop/mobile toggle in preview

= 2.2.3 =
* New: Preserve Elements for persistent players
* New: Persistent Player support
* Improved: Script loading and sequencing

== Upgrade Notice ==

= 2.3.1 =
SEO and stability release. Fixes JSON-LD duplication, syncs canonical and social-share meta tags on every nav, prevents iframe sub-document double-indexing, restores `target="_blank"` external links, and adds an `ajaxpress:ready` event for re-initializing external scripts.

= 2.3.0 =
Major compatibility update. Works with all themes and plugins out of the box. Settings migrate automatically.

= 2.2.5 =
Stability fixes for sliders, forms, and back button navigation.

= 2.2.3 =
Persistent player support – audio/video keeps playing during navigation.
