xSpeed – AI Cache & Performance Optimizer

Changelog

[1.0.3] – 2026-06-09

Topology-aware UX, nginx HIT counting, admin polish.

Cache topology & UX:
– New: Topology-aware rewrite banner — the dashboard now detects containerized hosts (xclude, Kinsta, RunCloud Atomic, etc.) where the $document_root assumption doesn’t hold, and tells the user exactly what to expect on their stack instead of silently failing.
– New: Unified nginx server-block snippet — one consolidated, copy-pasteable snippet (collapsible in the UI) replaces the previous fragmented sections.
– New: Nginx-served HITs are now counted — a dedicated access_log captures cache hits served directly by nginx (no PHP), so the dashboard “HITs in last 24h” stat is accurate on nginx setups.
– New: X-XSpeed-Cache response header — cache hits are now visible in the response headers, with a distinct value per serve layer (HIT (nginx) for the fast static path, HIT (php) for the drop-in fallback) so you can confirm a page was cached and tell exactly which layer served it.
– Improved: Browser Cache notice is topology-aware and renders its snippet in a proper code block.

Admin UX:
– New: Third-party admin notices are suppressed on xSpeed admin screens (page=xspeed* only) — other plugins’ “rate us” / promo notices no longer crowd the xSpeed dashboard.
– New: Aligned sticky title-bar across the sidebar and content panels for a cleaner scroll experience.
– Improved: Browser Cache + GZIP notices probe-gate themselves — once the underlying issue is resolved, the notice dismisses on its own instead of lingering.

Benchmark:
– Fixed: “Without cache” leg of the dashboard speed test now appends a cache-buster query string. Previously it was hitting the cache and reporting an artificially-fast baseline, making the speedup number look small.

[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.

Plugin Website
Visit website

Author
WPDeveloper
Version:
1.0.3
Last Updated
June 9, 2026
Requires
WordPress 6.0
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.