How to Reduce Server Response Time in WordPress (TTFB)

How to Reduce Server Response Time in WordPress (TTFB)

If you’ve run your site through PageSpeed Insights, you’ve probably seen the warning “Reduce initial server response time.” It’s easy to ignore because it sits above the fold of things you can’t control — but you can. Server response time, also called TTFB (Time to First Byte), is the delay between a visitor’s browser requesting your page and your server sending back the first byte of data. Everything else on the page waits for it.

In this guide I’ll show you how to reduce server response time in WordPress with seven practical fixes, ordered from biggest impact to smallest. No vague advice — just things you can do today. (If you haven’t read it yet, my earlier piece on why speed is a feature, not a bonus explains why this work pays off beyond the metrics.)

What Is TTFB and Why Does It Matter?

TTFB measures how long your server takes to start responding. Google flags server response times above 600 milliseconds in PageSpeed Insights, and recommends keeping it under that threshold. For cached pages on good hosting, you should aim for under 200ms.

TTFB matters for three reasons. First, it delays everything: no HTML, no CSS, no JavaScript starts loading until the first byte arrives. Second, it directly feeds into Largest Contentful Paint (LCP), one of Google’s Core Web Vitals. Third, it’s a ranking factor — page experience signals reward fast sites, and solid on-page SEO (see my step-by-step Rank Math setup guide) works best on a fast foundation. A slow server makes every other optimization less effective.

How to Measure Your Server Response Time

Before changing anything, get a baseline. Run your homepage and one inner page through:

  • PageSpeed Insights — shows “initial server response time” in seconds under Diagnostics.
  • GTmetrix — reports TTFB in the Waterfall tab.
  • WebPageTest — gives the most detailed TTFB breakdown, including DNS, connection, and server processing time.

Test the same URLs three times and take the median. Caching plugins sometimes need a warm-up request before they serve cached pages, so discard the first result if it looks wildly different. If you want a deeper technical reference on what causes slow responses, (external) this guide to fixing slow server response time breaks down each layer nicely.

1. Enable Full-Page Caching (Biggest Win)

Without caching, WordPress runs PHP and queries the database on every single visit. With full-page caching, the server builds the page once, stores the finished HTML, and serves it instantly to the next visitors — no PHP execution, no database queries.

This single change can cut TTFB from 800ms+ to under 100ms on shared hosting. It’s the highest-impact fix on this list.

Which caching solution to use depends on your server:

  • LiteSpeed server — the free LiteSpeed Cache plugin, with page cache enabled. It’s the fastest option on LiteSpeed hosting and my default recommendation.
  • Any other server — WP Rocket (premium, excellent defaults) or the free WP Super Cache.
  • Edge caching — Cloudflare cache rules (or Cloudflare APO for WordPress) can cache your HTML at data centers near your visitors, so the first byte travels a shorter distance.

One caution: don’t stack multiple page-caching plugins. Pick one, configure it properly, and exclude your cart, checkout, and logged-in pages from the cache.

2. Upgrade PHP to 8.3 or Newer

PHP is the engine WordPress runs on, and newer versions are dramatically faster at executing code. (external) WordPress.org’s hosting handbook recommends PHP 8.3 or greater, and WordPress 6.8 fully supports PHP 8.3 (with 8.4 supported in later 6.x releases).

Many sites still run PHP 8.1 or older simply because nobody changed the default. Upgrading usually takes two minutes in your hosting control panel:

  1. Go to Tools → Site Health → Info → Server to check your current PHP version.
  2. Back up your site first — a staging copy is ideal.
  3. In your hosting panel, switch PHP to 8.3 (or 8.4 if your plugins confirm compatibility).
  4. Check key pages, forms, and checkout for errors over the next 24 hours.

Keep your old PHP version available as a one-click rollback in the hosting panel, just in case a plugin throws a fatal error.

3. Clean Up Your Database

