Guides · 8 min read ·
How to Speed Up a WordPress Site: 15 Fixes That Actually Work
Speed up a WordPress site with 15 proven fixes: caching, WebP/AVIF images, lazy loading, fewer plugins, newer PHP, database cleanup and the right hosting.
To speed up a WordPress site, start with the fixes that make the biggest difference: turn on page caching, resize and compress images (ideally as WebP or AVIF) with lazy loading below the fold, run a current PHP version, remove heavy plugins and third-party scripts, and make sure your hosting has enough PHP workers for your traffic. Measure with Google PageSpeed Insights before and after each change so you know what actually worked. Below are 15 fixes in roughly the order we would tackle them.
First, measure: PageSpeed Insights and Core Web Vitals
Open PageSpeed Insights (pagespeed.web.dev), enter a URL and look at the mobile results first. Most Indian visitors browse on phones, often over mobile data, and Google evaluates the mobile version of your site. Test three kinds of pages, not just the homepage: a typical post or service page, your heaviest page, and a product or checkout page if you sell online.
The report has two parts. Field data comes from real Chrome users over the past 28 days and is what Google uses; it only appears once a page has enough traffic. Lab data is a simulated Lighthouse test, useful for diagnosing problems but not a score Google ranks you on. Field data is judged on three Core Web Vitals:
| Metric | What it measures | Good | Poor |
|---|---|---|---|
| LCP (Largest Contentful Paint) | How quickly the main content, usually the hero image or headline, appears | 2.5 s or less | Over 4 s |
| INP (Interaction to Next Paint) | How quickly the page responds to taps, clicks and typing | 200 ms or less | Over 500 ms |
| CLS (Cumulative Layout Shift) | How much the layout jumps around while loading | 0.1 or less | Over 0.25 |
A page passes when at least 75% of visits meet the "good" threshold. Also watch server response time, shown in the lab diagnostics: if the first byte takes more than about 0.8 seconds, the problem is on the server side (caching, PHP or hosting) and no amount of front-end tweaking will fully fix it.
Why WordPress sites get slow
A slow WordPress site usually suffers from a handful of familiar problems: every page built from scratch by PHP because nothing is cached, oversized images straight from a phone camera, a page builder and twenty plugins each loading their own scripts, chat widgets and tracking pixels, an outdated PHP version, a bloated database, or a hosting plan with too few resources for the traffic. The fixes below target each of these.
15 fixes to speed up your WordPress site
1. Turn on page caching
Without caching, WordPress runs PHP and dozens of database queries for every visit. A page cache saves the finished HTML and serves it directly, which typically cuts server response time dramatically. Install one caching plugin, such as WP Super Cache or W3 Total Cache, enable page caching, and exclude cart, checkout and account pages if you run WooCommerce. Never run two caching plugins together.
2. Resize images before you upload them
A photo from a modern phone is often 4,000 pixels wide and several megabytes. Your content area is probably 800 to 1,200 pixels wide. Resize photos to around 2,000 pixels at most for full-width banners and smaller for in-content images before uploading. WordPress creates smaller copies automatically, but it keeps the original too, and some themes still load it.
3. Serve WebP or AVIF images
WebP files are usually much smaller than JPEG or PNG at the same visual quality, and AVIF is often smaller still. WordPress has accepted WebP uploads since version 5.8 and AVIF since 6.5. An image optimisation plugin can compress and convert your existing library in bulk and handle new uploads automatically. Keep JPEG quality around 75–85; visitors will not notice the difference.
4. Lazy-load images below the fold, but not the hero
WordPress adds loading="lazy" to images automatically, so off-screen images download only as visitors scroll. The exception is your largest above-the-fold image, usually the hero banner or featured image: lazy-loading it delays LCP. Recent WordPress versions try to skip it and mark it with fetchpriority="high", but sliders and page builders often override that, so check the LCP element in PageSpeed Insights.
5. Reserve space for images, ads and embeds
Layout shift happens when something loads late and pushes content down. Make sure images have width and height attributes (WordPress adds them to images inserted through the editor), give ad slots and embeds a fixed-height container, and avoid banners that slide in above existing content.
6. Remove plugins you do not need
The number of plugins matters less than what they do, but every active plugin adds code that runs on every request. Deactivate and delete anything unused, and replace heavy all-in-one plugins with lighter single-purpose ones. The free Query Monitor plugin shows which plugins add the most database queries and slowest code on each page.
7. Use a lightweight theme
Multipurpose themes with built-in sliders, animations and dozens of demo layouts load a lot of CSS and JavaScript you never use. A lightweight theme, or a modern block theme built for the WordPress Site Editor, often halves page weight. If you rely on a page builder, use its performance settings to load only the assets each page needs.
8. Run a current PHP version
Each PHP 8 release runs WordPress faster than PHP 7, and PHP 7.4 has been out of security support since November 2022. Every HostEthical hosting plan runs PHP 8.3. On any host, check Tools → Site Health, which warns if your PHP version is outdated, and test your plugins after an upgrade.
9. Clean up the database
Over time the database collects post revisions, spam and trashed comments, expired transients and leftover tables from deleted plugins. A cleanup plugin removes these safely; take a backup first. To stop revisions piling up again, add this line to wp-config.php:
define( 'WP_POST_REVISIONS', 10 );
Also check Site Health for warnings about large "autoloaded options", data that WordPress loads on every single request, often left behind by old plugins.
10. Cut third-party scripts
Chat widgets, multiple analytics tools, social media feeds, ad pixels and embedded maps each pull code from other servers, and they are among the most common causes of a poor INP. Keep only the ones that earn their place. Load YouTube videos with a lightweight "click to play" placeholder instead of the full player, and link to Google Maps rather than embedding a map on every page.
11. Load fonts efficiently
Each font family and weight is another download. Use two families at most and only the weights you actually use, host the font files on your own site, and use font-display: swap so text appears immediately in a fallback font. A system font stack is fastest of all.
12. Minify and defer CSS and JavaScript, carefully
Most caching and optimisation plugins can minify files, defer non-essential JavaScript and remove unused CSS. These settings can help noticeably, but they are also the most likely to break menus, sliders and forms. Turn them on one at a time and test key pages, including on mobile, after each change.
13. Tame background requests
The WordPress Heartbeat API sends regular background requests while the dashboard is open; with several editors logged in, these use up PHP workers. A plugin can slow Heartbeat down. On WooCommerce stores, check whether cart fragment requests run on every page; they bypass the page cache and add an uncached request to each visit.
14. Keep WordPress, themes and plugins updated
Updates bring performance improvements as well as security fixes. WordPress core has received steady performance work in recent releases, and plugin developers regularly fix slow queries. Update weekly, and remove plugins that have not been updated in a long time.
15. Give the site enough hosting resources
Caching hides a lot, but logged-in users, searches, carts and checkouts always run PHP. Each uncached request needs a free PHP worker, so if your traffic regularly needs more workers than your plan has, requests queue and the site feels slow even though every other fix is in place. Fast storage matters too, because WordPress reads the database constantly. All HostEthical plans use NVMe storage:
| Plan | Websites | NVMe storage | PHP workers | Good fit |
|---|---|---|---|---|
| Starter | 1 | 10 GB | 1 | A well-cached business site or blog |
| Business | 3 | 30 GB | 2 | Small WooCommerce stores and membership sites |
| Pro | 5 | 50 GB | 4 | Busier stores, client sites, more logged-in traffic |
Plans start at ₹99 a month, or about ₹82.50 a month when billed yearly , shown without GST. If you have outgrown shared hosting entirely, a VPS gives you your own allocation of vCPU and RAM plus the freedom to add tools such as Redis object caching; our VPS vs shared hosting comparison helps you decide when that time comes.
What not to do when fixing a slow WordPress site
- Do not stack optimisation plugins. Two caching plugins, or a caching plugin plus a separate minifier doing the same job, conflict and can make things slower or break the site.
- Do not chase a perfect 100. The lab score is a diagnostic. Passing Core Web Vitals in the field and a site that feels fast on a mid-range phone matter far more.
- Do not change everything at once. Make one change, test, then move on. Otherwise you will not know which change helped or which one broke the checkout.
- Do not forget the basics outside WordPress. A site that is still on plain HTTP misses out on HTTP/2; see our guide to SSL certificates.
Re-test and keep it fast
After working through the list, run PageSpeed Insights again on the same pages and compare. Lab results change straight away; field data takes up to 28 days to reflect improvements, so check back in a month. Then make speed a habit: compress every image before uploading, question every new plugin, and review your site after big design changes.
Setting up a new site rather than fixing an old one? Our guide to WordPress hosting in India covers the right foundation from day one.
Frequently asked questions
Why is my WordPress site so slow?
The usual causes are no page caching, oversized images, heavy plugins or third-party scripts, an outdated PHP version and hosting without enough resources. PageSpeed Insights shows which of these affect your pages.
What is a good PageSpeed Insights score for WordPress?
Aim to pass Core Web Vitals in the field data rather than chase a perfect lab score. A mobile score of 90 or more is excellent, but a site that passes Core Web Vitals with a lower lab score is in good shape.
Does the number of plugins slow down WordPress?
What plugins do matters more than how many there are. One badly built plugin can slow a site more than twenty light ones, so measure with a tool like Query Monitor and remove anything you do not use.
Will better hosting make my WordPress site faster?
Yes, when the server is the bottleneck. If server response time stays slow with caching on, or the site slows down for logged-in users and shoppers, more PHP workers, faster storage or a VPS will help.