Browse AjaxPress docs

What AjaxPress does

On this page

On an ordinary WordPress site, every click on a link loads a whole new page. The screen goes white for a moment, and anything that was playing (a radio stream, a podcast, a video) stops. AjaxPress changes that. Visitors move from page to page without a full reload, and a player you choose keeps playing the whole time.

It works with your existing theme, page builder and plugins. There is nothing to rebuild and, for most sites, nothing to configure.

AjaxPress in 60 seconds

What your visitors get

  • Players that never stop. A live stream, podcast or music player keeps playing while visitors browse. This is what AjaxPress is best known for, and it is free.
  • No white flash between pages. The next page loads out of sight and replaces the current one only when it is ready.
  • A loading indicator. A thin progress bar (or a spinner) shows that something is happening.
  • Forms without a reload. Contact forms, search, comments, logins and WooCommerce forms submit in place.
  • Working Back and Forward buttons, with the right address in the address bar and the right page title.

How it works

When a visitor first arrives, AjaxPress keeps that first page as a lightweight “shell” and shows your site inside a full-screen frame on top of it. When they click a link on your site:

  1. AjaxPress loads the next page in a second, hidden frame.
  2. When that page is ready, it swaps the two frames, updates the address bar and title, and copies the new page’s SEO tags into the shell.
  3. Anything you marked as persistent, such as your player, lives in the shell rather than in a page, so it is never reloaded.

Each page still loads as a normal, complete WordPress page. Your theme’s scripts, sliders, galleries and widgets run exactly as they would without AjaxPress, so they don’t need any special handling.

Links to other websites, links that open in a new tab, downloads, mailto: and tel: links, and anything in wp-admin load the normal way. See Which links AjaxPress handles.

SEO

Nothing changes for search engines:

  • Every page keeps its real address. AjaxPress uses the browser’s History API, so there are no #! URLs.
  • Search engine crawlers (Googlebot, Bingbot and the other major ones) are served your pages without AjaxPress at all.
  • For visitors, the canonical link, meta description, robots tag, Open Graph and Twitter tags, and JSON-LD structured data are updated on every page change. Yoast SEO, Rank Math, All in One SEO and SEOPress all work.

Free and Pro

Everything above is in the free plugin from wordpress.org. AjaxPress Pro is a separate add-on plugin for sites that want more:

FeatureFreePro
Ajax navigation, forms, Back and ForwardYesYes
Persistent players you can mark upYesYes
Check my player: see which players AjaxPress findsYesYes
Persistent players found automatically (auto-detect) or picked with a CSS selector (Media Players)Yes
Exclude Links, Custom CSS, scroll to top, admin bypassYesYes
Loading bar or spinnerDefault styleFully styled
Hover prefetch (pages load before the click)Yes
Page transitions (fade, slide, flip, scale) and loading cursorYes
Block keyboard reloadYes
SPA for the admin dashboard (before WordPress 7.0)Yes
Super Cache by CloudflareYes
Export, import and reset settingsYes
Priority supportYes

Next steps