AjaxPress – SPA & Ajax Navigation with Persistent Audio Player for Radio
Your radio stream, podcast or music keeps playing while visitors browse your whole site. On a normal WordPress site, every click reloads the page – and the audio stops. Listeners have to press play again, and most of them don’t. AjaxPress replaces full page reloads with instant ajax navigation, so the player never cuts out. Unlock Pro Features – Advanced features and priority support Audio and video never stop. Live radio streams, podcast episodes and music keep playing seamlessly across every page. Built for radio stations, podcast networks and music platforms – the one thing a normal WordPress site cannot do. Instant page loads. Visitors get smooth page transitions with no white screens and no waiting. Lower bounce rates, longer sessions. 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 tested against 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. Page builders are supported on the frontend – the pages they build navigate like any other. Editing is left alone: when you open a page in Divi, Bricks, Beaver Builder, Oxygen, Breakdance or the Customizer, AjaxPress recognises the builder and steps aside completely, so the builder loads exactly as it would without the plugin. Nothing to configure. If you have turned on “SPA for Admin Dashboard”, we still suggest leaving it off while you build. 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. Modern JS frameworks: React, Vue, Solid and Alpine.js pages work without style breaking or script conflicts. Browsers and devices: Chrome, Firefox, Safari, Edge and Opera, on desktop, tablet and mobile. Single Page Application Features Ajax navigation – app-like page changes with no full reload Persistent audio and video player – media keeps playing across your whole site. Free for any player you can mark up (see the FAQ); the Pro settings screen lets you point at a player with any CSS selector instead Instant page loading – no refresh, no white screen between pages Smart prefetch (Pro) – pages preload on hover, before the click Page transitions – fade, slide and custom animations Progress bar – a loading indicator so visitors know something is happening SEO friendly – real URLs via the History API, per-page meta tags, canonical and JSON-LD synced on every navigation, and normal crawling. Works with Yoast, Rank Math and AIOSEO, and reports correctly to Google Analytics Mobile optimised – works the same on desktop, tablet and mobile Want more? Go Pro – Advanced features and priority support Built for Radio, Podcast, Music, and Content Sites Radio stations and live streams keep their listeners through every click. Podcast networks let an episode run while visitors browse the archive. Music sites and artist portfolios play without a pause. The same ajax navigation makes product browsing, article reading and portfolio and video catalogues feel instant on any other kind of site. 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 and Pricing Source Code The JavaScript that runs on your site is minified for size. The unminified source it is built from ships inside the plugin, under src/, along with the Vite configs and package.json needed to rebuild it. src/frontend/ builds public/js/ajaxpress.min.js and src/admin/ builds public/js/admin.min.js, both with Vite. From the plugin folder: npm install npx vite build --config ./src/frontend/vite.config.js npx vite build --config ./src/admin/vite.config.js Privacy & External Services AjaxPress does not send anything anywhere on its own. Nothing below runs unless you turn it on or connect it, and none of it touches your visitors: no data from your site’s frontend is ever collected. PackEdge (optional diagnostics) Optionally, and only with your explicit consent, AjaxPress can share non-confidential diagnostic data (such as PHP and WordPress version and plugin settings) with api.packedge.dev so we can reproduce and fix issues faster. You can review exactly what is shared and opt out at any time. See the PackEdge site and privacy policy. Cloudflare (edge caching, optional) If you connect a Cloudflare account on the Cache screen, AjaxPress talks to the Cloudflare API at api.cloudflare.com on your behalf to read zones and manage caching rules for your site. Nothing is sent to Cloudflare until you connect. See the Cloudflare privacy policy and terms. If you use the one-click “Connect with Cloudflare” option, the authorization step passes through an OAuth relay we operate at ajaxpress-oauth.astory.workers.dev. The relay exists so the OAuth client secret never has to ship inside the plugin. It exchanges the authorization code for a token and hands it back to your site; the token is stored encrypted in your database. You can skip the relay entirely by pasting your own Cloudflare API token instead, which never leaves your server except to Cloudflare.
Top keywords
- page16×1.66%
- site12×1.25%
- ajaxpress11×1.14%
- cloudflare10×1.04%
- js8×0.83%
- builder7×0.73%
- pro7×0.73%
- api6×0.62%
- forms6×0.62%
- vite6×0.62%
- music5×0.52%
- navigation5×0.52%
Gallery Slice
The standard gallery in WordPress has one limitation — it always shows all the pictures in the gallery. I know there are alternative galleries available, which support pagination, but I never thought this is a good approach. The reader never wants to see n-th page of the gallery — if the first page got his attention, then he wants to see all of the rest, not split into pages anymore. At least, this is how I see it. So, if you run a blog, on which you publish huge galleries with many many many pictures, maybe you want to show only preview of the gallery on archive pages (homepage, categories, archives etc.), so the individual posts are not too long. The gallery-preview then contains a link, which loads the rest of the gallery if the reader wishes so, via Ajax. Well, this plugin brings exactly that, all with standard WordPress gallery. Single posts are untouched, they still show full galleries, at least for now. You can reach similar functionality just by creating two galleries and putting the tag in between them — and the archive page shows only the first gallery, while single post shows the whole gallery. But, this plugin has several advantages: it can be set and forget, and then the plugin automatically applies it for every post/gallery published. If the gallery is followed by another text, then this text is still displayed on the archives page. Loading of the rest of gallery is handled by Ajax (with fallback to single-post URL if Ajax fails). In options, you specify two values: first one threshold — amount of images, if the gallery exceeds this many, it is sliced into a preview. This is the second value, how many images should be shown in a preview. This allows to have 2 different values for that, e.g. 9 images for preview, but 12 images for threshold, which makes some flexibility, that if the gallery is 10 images big, then it is not shortening by jsut one image. Anyway, you can also specify the same values, if you wish. These two values are specified on three levels: global (per blog), per post and per gallery tag. You can also specify not to slice a gallery in specific post, resp. not to slice a specific gallery. Plugin supports several lightbox implementations. License WTFPL License 2.0 applies DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. ToDo's * enable plugin to work in opposite manner - do not automatically slice down galleries, but only on posts / tags where the downto attr is set * re-check WP-Minify on possibility to use the compiled JS files (internal) * enable slicing w/ Ajax loading on single posts
Top keywords