Most slow WordPress sites are slow for a few predictable reasons: the server takes too long to build each page, the pages are too heavy, or too much JavaScript loads. To speed up a WordPress site, measure first so you know which of those you’re dealing with, then fix the biggest one.
Work through this list in order. The early steps usually make the biggest difference.
1. Measure before you change anything
Run your homepage and two or three key pages, such as a product page or your most visited post, through PageSpeed Insights at pagespeed.web.dev. Test while logged out, since logged-in pages usually skip caching.
The report has two parts, and they mean different things:
- Real-user data at the top comes from actual Chrome visitors over the past 28 days. This is what Google uses for Core Web Vitals. Small sites may not have enough traffic to show it.
- Lab data and the performance score below come from a single simulated test on a throttled mobile connection. It’s useful for finding causes, but the score moves around between runs, so don’t chase 100.
Focus on the three Core Web Vitals. Google counts these as good:
- Largest Contentful Paint (LCP): 2.5 seconds or less. How fast the main content appears.
- Interaction to Next Paint (INP): 200 milliseconds or less. How quickly the page responds to taps and clicks.
- Cumulative Layout Shift (CLS): 0.1 or less. How much the layout jumps while loading.
Also look at Time to First Byte (TTFB), which is how long the server takes to start responding. If that’s slow, the problem is the server or uncached pages, and image work won’t fix it. For a site-wide view over time, use the Core Web Vitals report in Google Search Console.
2. Hosting and PHP version
Your server’s response time is the floor for everything else. A crowded shared server or an outdated stack can make every page slow, no matter what you do in WordPress.
Check your PHP version under Tools → Site Health → Info → Server. Newer PHP 8 versions are noticeably faster than older ones. Make sure you’re on a version that’s still supported, and test the change on a staging site first, since older plugins can break on a newer PHP version.
If your TTFB is still slow on cached pages, or the site slows down whenever traffic rises, the hosting is likely the limit. That’s when managed WordPress hosting or a properly sized VPS pays off.
3. Page caching
Without caching, WordPress runs PHP and database queries to build every page for every visitor. Page caching saves the finished HTML and serves that instead, which is usually the single biggest speed gain.
- Many hosts provide server-level caching. If yours does, use it and don’t add a second page cache plugin on top.
- Otherwise, use one caching plugin, such as WP Super Cache, W3 Total Cache, WP Rocket, or LiteSpeed Cache on LiteSpeed servers.
- Make sure cart, checkout, account and login pages are excluded. Most caching plugins detect WooCommerce and do this automatically, but check.
- For stores, membership sites and busy dashboards, ask your host about persistent object caching with Redis or Memcached. It speeds up the pages that can’t be page cached.
When you change settings, purge the cache before you test again. Our guide to clearing WordPress cache covers each layer.
4. Image sizes and formats
On most sites, images are the heaviest part of the page. The common problem is a photo straight from a phone or camera, thousands of pixels wide, displayed in a space a few hundred pixels wide.
- Resize images before uploading to roughly the largest size they’ll be shown at. WordPress scales down very large uploads to 2,560 pixels, but that’s still far larger than most layouts need.
- Use modern formats. WordPress supports WebP uploads, and AVIF since version 6.5 if your server supports it. An image optimization plugin can convert and compress your existing library.
- Don’t lazy-load the main image at the top of the page. WordPress lazy-loads images automatically and tries to skip the first one, but sliders and page builder background images can get around that and delay your LCP.
5. Plugin bloat
The number of plugins matters less than what each one does. One badly built plugin can slow a site more than twenty good ones.
- Delete plugins you no longer use.
- Watch for plugins that load scripts and styles on every page when they’re needed on one, such as sliders, form builders and social sharing tools.
- Install Query Monitor to see which plugins run slow database queries or take the longest on a given page.
- Test a suspect by deactivating it on staging and measuring again. The same method used to troubleshoot a plugin conflict works here.
6. Theme and page builder weight
Multipurpose themes and page builders add extra HTML, CSS and JavaScript to every page. That weight often shows up as poor INP and slow loading on mobile.
Most builders now have performance settings, such as loading only the CSS a page uses. Make sure those are switched on. If your measurements point clearly at the theme, a lightweight theme can make a big difference. See our list of fast WordPress themes. Don’t rebuild a site for speed alone until the numbers say the theme is the problem.
7. Database cleanup
Over the years the database collects post revisions, expired temporary data, spam comments and settings left behind by deleted plugins. That mostly slows the admin area, but some of it loads on every page.
- Check Tools → Site Health. Recent versions of WordPress warn you when autoloaded options, settings loaded on every request, get too large.
- Limit revisions by adding
define( 'WP_POST_REVISIONS', 10 );towp-config.php. - Clear expired transients with
wp transient delete --expired, or use a cleanup plugin such as WP-Optimize. - Empty spam and trashed comments.
Take a backup before any cleanup. Database cleanup deletes data permanently.
8. Use a CDN
A content delivery network stores copies of your images, CSS and JavaScript on servers around the world and serves them from the one nearest each visitor. It helps most when your visitors are spread across countries. For a local business whose visitors are near the server, the gain is smaller.
Many hosts include a CDN, and Cloudflare offers a free plan. After turning one on, check that forms, checkout and logins still work, and purge the CDN cache whenever you change CSS or JavaScript.
Keep it fast
Speed slips over time as plugins update, content grows and new features get added. Test your key pages every few months and after any big change, and treat a sudden jump in TTFB as a sign that something changed on the server or in a plugin.
Want someone to handle it?
Our Care Plans (from $69 a month) keep your site fast with updates tested on staging, monitoring, backups and a developer you can ask about speed. Not sure what’s slowing your site down? Start with a free site review.