How to Make a WordPress Website Faster and More Reliable
The changes that move the needle, ordered by impact — and the ones that get recommended constantly but rarely help.

Short answer
In order of impact on a typical business site: fix the images, cut the plugin stack, put real caching in front of it, move to hosting that fits, then clean the database. Most sites get the majority of their available improvement from the first three.
Speed advice tends to arrive as an undifferentiated list of twenty things. Some of those twenty are worth hours; most are worth minutes. This is ordered by what actually changes the number on a typical WordPress business site.
1. Images
Almost always the largest single win, and almost always the last thing anyone checks.
- Serve images at the size they are displayed, not at the size they were uploaded
- Use modern formats — WebP or AVIF — with a fallback
- Compress properly; most photographs lose nothing visible at 80% quality
- Set explicit width and height so the browser reserves the space and the layout does not jump
- Lazy-load images below the fold, and never the hero image
That last point reverses a common mistake: lazy-loading the largest image on the page delays the exact element Largest Contentful Paint measures. How images affect website speed and SEO goes further.
2. The plugin stack
Every plugin loads code. Many load it on every page regardless of need — a slider plugin used on the homepage shipping its CSS and JavaScript to your contact page.
Audit properly:
- List everything installed
- For each, write down what it does and where it is used
- Deactivate anything you cannot justify *(on staging first)*
- For anything used on one page, check whether it can be conditionally loaded
- Delete deactivated plugins — do not leave them sitting there
Deactivated plugins still occupy disk, still need updating, and are still a vulnerability if they contain one.
3. Caching
Page caching serves a pre-built HTML file instead of running PHP and querying the database for every visitor. On an uncached WordPress site this is a large, immediate difference.
Layers worth having:
- Page cache — the big one
- Object cache — for repeated database queries; matters more on complex sites
- Browser cache — correct headers so returning visitors re-download less
- CDN — serves static assets from somewhere geographically nearer
WordPress caching explained covers what each layer does and how they interact, including why they sometimes make each other useless.
4. Hosting
At some point optimisation stops and you are simply on a plan too small for the site.
Signs you have hit it:
- Server response time consistently above ~600ms even with caching on
- The site slows noticeably under normal traffic
- The admin is sluggish even when the front end is cached
- You are on shared hosting with a WooCommerce store
WooCommerce in particular is a poor fit for cheap shared hosting, because cart and checkout pages cannot be cached and hit PHP and the database on every request.
5. The database
Lower impact than the four above, but it accumulates.
- Limit post revisions rather than storing every draft forever
- Delete expired transients
- Clear spam and trashed comments
- Remove orphaned metadata left by plugins you have deleted
- Ensure tables are indexed sensibly if the site is large
What matters for reliability
Speed and reliability are separate problems and get conflated.
Backups that are tested. A backup nobody has ever restored is a hypothesis. Restore one to staging on a schedule.
Staging. Update there, look, then repeat on live. This single habit prevents most "the site broke after an update" incidents.
Uptime monitoring. You should learn the site is down from a monitor, not from a customer.
Update discipline. Security updates promptly, feature updates deliberately, with a backup taken first.
Fewer dependencies. Every plugin and theme is something that can break. The most reliable sites are the ones running the least code.
This is the routine covered by the website maintenance service, and in more detail in WordPress security and maintenance.
Things that get recommended but rarely help
- Switching PHP version for speed alone. Staying on a supported version matters for security. The performance difference between recent versions is small.
- Minifying everything aggressively. Modest gains, and a frequent cause of broken JavaScript.
- Removing jQuery. Rarely possible without breaking something, and rarely the actual bottleneck.
- Adding a second caching plugin. Two caching layers fighting each other is worse than one configured correctly.
- Chasing a 100 score. The last few points routinely cost more than they are worth. Real-world load time is the goal, not the number.
How to know whether it worked
Measure before and after, in the same conditions:
- Use field data where you have it — Search Console's Core Web Vitals report reflects real users
- For lab tests, use a mid-range mobile profile over a throttled connection
- Test the same three or four URLs each time, including your heaviest page
- Change one thing at a time, or you will not know what worked
Core Web Vitals explained covers what the metrics mean, and the speed optimisation checklist is the condensed working version of this article.
Worked examples
Related services
Related reading
Website Performance
Why Is My WordPress Website Slow?
Four kinds of slow, four different causes. Work out which one you have before changing anything.
Website Performance
WordPress Caching Explained
Four layers, each solving a different problem. What each does and where they conflict.
Website Performance
How Images Affect Website Speed and SEO
Usually the largest thing on the page and the last thing anyone checks. Sizing, formats, and the lazy-loading trap.
Website Performance
Website Speed Optimisation Checklist
Ordered by impact rather than alphabetically, so you fix the thing that matters before the thing that does not.
