Time to First Byte, or TTFB, is the time between a visitor’s browser asking for a page and receiving the first byte of the response. It is the starting gun for everything else. Until that first byte arrives, the browser cannot show text, load styles or fetch images.
What counts as a good TTFB?
Google’s web.dev guidance treats a TTFB of 0.8 seconds or less as good, and anything above 1.8 seconds as poor. TTFB is not one of the three Core Web Vitals, but it feeds directly into Largest Contentful Paint. A slow start makes a fast finish almost impossible. If you want the full picture, read our guide to Core Web Vitals.
What happens during TTFB
TTFB is not just “server speed”. It is the sum of several steps:
- Redirects, for example from http to https or from non-www to www.
- DNS lookup, finding the server’s address.
- Connection and TLS, setting up a secure connection.
- Server processing, where WordPress runs PHP, queries the database and builds the page.
- Network travel, the time the first byte spends on the wire.
For a typical WordPress site, the biggest and most fixable part is server processing.
Why WordPress TTFB is often slow
WordPress builds each page on demand. Every request can trigger dozens of database queries and a lot of PHP code. The usual culprits are:
- No page caching, so the page is rebuilt for every visitor.
- Slow hosting, shared servers with little CPU or an old PHP version.
- Heavy plugins that run on every request.
- A bloated database, with expired transients, thousands of revisions and leftover tables from removed plugins.
- No object cache, so repeated queries hit the database again and again.
- Distance, when your visitors are far from your server and there is no CDN.
How to improve TTFB
1. Turn on full-page caching
Page caching stores the finished HTML so WordPress does not rebuild it. This is the single biggest win, and it often turns a one-second TTFB into one that is a fraction of that.
2. Put a CDN in front of the site
A CDN such as Cloudflare can cache your HTML at locations near your visitors. Visitors then get the page from a nearby edge server instead of your origin. Set cache rules so logged-in users, carts and checkout pages are never cached.
3. Use a current PHP version
Newer PHP releases run WordPress noticeably faster than old ones. Make sure OPcache is enabled too. On our own development setup, switching OPcache on cut server response time dramatically.
4. Clean the database
Remove expired transients, old revisions, spam and tables left by plugins you no longer use. Take a backup first, then clean. Limiting revisions in wp-config.php stops the problem coming back.
5. Audit your plugins
Deactivate what you do not use and replace heavy plugins with lighter ones. Measure the difference, because one badly written plugin can add more delay than ten good ones.
6. Add an object cache
If your site is dynamic, for example a store or a membership site, Redis or Memcached keeps frequent query results in memory.
7. Choose better hosting when you have outgrown yours
If TTFB stays high after caching and cleanup, the server itself may be the limit. Look for hosts with modern PHP, NVMe storage and server-level caching.
How to measure TTFB
Run your page through PageSpeed Insights or Lighthouse and look at “Server response time” or “Document request latency”. Test a few times, because the first request after a cache clear is always slower. WebPageTest shows the full breakdown of DNS, connection, TLS and wait time, which makes it easy to see which step is the problem.
Need a faster WordPress site?
Fixing TTFB usually means caching, hosting and database work done in the right order. If you would like someone to do it for you, see our WordPress speed optimization service or get in touch for a free review.
