Every second your website takes to load costs you customers. Research from Google shows that 53% of mobile users abandon a page if it takes longer than 3 seconds to load. On South African mobile data — where latency is higher and connections less reliable — this problem is even more acute.
The good news: most slow websites have the same fixable problems. In this guide, we cover the 8 most common speed killers and exactly how to resolve each one — often without needing a developer.
Why Website Speed Matters More Than You Think
Speed isn't just a user experience issue — it directly impacts your revenue and Google rankings:
- Google ranking factor: Since 2021, Core Web Vitals are an official ranking signal. A slow site is actively penalised in search results.
- Bounce rate: A 1-second delay in page load time reduces conversions by up to 7%. A 3-second delay increases bounce rate by 32%.
- Mobile users: In South Africa, 70%+ of traffic is mobile. Mobile users on 4G data are more impatient, not less.
- Ad quality score: If you run Google Ads, page speed directly affects your Quality Score and cost-per-click.
Test your site right now: Go to pagespeed.web.dev, enter your website URL, and run the test. A score below 50 on mobile is a serious problem. Below 70 needs attention. Above 90 is excellent.
Speed Killer 1: Unoptimised Images
Images typically account for 60–80% of a web page's total file size. An unoptimised image that could be 80KB is often uploaded at 4MB — that's 50x larger than it needs to be, and 50x slower to download.
How to Fix It
- Compress before uploading: Use TinyPNG (free, online) or Squoosh (free, Google tool) to compress images before uploading to your site.
- Use WebP format: WebP images are 25–35% smaller than JPEGs at the same quality. Most modern browsers and CMS platforms support it.
- Resize to display size: If an image displays at 800px wide, upload it at 800–1200px wide — not 4000px.
- Add loading="lazy": This HTML attribute tells the browser to only load images when the user scrolls to them. Reduces initial page load dramatically.
Expected improvement: Fixing images alone typically improves load time by 1–3 seconds on most sites.
Speed Killer 2: Too Many Plugins or Third-Party Scripts
Every plugin, chat widget, tracking script, and social media button adds JavaScript that must be downloaded and executed before your page is fully interactive. A site with 25 plugins and 10 tracking scripts can easily have 3–5MB of JavaScript loading before anything works.
How to Fix It
- Audit every plugin and script — do you actually use it? Deactivate and delete unused plugins.
- Replace heavy plugins with lightweight alternatives. E.g., replace a full page builder with clean HTML/CSS.
- Load third-party scripts asynchronously or deferred so they don't block rendering.
- Consider removing live chat widgets if your conversion rate data doesn't justify them — they're often extremely heavy.
Speed Killer 3: No Browser Caching
Without caching, every visitor downloads your entire website from scratch on each visit — even if nothing has changed. With caching, returning visitors load your site almost instantly from their local browser cache.
How to Fix It
- WordPress: Install a caching plugin like WP Rocket, W3 Total Cache, or the free LiteSpeed Cache if your host uses LiteSpeed servers.
- Static sites: Set Cache-Control headers on your server. For Apache, add this to your .htaccess; for Nginx, add to your server config.
- CDN: Using a Content Delivery Network (Cloudflare's free tier is excellent) adds automatic caching globally.
Speed Killer 4: Cheap Shared Hosting
Shared hosting means your website shares a server with hundreds or thousands of other websites. When any of them get a traffic spike, everyone slows down. For a South African business site, cheap shared hosting is often the single biggest speed bottleneck.
How to Fix It
- Upgrade to a VPS (Virtual Private Server) or cloud hosting. Hetzner SA, Afrihost, and Linode all offer excellent SA-hosted VPS from R150–R500/month.
- Use a SA-based host for your primary audience — a server in Johannesburg loads significantly faster for SA visitors than a server in the UK.
- Consider managed WordPress hosting (Kinsta, WP Engine) for larger WordPress sites.
Speed Killer 5: Render-Blocking CSS and JavaScript
When a browser encounters a CSS or JavaScript file in the <head> of your page, it stops rendering everything until that file is fully downloaded and processed. This is called "render-blocking" and it significantly delays when users see anything on your page.
How to Fix It
- Add defer or async to script tags:
<script src="app.js" defer></script>— defer waits until HTML is parsed; async downloads while parsing continues. - Inline critical CSS: Put the CSS needed to render above-the-fold content directly in your <head> and load the rest asynchronously.
- Minify CSS and JS: Remove whitespace and comments. WordPress plugins like Autoptimize do this automatically.
Speed Killer 6: No Content Delivery Network (CDN)
Without a CDN, all your website's files are served from a single location. A visitor in Cape Town loading a site hosted in Johannesburg adds network hops. A visitor in London loading that same site adds hundreds of milliseconds of latency.
How to Fix It
- Cloudflare (free tier): Add Cloudflare in front of your site. It caches your static assets on servers around the world and serves them from the nearest location. Setup takes 15 minutes and is free.
- Cloudflare also provides HTTPS, DDoS protection, and performance analytics — all for free.
Speed Killer 7: Bloated Web Fonts
Google Fonts and custom web fonts can add 200–500KB to your page weight and cause Flash of Unstyled Text (FOUT). Many sites load 4–6 font weights they never use.
How to Fix It
- Only load font weights you actually use. Most sites only need Regular (400), Semi-Bold (600), and Bold (700).
- Add
display=swapto your Google Fonts URL so text displays immediately in the fallback font while the custom font loads. - Use
rel="preconnect"for Google Fonts domains to establish connections early. - Consider using system fonts (sans-serif, -apple-system) for body text — they load instantly and look great on all devices.
Speed Killer 8: No GZIP or Brotli Compression
Text-based files (HTML, CSS, JavaScript) compress extremely well — typically by 70–80%. Without server-side compression enabled, your server sends 200KB of JavaScript when it could send 40KB. Most hosting providers support GZIP compression but don't enable it by default.
How to Fix It
- Ask your host to enable GZIP or Brotli compression, or add it yourself via .htaccess (Apache) or nginx.conf (Nginx).
- WordPress plugins like WP Rocket and Autoptimize handle this automatically.
- Check if it's enabled: use giftofspeed.com/gzip-test and enter your URL.
How to Diagnose Your Speed Problems
Two free tools give you everything you need:
- Google PageSpeed Insights: Shows your Core Web Vitals score, identifies specific issues, and prioritises fixes by impact. This is the most important tool because it uses real Chrome user data.
- GTmetrix: More detailed waterfall view showing exactly which files are slowing you down and by how much. Use the SA server location when testing.
Run both tests, note the top 3 recommendations, and fix those first. You'll typically see the biggest improvement from: images → hosting → caching.
Quick Wins You Can Do This Weekend
If you want to improve your speed without hiring a developer, do these in order:
- Compress all images with TinyPNG and re-upload them
- Sign up for Cloudflare (free) and point your domain to it
- Install a caching plugin if you use WordPress
- Remove plugins or widgets you don't actually use
- Reduce Google Fonts to only the weights you use
These 5 steps alone can take a site from a PageSpeed score of 40 to 75+ without touching any code.
When You Need a Developer
Some speed issues require technical intervention:
- Core Web Vitals failures (LCP, CLS, FID) that persist after the quick wins above
- Migrating from shared to VPS hosting
- Database query optimisation (common on large WooCommerce stores)
- Rebuilding a page builder-based site with clean code
- Implementing advanced performance techniques like resource hints, service workers, or server-side caching
Our team has optimised 100+ South African websites for speed. If your PageSpeed score is below 60 on mobile, contact us for a free performance audit — we'll tell you exactly what's holding you back.