# How xSpeed Serves WordPress Pages in Milliseconds

> A typical cached WordPress response still takes 200ms+ because PHP has to wake up first. xSpeed serves pages as static files before WordPress loads — here is how a 5–15ms cache hit actually works.

- Published: 2026-07-13
- Author: xSpeed Team
- Tags: Performance, Caching
- Canonical: https://xspeedcache.com/blog/how-xspeed-serves-wordpress-pages-in-milliseconds/

---

Most WordPress caching plugins make your site *faster PHP*. xSpeed makes it *not PHP at all* — for the requests that matter most.

The difference sounds subtle. It is worth roughly **17× on time-to-first-byte**.

## Where the 200ms actually goes

When a "cached" page is still served through WordPress, every request pays the same tax before a single byte leaves the server:

1. The web server hands the request to PHP.
2. PHP boots, loads `wp-config.php`, and starts WordPress core.
3. Plugins and the theme load, hooks fire.
4. *Then* the caching plugin looks up its stored copy and prints it.

Steps 1–3 typically cost 150–250ms on shared hosting — and the cache lookup at step 4 was the only part you wanted. The cached copy is fast; the road to it is not.

## What a 5–15ms hit looks like

xSpeed installs a lightweight drop-in that intercepts the request **before WordPress core loads**. On a cache hit:

- The request is matched to a pre-rendered static file on disk.
- The file is streamed back immediately — no database connection, no plugin stack, no theme.
- Typical response time: **5–15ms**, about as fast as the web server can serve any static asset.

WordPress only wakes up on a cache *miss* — the first visit after a purge — and that render is stored for everyone who comes next. Logged-in users, carts, and previews bypass the cache automatically, so dynamic behavior keeps working exactly as before.

## The rest of the pipeline

Serving HTML fast is the headline, but the full request gets the same treatment:

- **Minification** — HTML, CSS, and JS are stripped of whitespace and comments, and files can be combined to cut request counts.
- **GZIP compression** — responses ship compressed at the server level, configured for Apache or nginx automatically.
- **Browser caching** — static assets get long-lived cache headers, so repeat visits skip the network entirely.
- **Lazy loading** — images below the fold don't compete with the content your visitor actually sees first.
- **Object caching** — Redis or Memcached absorb the database queries that remain on dynamic requests.
- **CDN & Cloudflare integration** — cached pages and assets serve from the edge, close to the visitor.

Each piece is a toggle, not a rewrite. Enable page caching alone and measure; layer the rest on when you're ready.

## Try it on your own site

xSpeed Free ships everything above and takes about a minute to set up — install, run the wizard, done. [Get it from WordPress.org](https://wordpress.org/plugins/xspeed/), or see [what Pro adds](/comparison) — an AI optimization layer with per-URL hit/miss heatmaps, self-healing cache, and Critical CSS.

Your pages are already rendered. Stop re-rendering them.
