WP Manifestindependent plugin directory
manifest / performance / wp-spa-navigator

WP SPA Navigator

Makes your WordPress site load pages without full page reload — like a Single Page App. Works with WooCommerce cart, checkout, add to cart, remove item, and all navigation links. Zero page reloads across entire site.

by Jatin Parmar · github.com/jatinparmar3/wp-spa-navigator · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/jatinparmar3/wp-spa-navigator/archive/refs/heads/main.zip

Readme

=== WP SPA Navigator === Contributors: jatinparmar Tags: spa, ajax, page load, no reload, woocommerce, performance, single page app Requires at least: 5.6 Tested up to: 6.7 Requires PHP: 7.4 Stable tag: 3.0.0 License: GPL-2.0+ License URI: https://www.gnu.org/licenses/gpl-2.0.html

Makes your WordPress site navigate pages without any full page reload — like a native app. Zero reloads across your entire site.

== Description ==

WP SPA Navigator intercepts every internal link click and form submit on your site and loads the target page dynamically, swapping only the content area. The result: instant page transitions, no white flash, no full reload — your entire WordPress site feels like a native mobile app.

Everything works without page reload:

  • All internal navigation links (Home, About, Blog, Shop, etc.)
  • WooCommerce Add to Cart (simple, variable, and grouped products)
  • WooCommerce Remove item from cart
  • WooCommerce Update cart quantities
  • WooCommerce Apply / Remove coupons
  • WooCommerce Mini-cart widget auto-refresh
  • Contact form submissions
  • Search results
  • All WordPress pages and custom post types

Features:

  • Zero configuration — just activate and it works
  • Configurable content selector — works with any theme
  • Fade, Slide, or instant (None) transitions
  • Top progress bar while loading (color customisable)
  • Scroll-to-top on page change
  • Smart page cache — instant back/forward navigation
  • Prefetch on hover — pages start loading before you click
  • Beautiful toast notifications for cart actions
  • Excluded URLs list — force full reload on specific pages
  • Full browser Back / Forward button support
  • WooCommerce mini-cart fragment refresh
  • Auto re-initializes JavaScript after navigation
  • Loading spinner on buttons during AJAX actions
  • Mobile responsive toast notifications

== Installation ==

  1. Upload the wp-spa-navigator folder to /wp-content/plugins/
  2. Activate the plugin through the Plugins menu
  3. Go to Settings → SPA Navigator
  4. Set the Content Selector to match your theme (default #main)
  5. Save and test — click any link on your site

== Frequently Asked Questions ==

= How do I find the correct Content Selector? = Open your site in Chrome, right-click the main content area, choose "Inspect". Look for the wrapper div with an id or class — typically #main, #content, .site-content, or main.

= Does it work with WooCommerce? = Yes! Add to cart, remove from cart, update quantities, apply coupons — everything works without any page reload.

= Does it work with WooCommerce checkout? = Checkout and payment forms are automatically handled by WooCommerce's own AJAX system. The plugin does not interfere with payment processing.

= A plugin breaks after SPA navigation — what do I do? = Add that page's URL to the Excluded URLs list in Settings. It will then load normally with a full page reload.

= Does Back/Forward still work? = Yes. The plugin uses the browser's History API so Back and Forward buttons work correctly. With page cache enabled, back/forward is instant.

= What is Prefetch on Hover? = When you hover over a link, the plugin begins loading that page in the background. By the time you click, the page is already loaded — making navigation feel instant.

== Changelog ==

= 3.0.0 =

  • Complete rewrite for maximum reliability
  • Added AJAX remove from cart (no reload)
  • Added AJAX update cart quantities (no reload)
  • Added AJAX apply/remove coupons (no reload)
  • Added smart page cache for instant back/forward
  • Added prefetch on hover for near-instant navigation
  • Added beautiful toast notifications with animations
  • Added loading spinner on buttons during actions
  • Fixed popstate infinite loop bug
  • Fixed missing toast notification styles
  • Fixed inline script execution errors
  • Improved WooCommerce fragment refresh
  • Improved CSS transitions (fade/slide using CSS classes)
  • Added meta description update on navigation
  • Added cart cache invalidation on cart changes
  • Mobile responsive improvements

= 2.0.0 =

  • Added direct browser fetch navigation
  • Added WooCommerce integration
  • Added form submission handling

= 1.0.0 =

  • Initial release

Read the full README on GitHub →