How to Speed Up a WordPress Site Step by Step
WordPress powers a huge share of websites, and many of them are slower than they need to be. The reasons are usually predictable: weak hosting, too many plugins, a heavy theme, large images, and no caching. Work through these steps in order, testing after each one.
Before you start
Make a full backup, and ideally work on a staging copy. See website backups and what is a staging site. Record baseline speed results so you can see improvement. See how to test website speed.
Step 1: Check your hosting
Cheap, overcrowded hosting is a common cause of slow response times. Look at your server response time. See what is TTFB. If it's consistently slow, consider a better plan or a host that specializes in WordPress. See how to choose web hosting.
Step 2: Update everything
Use a current, supported version of PHP, WordPress, your theme, and your plugins. Newer versions are usually faster and safer. Check for compatibility first. See how to keep your website secure.
Step 3: Add caching
A caching plugin or your host's built-in caching serves ready-made pages instead of building them every time. This is often the single biggest improvement. See page caching explained and browser caching explained.
Step 4: Audit your plugins
Every plugin can add code, database queries, scripts, and styles. Deactivate and delete plugins you don't use. Replace heavy ones with lighter options. Watch out for plugins that load assets on every page when they're needed on only one. Fewer, better plugins beats dozens of small ones.
Step 5: Look at your theme and page builder
Heavy multipurpose themes and page builders can load large amounts of CSS and JavaScript. A lean, well-coded theme makes a big difference. If you use a builder, avoid unnecessary widgets and sections. See wordpress vs website builders vs custom code.
Step 6: Optimize images
Resize to the displayed size, compress, and use modern formats such as WebP. Lazy-load below-the-fold images. See how to compress images, WebP vs AVIF vs JPEG, and lazy loading.
Step 7: Reduce third-party scripts
Remove unneeded trackers, widgets, and embeds, and load the rest carefully. See third-party scripts and website speed.
Step 8: Use a CDN
A CDN serves static files from locations near visitors and can also offload traffic. See what is a CDN.
Step 9: Minify and defer
Minify CSS and JavaScript and defer non-critical scripts, using your caching or optimization plugin. Test carefully, since aggressive settings can break layouts. See minify CSS and JavaScript and render-blocking resources.
Step 10: Tidy the database
Over time, WordPress databases accumulate post revisions, spam comments, expired transients, and leftover data from removed plugins. Clean up carefully, with a backup, or use a reputable maintenance tool.
Step 11: Check fonts
Limit font families and weights, and load them efficiently. See choosing web fonts without slowing your site.
Step 12: Test again and watch Core Web Vitals
Compare results with your baseline and check real-user data. See Core Web Vitals explained.
Keep it fast
Add a speed check to your routine. See the website maintenance checklist and performance budgets.
The bottom line
Fix hosting and caching first, then trim plugins, images, and scripts. Test after each step and keep a backup, and a slow WordPress site can become a quick one.