
A slow WordPress site loses visitors before they read a word, and since Google made Core Web Vitals a ranking signal, it loses rankings too. The good news is that most slow sites share the same handful of causes, and fixing them does not require a developer. This guide walks through 12 steps to speed up WordPress, in the order that gives the biggest gains first, updated in October 2026 for current tools and Core Web Vitals.
First, Measure
Run your homepage and one typical post through PageSpeed Insights. Note three numbers: Largest Contentful Paint (LCP, aim under 2.5 seconds), Interaction to Next Paint (INP, under 200 ms), and Cumulative Layout Shift (CLS, under 0.1). Those are the Core Web Vitals Google measures from real visitors. Our guide to website speed testing tools covers GTmetrix and WebPageTest for deeper detail. Test again after each step below.
1. Fix Your Hosting
Hosting sets the ceiling. A cheap shared plan with a slow time to first byte (TTFB) cannot be cached or optimized past a certain point. If your TTFB in PageSpeed Insights is over 600 ms on a cached page, move hosts before doing anything else.
For a blog on a budget, HostGator and Bluehost are adequate once cached. For a site that earns money, managed WordPress hosting with server-level caching is worth the difference: SiteGround at the low end, Cloudways for flexible cloud servers, and Kinsta or WP Engine for high traffic. Whichever you pick, make sure it runs PHP 8.2 or newer; each PHP version is measurably faster than the last, and you can usually switch it in your hosting panel.
2. Use a Lightweight Theme
A theme that loads 20 scripts and a slider on every page cannot be made fast. The fastest themes today are block-based and lean: GeneratePress, Kadence, Blocksy, and Astra all load under 50 KB of CSS and work with the block editor without a page builder. If you are on an old multipurpose theme or a heavy page builder, switching themes often does more for speed than every other step combined. See how to choose a WordPress theme.
3. Install a Caching Plugin
Caching stores a finished copy of each page so WordPress does not rebuild it for every visitor. It is the single biggest fix for most sites. WP Rocket ($59 a year) is the easiest: activate it and page caching, browser caching, GZIP, and lazy loading are on, with one-click options for file minification, delaying JavaScript, and database cleanup. Free alternatives: LiteSpeed Cache (the best choice if your host runs LiteSpeed, which SiteGround, Hostinger, and many others do), WP Super Cache, or W3 Total Cache for people who want every knob.
Managed hosts such as Kinsta and WP Engine cache at the server level, so you only need a plugin there for the optimization features, not the page cache.
4. Optimize Images
Images are typically 50 to 70 percent of a page’s weight. Three fixes: compress them, serve them in WebP or AVIF, and size them to the width they display at. A plugin does all three automatically on upload and for your existing library: ShortPixel, Imagify, EWWW, or Smush. For images before upload, see our online image optimizer tools. WordPress lazy-loads images below the fold by default; make sure the hero image at the top of each page is not lazy-loaded, as that hurts LCP.
5. Use a CDN
A content delivery network stores copies of your images, CSS, and scripts on servers around the world and serves them from the one nearest each visitor. Cloudflare is free and also caches full pages with its APO add-on ($5 a month), which makes a shared-hosting site feel like managed hosting. Bunny.net is the cheap paid alternative, and most managed hosts include a CDN.
6. Remove Plugins You Do Not Need
Every active plugin can add scripts, styles, and database queries to every page. Go through your plugin list and deactivate and delete anything you are not actively using, including deactivated plugins, which are still a security risk. Watch especially for plugins that load on every page but are only used on one (contact forms, sliders, social feeds). The free Query Monitor plugin shows which plugins are slow; Perfmatters or Asset CleanUp can stop a plugin loading its files on pages where it is not needed.
7. Reduce JavaScript
Unused and render-blocking JavaScript is the main cause of poor INP scores. In WP Rocket, enable “Delay JavaScript execution” and “Load JavaScript deferred”; LiteSpeed Cache and Perfmatters have the same options. Host Google Fonts locally or use a system font. Replace embedded YouTube videos with a click-to-play thumbnail (WP Rocket and most optimization plugins do this), since one embed loads over 500 KB of script.
8. Clean Up the Database
WordPress stores every post revision, spam comment, trashed item, and expired transient. Over years that bloats the database and slows queries. WP Rocket, LiteSpeed Cache, and the free WP-Optimize can clean all of it on a schedule. Also add this line to wp-config.php to cap revisions: define('WP_POST_REVISIONS', 5);
9. Optimize the Homepage and Archives
- Show excerpts instead of full posts (Settings > Reading).
- Limit the homepage to around 10 posts with pagination.
- Remove widgets that are not needed on the homepage, and remove sidebar elements that load external scripts (social feeds, badges). See how to control where widgets show.
- Keep the above-the-fold area simple: one optimized hero image, no slider.
10. Limit External Scripts and Ads
Third-party scripts (analytics, ad networks, chat widgets, tracking pixels, embedded feeds) are often the slowest things on a page because you cannot cache or optimize them. Audit the Network tab in your browser or the “Reduce third-party code” item in PageSpeed Insights. Load analytics through Google Tag Manager with consent-based triggers, lazy-load ads below the fold, and remove any script that does not earn its keep.
11. Keep WordPress, PHP, and Plugins Updated
Each WordPress release includes performance work, PHP upgrades are the easiest speed boost available, and plugin updates fix the slow queries that creep in. Turn on auto-updates for minor WordPress releases and for trusted plugins, and keep backups so updates are never scary.
12. Consider Object Caching for Busy Sites
If your site has logged-in users, WooCommerce, or heavy traffic that page caching cannot cover, ask your host to enable Redis or Memcached object caching and install the Redis Object Cache plugin. It stores database query results in memory and can cut server response time in half on dynamic pages. Most managed hosts offer it; many shared hosts do not.
A Realistic Order of Operations
Measure, then do steps 3, 4, and 5 (cache, images, CDN) in an afternoon; most sites pass Core Web Vitals after those three. If scores are still poor, the theme (step 2) or the host (step 1) is the bottleneck. The remaining steps are maintenance that keeps a fast site fast.
Frequently Asked Questions
What is a good load time for a WordPress site?
Under 2.5 seconds for Largest Contentful Paint on mobile, which is Google’s “good” threshold. Well-optimized blogs load in about one second.
Is WP Rocket worth it over free caching plugins?
For non-technical users, yes. It gets the settings right by default and bundles JavaScript delay, lazy loading, database cleanup, and CDN integration that would otherwise need three or four plugins. LiteSpeed Cache is just as capable for free if your host supports it.
Do too many plugins slow down WordPress?
The number matters less than what they do. Thirty lightweight plugins can be faster than one bloated page builder. Remove what you do not use, and check the heavy ones with Query Monitor.
Does site speed affect SEO?
Yes. Core Web Vitals are part of Google’s page experience signals, and slow pages have higher bounce rates and lower conversion rates regardless of rankings.
Leave a Reply