xSpeed

Beskrivelse

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 DONOTCACHEPAGE constant.
  • 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/minify for production-grade compression.
  • xspeed_skip_minify filter for fine-grained control.

GZIP Compression

  • Apache and LiteSpeed: auto-configures .htaccess with mod_deflate rules.
  • 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 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.
  • 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 GET from 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

Skjermbilder

  • Cache panel — master toggle, status, and live stats (cached pages, cache size, last purge).
  • Performance panel — minify HTML, CSS, JS, and GZIP toggles with server-aware hints.
  • Settings panel — cache expiry and URL exclusions with auto-save.
  • Cache panel in dark mode — same controls and stats with the dark theme applied.

Installasjon

  1. Upload the xspeed folder to the /wp-content/plugins/ directory, or install through the WordPress plugins screen directly.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Navigate to xSpeed in your WordPress admin sidebar.
  4. Toggle Enable Cache — that’s it. xSpeed ships with sensible defaults that work out of the box.

Ofte stilte spørsmål

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 the xspeed_skip_minify filter.

Is xSpeed compatible with WooCommerce?

Yes. Pages like /cart, /checkout, and /my-account are 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.

Vurderinger

Det er ingen omtaler av denne utvidelsen.

Bidragsytere og utviklere

«xSpeed» er programvare med åpen kildekode. Følgende personer har bidratt til denne utvidelsen:

Bidragsytere

Oversett «xSpeed» til ditt språk.

Interessert i utvikling?

Bla gjennom koden, sjekk ut SVN-repositoriet, eller abonner på utviklingsloggen med RSS.

Endringslogg

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