
Key takeaways
- Measure before you change anything: use PageSpeed Insights and real-user data.
- Hosting and page caching have the biggest impact on server response time.
- Images are usually the heaviest part of a page; resize, compress and serve WebP or AVIF.
- Fewer, lighter plugins and third-party scripts improve responsiveness (INP).
- Keep PHP, WordPress, themes and plugins up to date.
If you are wondering how to speed up WordPress, you are not alone. WordPress is flexible, but every plugin, image and script you add has a cost. The good news is that most slow sites suffer from the same handful of problems, and you can fix them without being a developer.
This guide covers WordPress speed optimisation from the server up: hosting, caching, images, code and third-party scripts. Each fix explains what it does and how to apply it.
Step 0: measure your current speed
Before changing anything, record a baseline so you can see what works.
- PageSpeed Insights shows both lab results and, where available, real-user data from Chrome users.
- Google Search Console has a Core Web Vitals report covering your whole site.
- Your browser’s developer tools (Network and Performance tabs) show exactly which files load and how long they take.
Focus on the three Core Web Vitals:
| Metric | What it measures | Good |
|---|---|---|
| LCP (Largest Contentful Paint) | How quickly the main content appears | 2.5 s or less |
| INP (Interaction to Next Paint) | How quickly the page responds to clicks and taps | 200 ms or less |
| CLS (Cumulative Layout Shift) | How much the layout jumps while loading | 0.1 or less |
Also note the TTFB (Time to First Byte): the time the server takes to start sending the page. A high TTFB points to hosting, caching or database problems.
1. Start with fast hosting
Hosting sets the floor for your site’s speed. If the server takes a second to respond, your page cannot load in under a second. Look for:
- NVMe SSD storage for fast database reads and writes (see NVMe vs SSD hosting).
- A modern web server such as LiteSpeed with HTTP/3 support.
- Server-level page caching included in the plan.
- Enough CPU for your traffic, with a simple upgrade path.
- Servers close to your audience, for example in London for UK visitors.
2. Turn on page caching
Without caching, WordPress rebuilds each page for every visitor by running PHP and querying the database. Page caching stores the finished HTML and serves it instantly.
On LiteSpeed servers, install the free LiteSpeed Cache plugin from the WordPress plugin directory. It controls the server’s built-in cache, which is faster than plugins that write cache files through PHP. After activating it:
- Go to LiteSpeed Cache → Cache and confirm caching is enabled.
- Leave logged-in user caching off unless you understand the implications.
- For WooCommerce, keep cart, checkout and account pages excluded (the plugin does this by default).
- Purge the cache after major design changes.
3. Use a current PHP version
Each major PHP release has brought performance improvements, and old versions stop receiving security fixes. WordPress recommends PHP 8.3 or newer. In your hosting control panel (in cPanel, for example, Select PHP Version or MultiPHP Manager), choose 8.3 or later and test your site. Getradi customers don't need to touch any settings: email our support team and we'll switch the PHP version for you. If a plugin breaks, update it or find a maintained alternative.
4. Optimise your images
Images are usually the heaviest part of a page and the most common LCP element. To optimise them:
- Resize before uploading. A hero image rarely needs to be wider than 1,600–2,000 pixels.
- Use modern formats. WebP and AVIF are much smaller than JPEG and PNG at similar quality. WordPress supports both, and LiteSpeed Cache can generate WebP versions automatically.
- Compress. Aim for the smallest file that still looks sharp.
- Set width and height attributes so the browser reserves space, which prevents layout shift (CLS).
5. Lazy-load below-the-fold media, but not the hero
WordPress lazy-loads images by default, so the browser only downloads them as they approach the screen. The exception is your main image at the top of the page: it should load immediately. Recent WordPress versions add fetchpriority="high" to the likely LCP image automatically; check that your theme or page builder does not override this. Embed videos with a lightweight placeholder instead of loading the full player on page load.
6. Audit your plugins
The number of plugins matters less than what they do. One poorly built plugin can add several database queries and scripts to every page. To audit:
- Deactivate and delete plugins you no longer use.
- Replace plugins that do one small thing with a few lines of code or a built-in feature.
- Use a tool such as Query Monitor on a staging copy to spot slow queries and heavy scripts.
- Prefer plugins that only load their assets on the pages where they are needed.
7. Choose a lightweight theme
Multipurpose themes and heavy page builders can load large amounts of CSS and JavaScript on every page. A lightweight block theme built for the WordPress Site Editor usually produces leaner pages. If you must use a page builder, turn on its performance settings, such as loading only the CSS each page needs.
8. Minify and defer CSS and JavaScript
Minification removes unnecessary characters from files. Deferring JavaScript stops it from blocking the first render. LiteSpeed Cache includes options for both under Page Optimization. Enable them one at a time and test each page type, because aggressive combining or deferring can break interactive features.
9. Limit third-party scripts
Chat widgets, social embeds, multiple analytics tags and advertising scripts are a leading cause of poor INP. Each one competes for the browser’s main thread. Review every script and ask whether it earns its place. Load the ones you keep after consent and after the page has rendered, where possible.
10. Host fonts locally
Loading fonts from external services adds extra connections and can raise data protection questions under UK GDPR. Host your font files on your own server, use the WOFF2 format, limit the number of weights and add font-display: swap so text appears straight away.
11. Clean up the database
Over time, WordPress accumulates post revisions, expired transients, spam comments and leftover tables from deleted plugins. Clean them periodically with a database optimisation tool (LiteSpeed Cache includes one) and limit revisions by adding define( 'WP_POST_REVISIONS', 10 ); to wp-config.php. Always keep a backup of your database before cleaning it.
12. Reduce uncached work
Some pages cannot be fully cached: logged-in dashboards, carts, checkouts and search results. Speed these up by keeping plugins lean, indexing large tables where appropriate and avoiding expensive queries in your theme. On busy shops, this is where storage speed and CPU allocation matter most.
13. Tame WP-Cron and the Heartbeat API
WP-Cron runs scheduled tasks when someone visits your site, which can slow those visits down. On hosting that lets you schedule cron jobs, disable the built-in trigger with define( 'DISABLE_WP_CRON', true ); and run wp-cron.php on a schedule instead, for example every five minutes. On Getradi, ask our support team and we'll set up the server cron job for you. The Heartbeat API, which keeps the editor in sync, can also be slowed down in LiteSpeed Cache’s settings.
14. Keep everything updated
Updates to WordPress core, themes and plugins often include performance improvements as well as security fixes. Apply them regularly, ideally after testing on a staging copy for larger sites. With WP-CLI (the WordPress command-line interface) you can update everything in one command: wp core update && wp plugin update --all.
WordPress speed checklist
| Fix | Main metric improved | Effort |
|---|---|---|
| Fast hosting with NVMe and LiteSpeed | TTFB, LCP | Low |
| Page caching | TTFB, LCP | Low |
| PHP 8.3+ | TTFB | Low |
| Image optimisation and WebP/AVIF | LCP, CLS | Low to medium |
| Plugin audit | TTFB, INP | Medium |
| Lightweight theme | LCP, INP | Medium to high |
| Minify and defer CSS/JS | LCP, INP | Low to medium |
| Fewer third-party scripts | INP | Low |
| Local fonts | LCP, CLS | Low |
| Database clean-up | TTFB | Low |
How Getradi WordPress hosting helps
Several of these fixes are handled for you when you choose Getradi WordPress hosting: NVMe SSD storage, the OpenLiteSpeed web server with HTTP/3, LiteSpeed Cache for WordPress ready to activate, current PHP versions, and a server firewall that blocks unwanted traffic before it uses your resources. Every plan includes free migration from your current host. If you run a shop, WooCommerce hosting includes cache rules tuned for cart and checkout.
Plans start at €15.90 a month billed yearly, plus VAT, with a 15-day money-back guarantee, so you can measure the difference on your own site.
Frequently asked questions
Why is my WordPress site so slow?
The most common causes are slow hosting, no page caching, oversized images, too many or heavy plugins, an outdated PHP version and third-party scripts such as chat widgets and trackers. Measure first, then fix the biggest issue.
What are good Core Web Vitals scores?
Google considers a page good when Largest Contentful Paint (LCP) is 2.5 seconds or less, Interaction to Next Paint (INP) is 200 milliseconds or less and Cumulative Layout Shift (CLS) is 0.1 or less, measured at the 75th percentile of real visits.
Which caching plugin is best for WordPress?
It depends on your web server. On LiteSpeed servers, LiteSpeed Cache is the natural choice because it controls the server’s own cache. On other servers, use the caching plugin your host recommends.
Does hosting really affect WordPress speed?
Yes. Hosting determines server response time, storage speed, PHP version and the caching available. No amount of front-end optimisation can fully compensate for a slow server.
Will a CDN speed up my WordPress site?
A CDN (Content Delivery Network) serves static files from locations close to your visitors, which helps most with an international audience. For a mainly UK or European audience with good hosting, it is useful but not essential.