Why your WordPress site is slow —
and how to actually fix it.
A slow WordPress site is not just an inconvenience. It is a ranking signal, a conversion killer, and a symptom of something that will get worse over time if ignored. Here is how to diagnose it and what to do about it.
You notice it first as a vague frustration. Pages take a beat too long to load. The admin is sluggish. Visitors seem to bounce quickly. You check your Google Search Console and notice your Core Web Vitals are failing.
The problem is your WordPress site is slow. The harder question is: why? WordPress can be fast. Many of the world’s highest-traffic sites run on it. But out of the box, with a typical hosting setup and the wrong combination of plugins, it can also be very slow indeed.
Here are the most common causes — and what to do about each one.
1. Your images are not optimised
This is the cause of slow WordPress sites more often than anything else. Images uploaded at their original size — straight from a phone or camera — can be 3, 5, even 10 megabytes each. A page with five of those images is trying to load 25-50MB before the visitor sees anything.
What to do: Install an image compression plugin — Imagify, ShortPixel, or Smush. Run it on your existing image library. Set it to automatically compress new uploads. Convert images to WebP format where possible — it is typically 30% smaller than JPEG at the same quality. And never upload an image larger than the size it will be displayed at.
2. You have no caching
Every time a visitor loads a WordPress page without caching, the server executes PHP, queries the database, assembles the HTML, and sends it. This takes time. Caching stores a static version of the assembled page and serves that instead — no database query, no PHP execution. The speed difference is dramatic.
What to do: Install WP Rocket (paid, the best), W3 Total Cache (free), or use LiteSpeed Cache if your hosting supports it. Enable page caching, browser caching, and GZIP compression. These three settings alone can cut your load time by 40-60%.
3. Your hosting is underpowered
Cheap shared hosting puts your site on a server with hundreds or thousands of other sites, all competing for the same limited resources. When another site on the server experiences high traffic, yours slows down. You have no control over this and no visibility into when it is happening.
This is the most common hidden cause of slow South African WordPress sites. Hosting that costs R50-R100 per month is almost always shared hosting. It is fine for a static brochure site. It is not fine for a WooCommerce store or a site you are trying to rank competitively.
What to do: Move to managed WordPress hosting (Kinsta, WP Engine, Cloudways) or a VPS. Expect to pay R300-R800 per month for genuinely fast hosting. The speed improvement is immediate and dramatic. If you are serious about SEO and conversion, this is not optional.
4. Too many plugins — especially poorly coded ones
Every plugin adds code that has to load on every page request. Most plugins are fine. But some — particularly cheap or poorly maintained ones — add significant overhead. Contact form plugins, slider plugins, social sharing plugins, and some SEO plugins are common offenders.
What to do: Audit your plugins. Deactivate and delete anything you are not actively using. For each active plugin, check when it was last updated — plugins that have not been updated in over a year are a performance and security risk. Use Query Monitor to identify which plugins are adding the most database queries per page load.
5. Your page builder is bloated
Visual page builders like Elementor, Divi, WPBakery, and others add significant CSS and JavaScript to every page — often loading their entire asset library regardless of which features you are using on a given page. This is a structural problem with how page builders work.
What to do: Enable the “load assets only when used” option if your builder has one. Divi has this. Use your caching plugin to minify and combine the CSS and JavaScript your builder outputs. In extreme cases, consider moving away from a page builder entirely for pages where speed is critical — a manually coded template will always be faster.
6. No content delivery network (CDN)
If your hosting server is in the UK or US (as most affordable hosting is), every South African visitor’s request has to travel to that server and back. A CDN stores copies of your static assets (images, CSS, JavaScript) on servers around the world — including South Africa — so they load from the nearest location.
What to do: Cloudflare has a free CDN that is straightforward to set up with any WordPress site. Enable it, connect your domain, and let it cache your static assets. The improvement for South African visitors loading a site hosted internationally can be significant.
7. Your database is bloated
WordPress stores everything in a database — posts, pages, settings, revisions, transients, spam comments, and more. Over time, particularly on sites with lots of content or active WooCommerce stores, the database accumulates enormous amounts of redundant data. Every page request queries this database.
What to do: Install WP-Optimize or use the database optimisation feature in WP Rocket. Delete post revisions older than 30 days. Clean expired transients. Remove spam comments. Schedule regular database cleanup as part of your maintenance routine.
How to measure your speed correctly
Run your site through these three tools before and after making any changes:
Google PageSpeed Insights
pagespeed.web.dev — gives you Core Web Vitals data from real users plus lab data. Focus on mobile score and fix the issues flagged as High Impact first.
GTmetrix
gtmetrix.com — more detailed waterfall analysis. Set the test location to London (closest to South Africa on their free plan). Shows you exactly which resources are slowest to load.
Google Search Console Core Web Vitals report
Shows real-user performance data across your whole site, not just one page. If multiple pages are failing, the cause is likely hosting or a sitewide issue rather than a page-specific problem.
When a rebuild makes more sense than fixing
Sometimes the performance problems are structural. A site built on a bloated theme with hundreds of redundant plugins, on shared hosting, with no caching architecture — fixing it can cost more in time and money than rebuilding it properly from the start.
If your site scores below 30 on mobile PageSpeed Insights and the hosting, images, and caching fixes have not moved it significantly — it is worth getting an honest assessment of whether a rebuild is the smarter investment. A nogravy Site Audit will tell you which is the case for your specific site.
