Skip to content
SecurityPHP2Shell affects most WordPress sites. Am I affected? →
presscomet

Speed up WordPress. Not with another plugin.

WordPress is slow for one reason: every uncached request boots PHP, loads every plugin and queries MySQL before a single byte leaves the server. Here’s where the time goes — and how to remove it.

Updated Oct 23, 2026 · 7 min read

Anatomy of one request · illustrative

Where your TTFB goes

  1. DNS + TLS60 ms
  2. PHP bootstrap (wp-load)140 ms
  3. plugins_loaded · every active plugin260 ms
  4. MySQL · dozens of queries230 ms
  5. Theme template render170 ms
  6. Output buffering + flush60 ms
An uncached request. A page-cache plugin skips most of this on a hit — not on a miss, for a logged-in editor, or after a purge.Time to first byte920 ms

The usual fixes, and what they leave behind.

Each of these helps. None of them removes PHP from the request path, so every cache miss, logged-in editor and WooCommerce cart still pays the full cost.

Common WordPress speed fixes and what they leave behind
FixTypical gainWhat’s still slow
Page-cache pluginBig, on cache hitsMisses, logged-in users, carts, purges
Upgrade PHPSome, on every requestPlugin bootstrap, query count
Redis object cacheFewer queriesAnother server to run
CDNStatic assetsHTML still from origin
Image optimiserBetter LCPServer response time
Remove PHP (Presscomet)Cached pages skip PHP entirelyThe first request after an edit renders in Node.js

Core Web Vitals, before and after

Illustrative example, not a measurement
  • LCP · good ≤ 2.5s

    After: 0.9sBefore: 3.8s

    The HTML arrives sooner, so the browser finds and starts loading the hero image sooner.
  • INP · good ≤ 200ms

    After: 64msBefore: 310ms

    Fewer plugin scripts competing for the main thread. Server components send no JavaScript of their own.
  • CLS · good ≤ 0.1

    After: 0.01Before: 0.18

    Layout shift mostly comes from the theme and late-loading scripts. Fewer plugin scripts means fewer late surprises.
Test your own site — free.

Import it into a trial Presscomet, then run Lighthouse on both and compare. Your live site is only ever read.

Start a trial migration

Questions, answered.

Are these numbers a benchmark?

No. They are illustrative, to show where the time goes on each kind of request. Your numbers depend on your host, theme, plugins and traffic. Measure your own site before and after.

Doesn’t a caching plugin make WordPress just as fast?

For cached anonymous pages, a good page cache gets close. The difference is what happens around it: cache misses, logged-in users, purging after edits, and the plugins and PHP you still have to run and update.

How do I measure my own TTFB?

Run curl -o /dev/null -s -w "%{time_starttransfer}\n" https://yoursite.com/ a few times, or use the Network panel in your browser’s developer tools. Then do the same against a trial migration on a staging address.