Description
Speed Without the Bloat
Most caching plugins ship with hundreds of options, dashboards full of charts, and constant upsell prompts. xSpeed takes the opposite approach: a single-page admin UI, a master toggle, and the optimizations that move the needle. Activate, flip the switch, done.
xSpeed delivers full-page caching, HTML/CSS/JS minification, and GZIP compression in a clean React-powered admin built for developers and site owners who want speed without the noise.
Key Features
Page Caching
- Full-page static HTML caching for non-logged-in visitors.
- Drop-in (
advanced-cache.php) serves cached responses before WordPress fully boots — minimal PHP overhead per request. - Automatic cache invalidation on post publish/update, comment activity, theme switch, and plugin activation/deactivation.
- Honors the
DONOTCACHEPAGEconstant. - Bypasses cache for admin, AJAX, REST, cron, POST requests, and logged-in users.
- Configurable cache expiry (1–720 hours, default 24).
- URL-based exclusions (one path per line — useful for
/cart,/checkout,/my-account). - One-click purge from the admin bar or settings page.
Code Minification
- HTML minification — strips whitespace and comments while preserving
<pre>,<textarea>,<script>, and<style>content. - CSS minification — local enqueued stylesheets are minified once, cached on disk, and the loader URL is rewritten transparently.
- JavaScript minification — same flow as CSS; safely skips already-minified bundles and validates output to prevent breakage.
- Powered by
matthiasmullie/minifyfor production-grade compression. xspeed_skip_minifyfilter for fine-grained control.
GZIP Compression
- Apache and LiteSpeed: auto-configures
.htaccesswithmod_deflaterules. - Nginx, IIS, or other servers: surfaces a copy-pasteable snippet for the user’s server config.
- Detects whether the server already serves gzipped responses and shows an « Active on server » indicator.
Built for Developers
- Single-page admin UI built with React 18 + TypeScript + Tailwind CSS.
- Light and dark mode with persistent preference (defaults to light).
- Collapsible sidebar that remembers state across sessions.
- Auto-save settings — no Save button.
- REST API at
/wp-json/xspeed/v1/for programmatic control. - Initial settings bootstrapped into the page — zero loading state on first render.
- Bundle size under 80 KB gzipped.
Cross-Server
- Works on Apache, nginx, LiteSpeed, IIS, and any PHP-capable host.
- Server-specific behavior (where applicable) is handled gracefully — no silent failures.
Perfect For
- Content-heavy blogs and news outlets.
- Small-to-mid WooCommerce stores.
- Business and portfolio sites.
- Developers who want a clean, no-noise caching plugin.
Privacy
xSpeed is designed with privacy in mind. The plugin does not collect personal user data, store IP addresses, use tracking cookies, or contact any third-party servers. All optimizations happen locally on your server. The only HTTP request xSpeed ever makes is to your own site’s home URL (see « External services » below) to confirm whether your server is serving gzipped responses.
Backed By a Team You Trust
xSpeed is developed by the trusted team at WPDeveloper, a leading WordPress marketplace used and loved by over 5 million users.
Loved xSpeed?
If xSpeed makes your site faster, please rate it on WordPress.org — it really helps.
External services
xSpeed contacts exactly one external endpoint, and only your own site:
Self-hosted gzip probe
- What it does: Issues a single
GETrequest to your site’s home URL (home_url('/')) with anAccept-Encoding: gzipheader to detect whether your web server is already serving gzipped responses. The response body is discarded; only theContent-Encodingheader is read. - When it runs: On demand when the admin dashboard loads server status, throttled to once per hour via a transient (
xspeed_gzip_active). - Where the request goes: Your own site (
home_url()). xSpeed does not contact any third-party server, analytics endpoint, license server, or telemetry collector. - What is sent: No personal data, no site identifiers, no payload — just a standard HTTP
GETfrom your server back to your server.
Third-party libraries
This plugin bundles the following GPL-compatible third-party libraries:
matthiasmullie/minify
Used for CSS and JavaScript minification.
- Source: https://github.com/matthiasmullie/minify
- License: MIT
matthiasmullie/path-converter
Dependency of matthiasmullie/minify.
- Source: https://github.com/matthiasmullie/path-converter
- License: MIT
React / React DOM / Scheduler
Used for the xSpeed admin interface bundle.
- Source: https://github.com/facebook/react
- License: MIT
lucide-react
Used for admin interface icons.
- Source: https://github.com/lucide-icons/lucide
- License: ISC
Captures d’écrans




