PluginProbe
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN / 1.0.3
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN v1.0.3
1.3.3 1.3.2 1.3.1 1.3.0 1.2.4 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 All 29 releases
xspeed / readme.txt

readme.txt in xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN 1.0.3, at readme.txt

363 lines 19.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 === xSpeed – AI Cache & Performance Optimizer ===
2 Contributors: asif2bd, wpdevteam, seakashdiu
3 Tags: caching, performance, speed, optimization, minify
4 Requires at least: 6.0
5 Tested up to: 7.0
6 Requires PHP: 7.4
7 Stable tag: 1.0.3
8 License: GPLv2 or later
9 License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
11 Ultra-fast WordPress caching & performance plugin. Page cache, minify, GZIP, lazy load, fonts, object cache, CDN — one switch, no bloat, no upsells.
12
13 == Description ==
14
15 Your visitors decide to stay or leave in under 3 seconds. **xSpeed** makes sure they stay.
16
17 Most caching plugins bury you in settings, charts, and upgrade popups. xSpeed does the opposite — install it, flip one switch, and your site loads faster. No bloat, no upsells nagging you, no PhD required.
18
19 Built by the team at **WPDeveloper** — trusted by over 7 million WordPress users worldwide.
20
21 = What Does xSpeed Do? =
22
23 xSpeed is a full-site performance plugin. It caches your pages, shrinks your code, compresses your files, and serves everything as fast as your server physically can — including an AI-powered audit that tells you exactly what's slowing your site down.
24
25 The result: pages that load in milliseconds, not seconds. Better Google PageSpeed scores. Happier visitors. Better SEO rankings.
26
27 = The Speed Advantage No Other Free Plugin Offers =
28
29 When xSpeed caches a page, it doesn't just save it — it serves it directly from the server, bypassing PHP entirely.
30
31 That means:
32
33 * **With xSpeed static cache:** 5–15ms response time
34 * **Without it (PHP-served cache):** ~85ms response time
35
36 That's up to **17× faster** page delivery on cache hits. No other free caching plugin does this across Apache, nginx, and LiteSpeed automatically.
37
38 = Features at a Glance =
39
40 **Page Caching**
41
42 Your pages are saved as static HTML files and served instantly to visitors — before WordPress even loads. The cache rebuilds itself automatically whenever you publish a post, switch themes, or update a plugin. You never have to think about it.
43
44 * Static-file rewrite path (bypasses PHP entirely — 5–15ms TTFB)
45 * Auto-purge on publish, update, comment, theme change
46 * One-click cache purge from the admin bar
47 * Exclude specific URLs (e.g. `/cart`, `/checkout`, `/my-account`)
48 * Set your own cache expiry (1–720 hours)
49 * Separate mobile cache for phone and tablet visitors
50 * Per-post cache rules — custom expiry or disable caching for individual posts
51
52 **Code Minification**
53
54 Strips all the unnecessary whitespace, comments, and characters from your HTML, CSS, and JavaScript without breaking anything.
55
56 * Minify HTML, CSS, and JavaScript
57 * Combine CSS and JS files to reduce HTTP requests
58 * Defer or delay JavaScript so it doesn't block page rendering
59 * Async CSS loading
60 * Removes `?ver=` query strings from asset URLs
61 * Safe-minify: automatically skips already-minified files and falls back if anything looks off
62
63 **GZIP Compression**
64
65 Makes every file your server sends smaller — so browsers download them faster.
66
67 * Auto-configures GZIP on Apache and LiteSpeed
68 * Shows a ready-to-paste config snippet for nginx and IIS
69 * Detects if your server already has GZIP active — no double-configuration
70
71 **Lazy Load**
72
73 Images, videos, and iframes load only when a visitor scrolls to them — not all at once on page load.
74
75 * Lazy load images, iframes, and videos
76 * Automatic CLS (Cumulative Layout Shift) fix so your layout doesn't jump
77
78 **Fonts Optimization**
79
80 Web fonts are one of the most common causes of slow-loading pages.
81
82 * Adds `font-display: swap` so text is visible immediately while fonts load
83 * Preloads above-the-fold font files for instant rendering
84 * Removes the blank-text flash caused by slow Google Fonts responses
85
86 **Browser Cache**
87
88 Tells browsers to remember your static files (images, CSS, JS) so returning visitors load your site even faster.
89
90 * Sets proper `Cache-Control` and `Expires` headers
91 * Works automatically — no manual configuration needed
92
93 **Cache Preloader**
94
95 Warms up your cache automatically so the very first visitor after a purge still gets a fast page.
96
97 * Sitemap-driven cache warmer
98 * Auto-warms cache when you publish or update content
99
100 **Object Cache (Redis / Memcached)**
101
102 Speed up database-heavy WordPress installs with server-side object caching.
103
104 * Connect Redis or Memcached in seconds
105 * View status and flush cache from the dashboard
106
107 **CDN Support**
108
109 Serve your static files from a CDN for faster global delivery.
110
111 * Pull-zone URL rewriting for any CDN provider
112 * Built-in Cloudflare integration: connect your zone, auto-purge on publish, toggle dev mode
113
114 **Database Optimization**
115
116 A bloated database slows down every page load. xSpeed keeps yours clean.
117
118 * Optimize database tables
119 * Remove post revisions, spam, trash, transients, and orphaned meta
120 * Schedule automatic cleanup so it runs on autopilot
121
122 **Disable Bloat**
123
124 Turn off WordPress features you don't use — each one is a request your server doesn't have to make.
125
126 * Disable dashicons on the frontend
127 * Remove oEmbed, RSS feeds, XML-RPC, jQuery Migrate, REST API authentication headers
128
129 **AI-Powered Site Audit (Pro)**
130
131 xSpeed Pro scans your specific site and tells you exactly which performance features will help the most — with severity ratings and concrete reasons, not generic advice.
132
133 = Smart Enough to Stay Out of Trouble =
134
135 xSpeed handles the edge cases other plugins miss:
136
137 * **Multisite ready** — each site in the network gets its own cache and settings.
138 * **LiteSpeed server?** — xSpeed detects LiteSpeed Cache's server module and steps back to avoid conflicts.
139 * **WooCommerce?** — logged-in customers and checkout pages are never cached.
140 * **WordPress Site Health** — xSpeed adds its own health check under Tools → Site Health so you always know your cache config is working correctly.
141 * **Works on any server** — Apache, nginx, LiteSpeed, IIS, and any standard PHP host.
142
143 = Designed for Everyone =
144
145 **Non-technical users:** A 3-step setup wizard walks you through first-time configuration in under 2 minutes. Settings auto-save — there's no Save button to forget.
146
147 **Developers:** REST API at `/wp-json/xspeed/v1/`, developer filters (`xspeed_skip_minify`, `xspeed_cache_skip_for_post`, `xspeed_cache_expiry_for_post`), `WP_DEBUG` awareness, and a React 18 + TypeScript admin UI under 80 KB gzipped.
148
149 **Agencies:** Use the `xspeed_branding` filter to white-label the dashboard for clients.
150
151 = Completely Private =
152
153 xSpeed never collects personal data, stores IP addresses, uses tracking cookies, or contacts any third-party server. Every optimization runs locally on your server. The only external request it makes is a quick check to your own site's home URL to confirm GZIP is active — and even that is rate-limited to once per hour. (See "External services" below.)
154
155 = Backed By a Team You Trust =
156
157 xSpeed is developed by the trusted team at WPDeveloper, a leading WordPress marketplace used and loved by millions of users.
158
159 = Loved xSpeed? =
160
161 If xSpeed makes your site faster, please leave a review on WordPress.org — it really helps!
162
163 == Installation ==
164
165 1. Go to **Plugins → Add New** in your WordPress admin and search for **xSpeed**.
166 2. Click **Install Now**, then **Activate**.
167 3. Navigate to **xSpeed** in your sidebar.
168 4. The setup wizard will guide you through the rest — it takes about 2 minutes.
169
170 That's it. Your site is now faster.
171
172 == Frequently Asked Questions ==
173
174 = Will this break my site? =
175
176 Very unlikely. xSpeed includes safety checks for every optimization: minification falls back to the original if anything looks off, and the cache bypasses logged-in users, admin pages, AJAX, and REST requests automatically. If something ever looks wrong, you can toggle any feature off individually.
177
178 = Does it work with WooCommerce? =
179
180 Yes. Add `/cart`, `/checkout`, and `/my-account` to the Excluded URLs list and xSpeed will skip caching those pages. Logged-in customers are never served cached pages regardless.
181
182 = Does it work with my server? =
183
184 xSpeed works on Apache, nginx, LiteSpeed, IIS, and any standard PHP host. Static-cache rewriting and GZIP auto-configuration work out of the box on Apache and LiteSpeed. For nginx and IIS, xSpeed shows you a ready-to-paste config snippet.
185
186 = Does it support WordPress Multisite? =
187
188 Yes. Each site in the network has its own independent cache and settings.
189
190 = Will it conflict with LiteSpeed Cache? =
191
192 No. xSpeed detects LiteSpeed's server-level caching module and steps back automatically to avoid double-caching. Otherwise, only run one page-cache plugin at a time.
193
194 = How do I exclude a page from being cached? =
195
196 Go to **xSpeed → Settings**, paste the URL path (e.g. `/cart`) into the Excluded URLs field — one path per line. Changes save automatically.
197
198 = How do I clear the cache? =
199
200 Click **Purge** in the xSpeed dashboard, or use **Purge xSpeed Cache** in your admin bar. The cache also clears itself automatically whenever you publish or update content.
201
202 = Can I use xSpeed alongside Cloudflare? =
203
204 Yes. The built-in Cloudflare module connects your zone and auto-purges Cloudflare's cache whenever xSpeed purges its own — so both caches stay in sync.
205
206 = Can I disable minification temporarily for debugging? =
207
208 Yes. Either toggle the option off in the admin UI, enable `WP_DEBUG` (xSpeed automatically skips HTML minification when debug is on), or use the `xspeed_skip_minify` filter.
209
210 == Screenshots ==
211
212 1. Cache panel — master toggle, status, and live stats (cached pages, cache size, last purge).
213 2. Minification — minify and combine HTML, CSS, and JavaScript with defer/delay options.
214 3. Lazy Load — defer images, iframes, and videos until they scroll into view, with CLS-fix.
215 4. Cache Preloader — sitemap-driven cache warmer that keeps the first visitor fast.
216 5. Object Cache — connect Redis or Memcached, view status, and flush from the dashboard.
217 6. CDN — pull-zone URL rewriting for faster global static-asset delivery.
218 7. Cloudflare — connect your zone, auto-purge on publish, and toggle development mode.
219 8. Custom Cache Rules — per-URL and per-post caching rules with custom expiry.
220 9. Disable Bloat — switch off unused WordPress features (dashicons, oEmbed, RSS, XML-RPC, and more).
221 10. Heartbeat Control — throttle the WordPress Heartbeat API to reduce admin-ajax load.
222 11. AI-Powered Site Audit (Pro) — site-specific recommendations with severity ratings and concrete reasons.
223
224 == External services ==
225
226 xSpeed contacts exactly one external endpoint, and only your own site:
227
228 = Self-hosted gzip probe =
229
230 * **What it does:** Issues a single `GET` request to your site's home URL (`home_url('/')`) with an `Accept-Encoding: gzip` header to detect whether your web server is already serving gzipped responses. The response body is discarded; only the `Content-Encoding` header is read.
231 * **When it runs:** On demand when the admin dashboard loads server status, throttled to once per hour via a transient (`xspeed_gzip_active`).
232 * **Where the request goes:** Your own site (`home_url()`). xSpeed does not contact any third-party server, analytics endpoint, license server, or telemetry collector.
233 * **What is sent:** No personal data, no site identifiers, no payload — just a standard HTTP `GET` from your server back to your server.
234
235 == Third-party libraries ==
236
237 This plugin bundles the following GPL-compatible third-party libraries:
238
239 = matthiasmullie/minify =
240
241 Used for CSS and JavaScript minification.
242
243 * Source: https://github.com/matthiasmullie/minify
244 * License: MIT
245
246 = matthiasmullie/path-converter =
247
248 Dependency of `matthiasmullie/minify`.
249
250 * Source: https://github.com/matthiasmullie/path-converter
251 * License: MIT
252
253 = React / React DOM / Scheduler =
254
255 Used for the xSpeed admin interface bundle.
256
257 * Source: https://github.com/facebook/react
258 * License: MIT
259
260 = lucide-react =
261
262 Used for admin interface icons.
263
264 * Source: https://github.com/lucide-icons/lucide
265 * License: ISC
266
267 == Changelog ==
268
269 = [1.0.3] – 2026-06-09 =
270
271 **Topology-aware UX, nginx HIT counting, admin polish.**
272
273 Cache topology & UX:
274 - 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.
275 - New: Unified nginx server-block snippet — one consolidated, copy-pasteable snippet (collapsible in the UI) replaces the previous fragmented sections.
276 - 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.
277 - 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.
278 - Improved: Browser Cache notice is topology-aware and renders its snippet in a proper code block.
279
280 Admin UX:
281 - 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.
282 - New: Aligned sticky title-bar across the sidebar and content panels for a cleaner scroll experience.
283 - Improved: Browser Cache + GZIP notices probe-gate themselves — once the underlying issue is resolved, the notice dismisses on its own instead of lingering.
284
285 Benchmark:
286 - 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.
287
288 = [1.0.2] – 2026-06-02 =
289
290 **Static-rewrite cache, Site Health & Fonts.**
291
292 Static-rewrite cache + Site Health:
293 - 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).
294 - 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.
295 - 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.
296 - New: LiteSpeed LSCache coexistence — xSpeed detects LSCache's server-level module and steps back instead of double-caching.
297 - New: Active rewrite probe — Health module pings the cache directory and confirms the rewrite is actually serving static bytes (not just present in .htaccess).
298 - New: WordPress Site Health integration — Tools → Site Health now lists an xSpeed check covering static-rewrite status + nginx config requirements.
299 - New: Persistent banner — Cache panel warns the admin when caching is on but the static-rewrite block isn't engaged (slow fallback path).
300 - New: Copy-to-clipboard button on every config-snippet panel (nginx, GZIP, object-cache).
301
302 Fonts:
303 - 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.
304 - New: FontsModule tests covering the swap rewrite + preload `<link>` emission.
305
306 Improvements & fixes:
307 - Improved: Server-type detection is cached so CLI / cron contexts see the same server type as web requests.
308 - 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.
309 - Improved: Plugin Check pass — i18n textdomains, WP_Filesystem coverage, SQL preparation, sanitization, and plugin/readme headers all cleaned up for WordPress.org review.
310 - Fixed: nginx snippet rewritten to avoid the try_files trap that broke pretty permalinks.
311 - Fixed: Rewrite condition normalized for trailing-slash + non-trailing-slash URLs.
312 - Fixed: WP-Rocket-style canonical pattern — server-level conditional rewrite.
313 - Fixed: Minify tag-rewrite filters bail in non-frontend contexts (REST / admin / cron).
314 - Fixed: wp.org release zip now ships `vendor/` — resolves the 1.0.1 activation fatal.
315 - Improved: Release pipeline rebuilt — `.distignore`-driven dist build, CI verify step, version-named artifact on every run.
316 - Improved: Plugin version read from the PHP header — single source of truth.
317
318 = [1.0.1] – 2026-06-01 =
319
320 **Foundation release — full feature set + Pro hooks.**
321
322 Module architecture + LiteSpeed parity floor:
323 - 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).
324 - New: Health module — 24-hour hit/miss counter + activity log.
325 - New: Preloader module — sitemap-driven cache warmer with content-publish auto-warm.
326 - New: Cache exclusion intelligence — glob URL patterns, cookie patterns, User-Agent bypass, ignored query parameters.
327 - New: Per-device cache (mobile-separate).
328 - New: Per-post cache rules — don't-cache + custom expiry meta box.
329 - New: Minification — CSS / JS / HTML minify, combine, defer JS, delay JS, async CSS, remove ?ver= query strings.
330 - New: Lazy Load module — images / iframes / videos + auto CLS-fix.
331 - New: Disable Bloat module — 6 ergonomic toggles (dashicons, oEmbed, RSS, XML-RPC, jQuery Migrate, REST auth).
332 - New: Database module — optimize tables, scheduled cleanup, autoload analysis.
333 - New: CDN module — pull-zone URL rewriting.
334 - New: Cloudflare module — zone connect, auto-purge, dev-mode toggle.
335 - New: Object Cache module — Redis / Memcached config + status + flush.
336 - New: Browser Cache module — Cache-Control + Expires headers.
337 - New: Settings search across the entire dashboard with keyword highlighting.
338 - New: 3-step setup wizard on first activation with preset chooser and benchmark.
339 - New: Sidebar grouping under domain headers (Cache / Performance / Network / Insights / Tools).
340 - New: Sidebar tooltips + search shortcut in the collapsed rail.
341 - New: xspeed_branding filter — agencies can rebrand the dashboard.
342 - New: xspeed_cache_skip_for_post + xspeed_cache_expiry_for_post filters.
343
344 Pro-essentials (everything xSpeed Pro depends on, bundled here so any Pro release works against this single Free version):
345 - New: xspeed_module_descriptor filter — Pro hooks this to swap its panels to LicenseLockedPanel when license is invalid.
346 - New: AI Privacy module — GDPR off-switch + xspeed_ai_can_collect_data filter that Pro AI features must consult before recording visitor data.
347 - New: Pro upsell teasers — in-context inline cards on Cache, Minify, Lazy Load, Browser Cache and Disable Bloat panels.
348 - New: Locked Pro module rows in the sidebar — shows what Pro offers with a clear upgrade prompt.
349 - 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).
350 - New: Sidebar slot for the license module (appears when xSpeed Pro is installed).
351 - New: Global 36px form-control height baseline across the dashboard.
352 - New: filemtime() cache busting on admin asset URLs.
353
354 Improvements & fixes:
355 - Improved: React panel registry — modules auto-render in the dashboard.
356 - Improved: Portal-based save indicator — zero layout shift.
357 - Improved: Distribution zip prunes dev dependencies (composer install --no-dev).
358 - Fixed: 5 duplicate module icons + regression test.
359
360
361 = [1.0.0] – 2026-05-27 =
362 - Initial release.
363