If you need to reduce server response times in WordPress, you’re in the right place!
Servers are controlled by your hosting. It’s well-known in Facebook groups that SiteGround, GoDaddy, Bluehost, HostGator, and most shared hosts have a slow TTFB. The “best host” is an endless debate, but Vultr HF and LiteSpeed are 2 popular choices in Facebook Groups (I use Vultr HF and you can check my TTFB). I’m guessing you’re probably using one of those hosts I mentioned. Otherwise, there are several other ways to optimize TTFB without moving hosts.
Cloudflare has several features which can help (DNS, CDN, APO, Argo). Your cache plugin, theme, and plugins also impact TTFB as well as your PHP version and how close your data center is to visitors. High CPU usage is another common culprit of slow server response times.
What Is A Good TTFB?
How To Test TTFB
“this audit fails when the browser waits more than 600 ms for the server to respond to the main document request.”
KeyCDN measures your TTFB in 10 global locations. It also measures DNS lookup times, connection times, and TLS which are also part of TTFB. This is the preferred tool I would use.
How to fix a slow TTFB in WordPress
- Reduce CPU usage
- Avoid shared hosting
- Move to a faster DNS
- Invest in a good cache plugin
- Take advantage of Cloudflare
- Cache everything In Cloudflare
- Disable unused PHP extensions
- Use a data center close to visitors
- Move to Vultr HF and/or LiteSpeed servers
- Use PHP 8.0
- Enable OPcache
- Enable object cache
- Enable Gzip or Brotli
- Enable HTTP/3 on QUIC
- Find slow queries
- Optimize redirects + SSL
- Use Argo for smart traffic routing
- Avoid poorly coded themes/plugins
- Find bottlenecks in your GTmetrix Waterfall chart
- Clean your database thoroughly with WP-Optimize
1. Reduce CPU Usage
Check CPU usage in your hosting account to make sure it’s nowhere near 100%. If you get CPU spikes, your server gets overloaded which can slow down your TTFB. CPU spikes can be caused by many things, but here are a few ways to reduce CPU while lightening the load on your server.
How to reduce CPU usage:
- Block bad bots
- Disable XML-RPC
- Limit post revisions
- Limit heartbeat/autosaves
- Avoid resource-hungry plugins
- Avoid plugins that run frequent scans
- Avoid plugins that cause database bloat
- Disable features in module-based plugins
- Keep email and web hosting separate
- Replace wp-cron with a real cron job
- Enable hotlink protection in Cloudflare
- Avoid serving separate cache to mobile
- Be careful when caching logged-in users
- Run a malware scan and add a firewall
That’s why it’s so important to choose a plan with enough server resources. Most hosts give guidelines based on monthly visitors, but they won’t take into account which plugins you’re running, whether they consume lots of resources, and how many resources your website needs.
2. Avoid Shared Hosting
Shared hosting is cheap and easy, but don’t expect a fast TTFB.
You’re sharing a server with many websites which typically leads to lower performance, especially during peak hours. If you insist on shared hosting, use a LiteSpeed WordPress host since LiteSpeed servers are faster and more efficient compared to hosts using Apache/Nginx. Otherwise, Vultr High Frequency is one of the most popular options in Facebook Groups which you can get through Cloudways or directly through the website and connecting it to RunCloud.
SiteGround: they will never admit their TTFB is slow, but it is. Several Facebook Groups (WordPress Hosting + WordPress Speed Up) are moderated by SiteGround’s community manager and his affiliates who have banned people when they talk about their slow TTFB and call it “spam.” The WP Speed Matters Facebook Group is a good place to get less biased feedback. SiteGround will typically blame a slow TTFB on bots, heartbeat, and not setting up SG Optimizer with dynamic cache. Their cloud hosting is a mess and infamous for a slow TTFB, CPU limits, and 5xx errors. I’ve already made the mistake of upgrading from GoGeek to their cloud hosting – don’t do it. I used to be one of their main affiliates back in the day – but now I would stay clear of them all together.
GoDaddy: overcrowded servers and I/O issues. Many people use GoDaddy because they’ve heard of them (from advertising) but more people are joining FB groups and learning how bad they are. Their managed WordPress hosting plans are also a big no.
Bluehost: mainly promoted by affiliates but one of the least recommended hosts in Facebook Groups. Very slow to release new technology with outdated technology. They claim “server issues are the rarest cause for a site to experience slow load times” even though it’s the #1 factor in the official WordPress optimization guide. Deceiving.
HostGator: owned by the same parent company as Bluehost (EIG) with similar issues, but even worse. For that matter, here are 80 other hosting companies owned by EIG.
Hostinger: I’ve always refused to use them since they write fake reviews, pose as customers to trick people into buying their hosting, and vote for themselves when Facebook polls are taken on “the best hosting.” And if you compare their specs, you actually get more CPU/RAM for cheaper when you compare them with NameHero.
3. Move to A Faster DNS
TTFB includes latency, so your DNS matters too.
Check dnsperf.com to see the fastest, most reliable DNS providers. Cloudflare is usually one of the top performers and is free, while GoDaddy is one of the worst. Bluehost and similar hosts aren’t listed but you can assume they’re not great. SiteGround had a major DNS issue where it was blocked by Googlebot for 4 days, so I wouldn’t use them either. Try to stick with Cloudflare.
How To Move Your DNS To Cloudflare
Sign up for Cloudflare through their website, add your website, and they will scan records. Cloudflare will eventually provide you with 2 nameservers. Login to your domain registrar (i.e GoDaddy/Namecheap) and find the option to change nameservers (usually in the DNS settings). Replace the nameservers with Cloudflare’s, then in Cloudflare, click ‘Done, check nameservers.’
Many hosting dashboards can add Cloudflare in 1-click, but this only gives you basic Cloudflare settings. Setting Cloudflare up manually (changing nameservers) gives you access to Cloudflare’s full dashboard which has extra features to improve speed/TTFB.
4. Invest In A Good Cache Plugin
Caching (and cache plugins) also impact TTFB.
LiteSpeed Cache – arguably the fastest cache plugin with server-side caching which is faster than the file-based caching done by WP Rocket and most cache plugins. It has excellent reviews on WordPress, is free, and does a great job at addressing core web vitals. Supports QUIC with HTTP/3, Redis, and exclusive LiteSpeed features which can only be used with a LiteSpeed host.
FlyingPress – Gijo Varghese’s cache plugin from WP Speed Matters. I moved from WP Rocket to FlyingPress and while “scores” stayed the same, there was a major difference in real-world browsing (the caching is more aggressive than WP Rocket). Can be used on any host, but pricey.
WP Rocket – popular cache plugin but uses slower file-based caching compared to other plugins which are more aggressive. Used as “one size fits all” with little control over settings. Great if you don’t want to spend a lot of time. Otherwise, lean towards another cache plugin.
SG Optimizer – SiteGround’s cache plugin which is OK, but not a miracle like Hristo makes it out to be. Make sure Nginx direct delivery, dynamic cache, and memcached are working properly. Otherwise, the settings are straightforward and most of them should be turned on.
Free Cache Plugins – many of them don’t even address core web vitals (i.e. WP Fastest Cache). W3 Total Cache is alright but requires quite a bit of configuration and the settings are easy to mess up. WP Super Cache is fine but again, it’s not nearly as good as some of the other plugins.
NitroPack – cheats PageSpeed scores by moving things off the main-thread which gives you false scores in speed testing tools. Doesn’t actually improve real-world browsing or page load times as much as other cache plugins. Never recommended NitroPack and probably never will.
5. Take Advantage Of Cloudflare
Cloudflare has several features that can improve server response times in WordPress. Even though they once claimed TTFB doesn’t matter, they’ve added several features over the years that can improve it. Who knows, maybe that blog post was published by their team to get links.
CDN – offloads bandwidth to Cloudflare’s 250+ data centers which lightens the load on your origin server. Activate it in Cloudflare’s DNS settings by locating your website and changing DNS Only to “Proxied”. Feel free to check cdnperf.com to see a list of performant/reliable CDNs, but Cloudflare is usually a decent option (especially with the extra features in the dashboard). Many people also swear by BunnyCDN and I would avoid using StackPath (used by RocketCDN + CloudwaysCDN) since it’s had issues, isn’t as performant, and was delisted from cdnperf.com.
- Crawler Hints – tells search engines when content is updated to prevent wasteful crawls.
- Bot fight mode – stops bad bots from hitting server (super bot fight mode is used on Pro).
- Brotli – Brotli is better than Gzip for compressing which is enabled by default on free/Pro.
- Hotlink Protection – prevents people from copying images and stealing your bandwidth.
- HTTP/3 – In Cloudflare’s test, they found HTTP/3 performed 12.4% better than HTTP/3.
- Firewall Rules – block sketchy countries, bad bots, disable XML-RPC (see common rules).
- Railgun – caches dynamic content (Cloudflare says it can lower TTFB responses by 90%).
- TCP Turbo (Pro Feature) – reduces latency by automatically choosing the TCP settings.
- SSL Options – TLS (part of TTFB) can be improved using TLS 1.3 and an edge certificate.
- Custom SSL (Business Pro) – upload SSL to Cloudflare to eliminate SSL/TLS at the edge.
- Global Load Balancing (Enterprise Feature) – serves dynamic content from closest origin.
- APO/Argo (Paid Feature) – full page + tiered caching which are covered later in this guide.
- WAF + Security Features – many security features to stop attacks while saving resources.
6. Cache Everything In Cloudflare
Depending on your website and budget, you can do one of the following:
Create a cache everything page rule – In Cloudflare’s own words, this page rule will treat all your content as static and caches all file types beyond the Cloudflare default cached content.
WP Cloudflare Super Page Cache plugin – the cache everything page rule doesn’t let you exclude pages from the cache, sessions for logged in users, ajax requests, etc. This plugin lets you cache everything when page rules can’t. Here’s a thread on how it’s different from APO.
Cloudflare APO – serves entire website from Cloudflare’s edge network to improve TTFB. Cloudflare tested their APO on 500 sites and found on average, it improved TTFB by 90ms.
How To Setup Cloudflare APO
- Use a compatible cache plugin.
- Purchase APO (Speed → Optimization).
- In Cloudflare, go to My Profile → API Tokens → Create Token.
- Click “Use Template” (use the WordPress option).
- Continue to Summary → Create Token.
- Copy the token.
- Install the Cloudflare plugin.
- In WordPress, go to Settings → Cloudflare.
- Enter your Cloudflare email address and API token.
- In the plugin, click “Apply Recommended Cloudflare Settings for WordPress.”
- Toggle Automatic Platform Optimization to ON in Cloudflare.
- Visit uptrends.com and test your website using the www version.
- View the screenshot below to make sure APO is properly working.
- If it’s not working, try purging the cache in your cache plugin + Cloudflare.
- View Cloudflare’s documentation if you need clarification.
7. Disable Unused PHP Extensions
Disable everything you don’t use in your hosting account.
In cPanel, you probably don’t use several of these PHP extensions. You can disable XML-RPC and if your host supports it, enable Brotli compression, Redis (or memcached), and OPcache.
8. Use A Data Center Close To Visitors
You’ll notice in KeyCDN’s performance test that typically, the further away the testing location is from the server, the slower the TTFB. This is the same for your visitors which is why it’s so important to use a data center close to visitors. Most shared hosts only have around 6 data centers and some of them don’t even let you choose the location, while Vultr has 22 locations.
9. Move To Vultr HF And/Or LiteSpeed Servers
Vultr HF and LiteSpeed are probably the 2 most popular options right now.
Vultr High Frequency – high CPU clock speeds and I/O throughput with 3.8 GHz processors and NVMe storage. You can get Vultr HF through Cloudways or by buying it directly through the Vultr website then connecting it to a control like RunCloud or CloudPages (coming soon).
LiteSpeed – faster than Apache and Nginx. NameHero, WPX, JohnnyVPS, RunCloud, and CloudPages use LiteSpeed. So does Hostinger and A2, but don’t expect great uptimes/support.
I use Cloudways Vultr HF which is a popular choice in Facebook Groups. You can check my GTmetrix report, TTFB, or click through my site to see yourself. I moved from SiteGround to Cloudways which cut load times in half and fixed CPU issues (it’s also monthly pricing with no higher renewals). They use Object Cache Pro/Redis with NVMe storage and 44 data centers. Main cons are no file manager/email hosting and their Breeze plugin + CloudwaysCDN aren’t great. I suggest WP Rocket or FlyingPress, Cloudflare or BunnyCDN, and Google Workspace. They do 3-day trials, a free migration, and a promo code for 30% off 3 months. Some people are afraid they’re techie since it requires an extra step to launch a Vultr HF server, but it’s not hard:
Several people have already migrated to Cloudways and posted their results (or check Facebook polls and in-depth conversations). You can click on thumbnails to enlarge them.
LiteSpeed hosting on NameHero is another solid choice.
I’m not sure why people use other LiteSpeed hosts like Hostinger/A2 when you get more CPU cores + RAM with NVMe on NameHero. You can use the LiteSpeed Cache plugin with server-side caching, QUIC.cloud, HTTP/3, and Redis. This is arguably the fastest setup you’ll find on a budget. I don’t know anywhere else you get 3 CPU cores, 3GB RAM, and NVMe on LiteSpeed for $8/mo. WP Johnny and I both have solid guides on configuring LiteSpeed Cache with QUIC. The main con is they only have data centers in US + Netherlands. Otherwise they have higher uptimes with less ‘frequent maintenance’ compared to Hostinger/A2’s uptime status page with US-based support. Ryan (the founder) is a down to earth guy if you watch his YouTube channel.
10. Use PHP 8.0
Many hosts have already released PHP 8.0, newer MySQL versions, and new features to make your site faster while reducing TTFB. Make sure you’re using the optimizations your host offers.
11. Enable OPcache
OPcache reduces CPU usage by optimizing scripts and stores compiled PHP scripts in memory. It can be enabled in cPanel’s PHP Extensions, Cloudways has a guide, or Google it for your host.
12. Enable Object Cache
Object cache stores database query results so they can be accessed quickly which can reduce loads and server response times.
I generally recommend Redis over memcached which is known for having more efficient memory usage. Cache plugins like LiteSpeed Cache, W3 Total Cache, and SG Optimizer have object cache settings where you can set it to Redis or memcached. You also need to enable it in your hosting account (i.e. cPanel PHP Extensions or SiteGround Site Tools). Enabling the Redis add-on in Cloudways installs Object Cache Pro as a drop-in plugin. Or use the free Redis plugin.
13. Enable Gzip Or Brotli
14. Enable HTTP/3 On QUIC
If you’re on LiteSpeed, you can enable HTTP/3 & QUIC using LiteSpeed Cache. As Ryan from NameHero explains, Cloudflare’s HTTP/3 setting pulls from HTTP/2 and delivers from HTTP/3 (which is not full HTTP/3 support). For best results, follow his video to enable HTTP/3 & QUIC.
15. Find Slow Queries
Query Monitor helps you find slow queries/plugins.
Install the plugin, view any page on your site, and click the Query Monitor menu in the admin bar. You can view “Queries by component” to see your slowest loading queries/plugins. Check specifically for too many queries or even just a couple queries that are hogging RAM/resources.
16. Optimize Redirects + SSL
Maybe your TLS is high in KeyCDN which is usually caused by redirects/SSL.
You can usually find redirect errors in your PageSpeed Insights report (avoid URL redirects).
To optimize SSL, use TLS 1.3 which can usually be done in your hosting account and Cloudflare’s TLS/SSL settings. Set the minimum TLS to 1.2 since older versions are deprecated and slow. Enabling full (strict) SSL, Cloudflare’s edge SSL, and TCP Turbo on Cloudflare Pro can also help.
17. Use Argo For Smart Traffic Routing
Argo improves TTFB by avoiding traffic congestion and delivering content from faster, more reliable network paths. It also has tiered caching + TCP optimizations, but only makes sense if visitors aren’t local. It’s a paid service but worth testing if you have slow server response times.
18. Avoid Poorly Coded Themes/Plugins
There’s a large trend of people replacing Elementor/Divi with Oxygen Builder, GeneratePress, Kadence theme, Gutenberg (what I use), and others which are more lightweight. They use much less CSS/JS than most page builders. If you insist on using a page builder, try to use Elementor’s Hello theme and hard code your header/footer in CSS so it doesn’t use heavy page builder code.
Slow plugins which generate a lot of queries and third-party requests are also bad for TTFB. I mentioned it earlier, but see my list of common slow plugins and use Query Monitor + WP HIve. Avoid slow reporting, backup, and other plugins that constantly run scans or background tasks.
- Backup Buddy
- iThemes Security
- Broken Link Checker
- Query Monitor
- NextGEN Gallery
- Site Kit by Google
- Yoast SEO
- View full list of 75 slow plugins
19. Find Bottlenecks In Your GTmetrix Waterfall Chart
Check your GTmetrix Waterfall chart for red errors or even tasks that are very long. Who knows if fixing it will improve TTFB or not, but it’s something I see with quite a few websites.
20. Clean Your Database Thoroughly With WP-Optimize
Last but not least, do a thorough database cleanup with WP-Optimize.
This lets you go through your plugin tables and see their overhead and remove tables left behind by old plugins. And who knows, maybe you’ll see specific plugins/modules are causing a lot of database bloat. I did, so I ended up disabling many features in Rank Math like Analytics.
What is a good server response time?
Google flags your server response time if it's over 600ms, but they previously recommended 200ms which is realistic on cloud/VPS hosting.
How do I reduce server response times in WordPress?
Fast hosting is by far the #1 factor of server response times, but Cloudflare also has several features to improve TTFB like their DNS, CDN, APO, and Argo.
How do I improve TTFB on WooCommerce?
Remove unnecessary WooCommerce bloat such as scripts, styles, meta box, and marketplace suggestions. Most can be disabled using the Disable WooCommerce Bloat plugin. Avoid running WooCommerce on shared hosting and using heavy page builders.
Which WordPress plugin reduce TTFB?
LiteSpeed Cache and Cloudflare's plugin with their APO are the top 2 WordPress plugins that can reduce TTFB.
How do you measure server response times?
KeyCDN is a great way to measure server response times (TTFB) in 10 global locations.