Installation
- Upload the
xspeedfolder to the/wp-content/plugins/directory, or install through the WordPress plugins screen directly. - Activate the plugin through the Plugins screen in WordPress.
- Navigate to xSpeed in your WordPress admin sidebar.
- Toggle Enable Cache — that’s it. xSpeed ships with sensible defaults that work out of the box.
FAQ
-
Which servers does xSpeed support?
-
xSpeed works on Apache, nginx, LiteSpeed, IIS, and any standard PHP-capable host. Page caching and minification are server-agnostic. GZIP auto-configuration is supported on Apache and LiteSpeed (via
.htaccess); on nginx and IIS, xSpeed surfaces a copy-pasteable config snippet for you to add manually. -
Does xSpeed support WordPress Multisite?
-
Yes. Each site in the network maintains its own cache and settings.
-
Will xSpeed conflict with other caching plugins?
-
Only run one page-cache plugin at a time. Deactivate any other caching plugin before activating xSpeed.
-
Does caching affect my website content?
-
No. Caching stores a temporary copy of the rendered HTML to serve faster — your content stays exactly as you wrote it.
-
How do I exclude a page from caching?
-
Open xSpeed Settings, paste the URL path (e.g.,
/cart) into the Excluded URLs textarea (one per line), and changes save automatically. -
How do I purge the cache?
-
Click Purge on the Cache panel, or use the Purge xSpeed Cache entry in the admin bar (visible site-wide for administrators). The cache also auto-purges on content changes.
-
Will minification break my site?
-
xSpeed includes safety checks: it skips files already minified, refuses to ship minified output that fails a syntactic-balance check, and falls back to the original asset whenever anything looks off. If you ever spot a problem, simply toggle the relevant minify option off in Performance.
-
Can I disable minification temporarily for debugging?
-
Yes. Either toggle the option off in the admin UI, or as a developer enable
WP_DEBUG(xSpeed automatically skips HTML minification when debug is on), or use thexspeed_skip_minifyfilter. -
Is xSpeed compatible with WooCommerce?
-
Yes. Pages like
/cart,/checkout, and/my-accountare common cache exclusions — add them to Excluded URLs and xSpeed will bypass caching for those paths. Logged-in users (including customers in their account area) are never served cached pages.
Avis
Il n’y a aucun avis pour cette extension.
Contributeurs/contributrices & développeurs/développeuses
« xSpeed » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.
ContributeursTraduisez « xSpeed » dans votre langue.
Le développement vous intéresse ?
Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.
Journal des modifications
[1.0.2] – 2026-06-02
Static-rewrite cache, Site Health & Fonts.
Static-rewrite cache + Site Health:
– New: Static-file rewrite path — cached HTML is served directly by Apache / nginx / LiteSpeed, bypassing PHP entirely on cache hits (5-15ms TTFB vs ~85ms via the PHP drop-in).
– New: .htaccess static-cache block — installed automatically on cache enable, removed cleanly on disable. Block precedes WordPress’s own rules so static files match first.
– New: nginx config snippet — copy-pasteable server { } block surfaced in the dashboard when nginx is detected (PHP can’t write nginx config). Avoids the « if is evil » pitfall via a named-location fallback.
– New: LiteSpeed LSCache coexistence — xSpeed detects LSCache’s server-level module and steps back instead of double-caching.
– New: Active rewrite probe — Health module pings the cache directory and confirms the rewrite is actually serving static bytes (not just present in .htaccess).
– New: WordPress Site Health integration — Tools Site Health now lists an xSpeed check covering static-rewrite status + nginx config requirements.
– New: Persistent banner — Cache panel warns the admin when caching is on but the static-rewrite block isn’t engaged (slow fallback path).
– New: Copy-to-clipboard button on every config-snippet panel (nginx, GZIP, object-cache).
Fonts:
– New: Fonts module — adds font-display: swap to enqueued web fonts so visible text doesn’t wait on a slow Google Fonts response, and exposes a preload list for above-the-fold font files.
– New: FontsModule tests covering the swap rewrite + preload <link> emission.
Improvements & fixes:
– Improved: Server-type detection is cached so CLI / cron contexts see the same server type as web requests.
– Improved: Drop-in (advanced-cache.php) and WP_CACHE constant are preserved across plugin upgrades; auto-heal hook tightened to admin_init to avoid REST/cron noise.
– Improved: Plugin Check pass — i18n textdomains, WP_Filesystem coverage, SQL preparation, sanitization, and plugin/readme headers all cleaned up for WordPress.org review.
– Fixed: nginx snippet rewritten to avoid the try_files trap that broke pretty permalinks.
– Fixed: Rewrite condition normalized for trailing-slash + non-trailing-slash URLs.
– Fixed: WP-Rocket-style canonical pattern — server-level conditional rewrite.
– Fixed: Minify tag-rewrite filters bail in non-frontend contexts (REST / admin / cron).
– Fixed: wp.org release zip now ships vendor/ — resolves the 1.0.1 activation fatal.
– Improved: Release pipeline rebuilt — .distignore-driven dist build, CI verify step, version-named artifact on every run.
– Improved: Plugin version read from the PHP header — single source of truth.
[1.0.1] – 2026-06-01
Foundation release — full feature set + Pro hooks.
Module architecture + LiteSpeed parity floor:
– New: Module architecture — every feature now ships as a self-contained Module (Cache, Health, Preloader, Heartbeat, Minify, GZIP, Lazy Load, Disable Bloat, Database, CDN, Cloudflare, Object Cache, Browser Cache).
– New: Health module — 24-hour hit/miss counter + activity log.
– New: Preloader module — sitemap-driven cache warmer with content-publish auto-warm.
– New: Cache exclusion intelligence — glob URL patterns, cookie patterns, User-Agent bypass, ignored query parameters.
– New: Per-device cache (mobile-separate).
– New: Per-post cache rules — don’t-cache + custom expiry meta box.
– New: Minification — CSS / JS / HTML minify, combine, defer JS, delay JS, async CSS, remove ?ver= query strings.
– New: Lazy Load module — images / iframes / videos + auto CLS-fix.
– New: Disable Bloat module — 6 ergonomic toggles (dashicons, oEmbed, RSS, XML-RPC, jQuery Migrate, REST auth).
– New: Database module — optimize tables, scheduled cleanup, autoload analysis.
– New: CDN module — pull-zone URL rewriting.
– New: Cloudflare module — zone connect, auto-purge, dev-mode toggle.
– New: Object Cache module — Redis / Memcached config + status + flush.
– New: Browser Cache module — Cache-Control + Expires headers.
– New: Settings search across the entire dashboard with keyword highlighting.
– New: 3-step setup wizard on first activation with preset chooser and benchmark.
– New: Sidebar grouping under domain headers (Cache / Performance / Network / Insights / Tools).
– New: Sidebar tooltips + search shortcut in the collapsed rail.
– New: xspeed_branding filter — agencies can rebrand the dashboard.
– New: xspeed_cache_skip_for_post + xspeed_cache_expiry_for_post filters.
Pro-essentials (everything xSpeed Pro depends on, bundled here so any Pro release works against this single Free version):
– New: xspeed_module_descriptor filter — Pro hooks this to swap its panels to LicenseLockedPanel when license is invalid.
– New: AI Privacy module — GDPR off-switch + xspeed_ai_can_collect_data filter that Pro AI features must consult before recording visitor data.
– New: Pro upsell teasers — in-context inline cards on Cache, Minify, Lazy Load, Browser Cache and Disable Bloat panels.
– New: Locked Pro module rows in the sidebar — shows what Pro offers with a clear upgrade prompt.
– New: Pro Audit on the Cache panel — site-specific scan listing the top Pro features that would help THIS site, with severity chips and concrete reasons (not generic marketing copy).
– New: Sidebar slot for the license module (appears when xSpeed Pro is installed).
– New: Global 36px form-control height baseline across the dashboard.
– New: filemtime() cache busting on admin asset URLs.
Improvements & fixes:
– Improved: React panel registry — modules auto-render in the dashboard.
– Improved: Portal-based save indicator — zero layout shift.
– Improved: Distribution zip prunes dev dependencies (composer install –no-dev).
– Fixed: 5 duplicate module icons + regression test.
[1.0.0] – 2026-05-27
- Initial release.