Every page load queries the database. A bloated database — hundreds of post revisions, expired transients, spam comments — makes those queries slower, which shows up directly in TTFB.

Start with three quick wins:

  • Limit post revisions. Add this to wp-config.php, above the “stop editing” line:
    define( 'WP_POST_REVISIONS', 3 );

    WordPress will keep only the three most recent revisions per post instead of unlimited copies.

  • Clean expired transients. Transients are temporary cached values plugins store in the database; expired ones often never get deleted. The free WP-Optimize plugin removes them in one click.
  • Empty spam and trash. Bulk-delete spam comments and empty the trash regularly — they all live in the same database tables your live pages query.

A database cleanup typically shaves 100–400ms off TTFB on neglected sites, based on what I’ve seen across client projects.

4. Audit Your Plugins

Every active plugin runs code on every page load — even on pages where it does nothing. Twenty plugins that each add 20ms of processing time cost you 400ms before your theme even starts rendering.

Install the free Query Monitor plugin, load a few pages, and check its timing panel. It shows exactly which plugins and database queries are slowest. Deactivate anything you’re not actively using, and replace heavy plugins with lighter alternatives where possible.

Also check the WordPress Heartbeat API, which sends background requests from the admin area. The free Heartbeat Control plugin lets you slow it down or disable it on the frontend, cutting unnecessary server requests.

5. Enable Persistent Object Caching

Full-page caching handles anonymous visitors, but logged-in users and dynamic pages (cart, checkout, membership areas) can’t be page-cached. For those, persistent object caching stores database query results in server memory with Redis or Memcached, so repeated queries return in microseconds instead of milliseconds.

Most managed WordPress hosts offer Redis or Memcached as a one-click toggle — check your hosting panel under performance or caching settings. Pair it with a plugin like Redis Object Cache to connect WordPress to it. On high-traffic or WooCommerce sites, this is often the difference between a 600ms and a 200ms TTFB on dynamic pages.

6. Serve HTML From the Edge With a CDN

Physics matters: a visitor in London waiting on a server in Texas pays a round-trip latency penalty on every request. A CDN with edge HTML caching serves your pages from the data center nearest each visitor.

Cloudflare’s free plan covers this well: enable HTTP/3 (faster connection setup than HTTP/2), use Cloudflare’s DNS (consistently among the fastest globally), and create a cache rule that caches your HTML at the edge for anonymous visitors. QUIC.cloud offers similar edge caching specifically tuned for LiteSpeed servers.

Edge caching is especially powerful for international audiences — it’s common to see TTFB drop by 50–300ms for visitors far from the origin server.

7. Make Sure Your Hosting Fits the Site

If you’ve done everything above and TTFB is still slow on uncached requests, the bottleneck is the server itself. Budget shared hosting puts hundreds of sites on one machine; when a neighbor gets a traffic spike, your response times suffer.

You don’t need expensive hosting for a brochure site, but match the plan to the job: a lightweight VPS or managed WordPress host for business sites, and server locations in (or near) the country most of your visitors come from. A host in the wrong continent adds unavoidable latency that no plugin can fix.

Putting It All Together

Here’s the order I’d tackle these in, based on impact per hour of work:

  1. Enable full-page caching and verify TTFB dropped.
  2. Upgrade PHP to 8.3+.
  3. Clean the database and limit revisions.
  4. Audit plugins with Query Monitor; tame the Heartbeat API.
  5. Enable Redis/Memcached object caching (dynamic sites).
  6. Add edge HTML caching via your CDN.
  7. Revisit hosting only if uncached TTFB is still slow.

Re-test after each change and keep notes — performance work is only convincing when the numbers move. If you’d like a professional before-and-after speed audit for your WordPress site, get in touch and I’ll measure exactly where your milliseconds are going.

If you’d like a professional before-and-after speed audit for your WordPress site, get in touch and I’ll measure exactly where your milliseconds are going.