How to Speed Up a WordPress Site: 15 Practical Fixes
Fifteen practical ways to make a slow WordPress site faster, from caching and image optimisation to trimming plugins, upgrading PHP and choosing better hosting.
A slow WordPress site loses visitors, sales and search visibility. The good news is that most slowness comes from a short list of causes, and many of the fixes are free. Work through the list below in order: the early steps usually bring the biggest gains for the least effort.
- Measure first, so you know whether the server, the page weight or third-party scripts are the problem.
- Page caching, image optimisation and removing heavy plugins solve most speed problems.
- If the server itself is slow to respond even with caching, the hosting plan is the bottleneck.
Start by measuring
Test a few typical pages, not only the homepage, with a tool such as Google PageSpeed Insights, which reports both lab results and real-user Core Web Vitals when enough data exists. Note two things:
- Time to First Byte (TTFB): how long the server takes to start sending the page. A slow TTFB points to the server, PHP or database.
- Page weight and requests: large images, many scripts and web fonts slow the page down after the server has responded.
Re-test after each change so you know what actually helped.
Fixes on the server side
1. Turn on page caching
Without caching, WordPress runs PHP and database queries for every visit. A page cache stores the finished HTML and serves it directly. Use your host’s built-in cache (for example on LiteSpeed or Nginx servers) or a reputable caching plugin. This alone can cut response times dramatically for visitors who are not logged in.
2. Use a current PHP version
Newer PHP versions are generally faster and receive security fixes. Check which version your host runs, test your site on the newest supported version in a staging copy, then switch.
3. Add an object cache
For stores, membership sites and busy admin areas, an object cache such as Redis or Memcached keeps the results of database queries in memory. Many managed hosts offer it with one click.
4. Clean the database
Over time, the database collects post revisions, expired transients, spam comments and leftovers from deleted plugins. Remove them with a maintenance plugin, and limit revisions in wp-config.php. Always take a backup first.
5. Control background tasks
WordPress’s built-in scheduler, WP-Cron, runs on page visits. On busy sites, disable it in wp-config.php and trigger it with a real server cron job every few minutes instead.
Fixes in the page itself
6. Optimise images
Images are often most of a page’s weight. Resize them to the size they are displayed, compress them, and serve modern formats such as WebP or AVIF. WordPress adds responsive image sizes automatically; make sure your theme uses them.
7. Lazy-load below-the-fold media
WordPress lazy-loads images by default. Do not lazy-load the main image at the top of the page, because that delays the most important content.
8. Remove plugins you do not need
Each plugin can add scripts, styles and database queries to every page. Deactivate plugins one by one and measure. Replace heavy multi-purpose plugins with lighter single-purpose ones where possible.
9. Choose a lightweight theme
Some themes and page builders load large amounts of CSS and JavaScript on every page. A lean theme, or the block editor with a block theme, often loads much less.
10. Reduce third-party scripts
Chat widgets, social embeds, heat-mapping tools and multiple tracking tags each make extra connections. Keep only those you use, and load non-essential ones after the page becomes interactive.
11. Minify and combine carefully
Minifying CSS and JavaScript removes wasted bytes. Deferring non-critical scripts helps the page render sooner. Test after enabling these options, because aggressive settings can break menus or forms.
12. Host fonts locally and limit them
Each font family and weight is another file. Use two or three weights at most, host them on your own domain, and use font-display: swap so text appears immediately.
Fixes in delivery
13. Use a CDN
A content delivery network serves static files, and sometimes whole cached pages, from servers close to each visitor. It helps most when your audience is spread across countries.
14. Enable modern protocols and compression
Make sure your server supports HTTP/2 or HTTP/3 and compresses text files with Brotli or Gzip. Most good hosts enable these by default.
15. Upgrade the hosting when the server is the limit
If cached pages are fast but uncached pages, the admin area or checkout remain slow, the server lacks resources. Moving from crowded shared hosting to a better plan, a VPS or managed WordPress hosting is then the right fix. See our comparison of shared, VPS and cloud hosting.
Frequently asked questions
Which single change helps WordPress speed the most?
For most sites, page caching. It removes the PHP and database work for most visitors.
Do speed plugins slow down the site?
Running two caching or optimisation plugins at once often causes conflicts. Use one well-configured tool, or your host’s built-in cache.
Why is my site fast for visitors but slow when I am logged in?
Logged-in users usually bypass the page cache, so every page is built from scratch. An object cache, fewer plugins and better hosting help in that case.



