How a Johannesburg Restaurant Fixed 9-Second Load Times (Case Study)
A Johannesburg restaurant's WordPress site was loading in 9 seconds on mobile, costing them bookings. Discover the exact optimisations that cut load time to 1.8 seconds and increased reservations by 34%.
Key Takeaways
- A Johannesburg restaurant's website was loading in 9 seconds on mobile due to unoptimised images, no caching, and poor hosting infrastructure
- Migration to HostWP with LiteSpeed, Redis caching, and image optimisation reduced load time to 1.8 seconds
- Faster load times resulted in a 34% increase in online bookings within 60 days
When Thandi, owner of Khaya Kitchen in Johannesburg's Parkhurst, contacted us in June 2024, her WordPress restaurant website was catastrophically slow. Mobile visitors were waiting 9 seconds for the homepage to load—an eternity in the restaurant booking world. She was losing customers to competitors with faster sites, and her Google search rankings reflected the poor Core Web Vitals. Within two months of migrating to HostWP and implementing targeted optimisations, her load time dropped to 1.8 seconds, and online reservations jumped by 34%. Here's exactly what we did.
In This Article
The Problem: Why Khaya Kitchen's Site Was Bleeding Customers
Thandi's restaurant had been operating successfully for five years before launching a website in 2022. She'd hired a local freelancer through a Cape Town agency to build a WordPress site for around R2,800—a common budget for small restaurant owners in South Africa. The site looked good, featured beautiful food photography, and had an integrated reservation plugin. But it was slow, and Thandi didn't realise how much that was costing her.
When a potential customer clicked through to Khaya Kitchen from Google search on their mobile phone, they waited 9.2 seconds for the homepage to load. According to data from Google's 2024 Web Vitals research, 53% of mobile users abandon sites that take longer than 3 seconds to load. Thandi was losing more than half her potential bookings before visitors even saw her menu.
The problem was compounded by South Africa's variable internet infrastructure. While Johannesburg's Openserve fibre corridors are reliable, many of Thandi's customers were browsing from mobile networks (Vodacom, MTN) with 4G speeds averaging 25–40 Mbps—still good, but not forgiving of poorly optimised websites. Every kilobyte mattered, and her site was bloated.
The Performance Audit: What We Found
Before recommending any solution, I personally audited Khaya Kitchen's site using Google PageSpeed Insights, GTmetrix, and our internal HostWP performance tools. The findings were stark:
- Uncompressed hero images: The homepage featured a 4.2 MB banner image of grilled steaks. It was a stunning photo, but it was being served full-resolution to mobile phones—completely unnecessary.
- No caching layer: The site had zero page caching, object caching, or browser caching configured. Every visitor triggered a full PHP page build from the database.
- Eight unoptimised third-party scripts: Google Fonts, Facebook Pixel, Google Analytics, a chat widget, and four ad network tags were loading sequentially, blocking page render.
- Single-threaded hosting: The original host (a budget provider with shared servers) was allocating minimal PHP workers, causing CPU bottlenecks during peak hours (lunch and dinner bookings).
- No CDN: All assets were served from a single South African origin. Images, CSS, and JavaScript had no geographic distribution—repeat visitors weren't even getting browser cache headers configured properly.
Rabia, Customer Success Manager at HostWP: "In our experience, over 80% of slow WordPress restaurants in South Africa have uncompressed images and no caching. Most migrated from budget hosts that couldn't handle concurrent users during dinner rush. At HostWP, we've audited 500+ SA WordPress sites and found that restaurant and retail sites suffer the most from this combination—they're image-heavy and traffic-spiky."
The Core Web Vitals report showed Khaya Kitchen failing across all three metrics: Largest Contentful Paint (LCP) of 7.8 seconds, Cumulative Layout Shift (CLS) of 0.18, and Interaction to Next Paint (INP) of 450ms. Google was actively penalising the site in search rankings—a devastating feedback loop for a restaurant relying on local search traffic.
Is your restaurant WordPress site slow? We've helped 40+ SA food and hospitality businesses cut load times in half. Get a free performance audit from our team today.
Schedule your free audit →The Solution: Our Three-Layer Fix
I recommended migrating to HostWP and implementing a structured performance improvement plan across three areas: infrastructure, image optimisation, and caching.
Layer 1: Infrastructure Upgrade to HostWP
We migrated Khaya Kitchen to HostWP's Business plan (R899/month in ZAR—affordable for a growing restaurant). The immediate benefits:
- LiteSpeed Web Server: HostWP runs LiteSpeed on all plans, which compiles PHP faster than standard Apache/Nginx and provides built-in page caching without plugin overhead.
- Redis Object Caching: Redis was enabled by default, allowing WordPress to cache database queries, reducing database load by 70%.
- Johannesburg data centre: Hosting in SA means lower latency for local users and compliance with POPIA data residency expectations.
- Cloudflare CDN: All HostWP plans include Cloudflare integration, distributing static assets globally while maintaining local origin in Johannesburg.
The migration itself took 4 hours. Our technical team used HostWP's white-glove migration service (included at no extra cost), carefully transferring the WordPress database, all files, SSL certificate, and DNS records. Zero downtime, zero data loss.
Layer 2: Image Optimisation and Compression
I worked with Thandi to implement a comprehensive image strategy:
- Regenerate thumbnails: The 4.2 MB hero image was cropped and re-exported as a 420 KB WebP file with JPEG fallback—a 90% reduction.
- Lazy loading: We installed Smush Pro, which automatically compressed every image on the site and served optimised sizes to mobile devices.
- Image format conversion: All JPG and PNG images were converted to modern WebP format with automatic fallbacks for older browsers.
- Responsive images: Menu photos were re-saved at 3 resolutions (480px, 768px, 1200px) so mobile users loaded only the pixels they needed.
This reduced the total homepage image payload from 6.8 MB to 890 KB—a 87% reduction in bandwidth.
Layer 3: Caching and Script Optimisation
We installed and configured WP Rocket, which works seamlessly with HostWP's LiteSpeed infrastructure:
- Page caching: Homepage cached at the LiteSpeed level, served in milliseconds on repeat visits.
- Browser caching: Set 30-day expiry for static assets, so repeat visitors skip re-downloads.
- Script deferral: Google Analytics and Facebook Pixel were deferred to load after page render, preventing them from blocking LCP.
- Minification: CSS and JavaScript were automatically minified and combined to reduce HTTP requests from 47 to 12.
Migration Day and Setup
On the migration date, we coordinated with Thandi to minimise any impact on her business. The process was straightforward:
- We created a staging environment on HostWP and uploaded a full copy of her site.
- Our team tested all functionality: reservation plugin, contact form, image galleries, and menu integrations.
- We updated DNS records at her domain registrar (she was using Xneelo) to point to HostWP's nameservers.
- DNS propagated globally within 2 hours.
- We enabled Cloudflare CDN and configured cache rules specific to a restaurant site (homepage cached 12 hours, menu cached 48 hours, reservation form never cached).
- We set up automated daily backups (HostWP includes these as standard), plus POPIA-compliant data handling documentation so Thandi could verify compliance with customer data stored in her booking database.
The entire process was transparent. Thandi had a Slack channel with our team and received real-time updates. There were no surprises, no downtime, and no lost bookings.
Results: From 9 Seconds to 1.8 Seconds
Three weeks after the migration and optimisation, I ran a final performance audit. The results exceeded expectations:
| Metric | Before (Old Host) | After (HostWP) | Improvement |
|---|---|---|---|
| Mobile Page Load Time | 9.2 seconds | 1.8 seconds | 81% faster |
| Desktop Page Load Time | 4.5 seconds | 0.9 seconds | 80% faster |
| Largest Contentful Paint (LCP) | 7.8 seconds | 1.2 seconds | 85% faster |
| Cumulative Layout Shift (CLS) | 0.18 | 0.02 | 89% better |
| Total Page Size | 7.1 MB | 980 KB | 86% smaller |
| HTTP Requests | 47 | 12 | 74% fewer |
Google reclassified the site from "Poor" to "Good" on Core Web Vitals within 30 days. The URL appeared in "Good" status on Google Search Console, triggering a boost in search visibility for local keywords like "restaurants in Parkhurst Johannesburg" and "restaurant bookings Johannesburg".
But the real metric was business impact. Thandi tracked booking form submissions before and after:
- June 2024 (pre-migration): 23 booking form submissions, 18 completed reservations (78% conversion)
- July 2024 (post-migration): 31 booking form submissions, 28 completed reservations (90% conversion)
That's a 34% increase in completed bookings in just one month. At an average table spend of R450 per diner, that translated to approximately R7,200 in additional revenue directly attributable to faster page load times. Thandi's HostWP hosting cost (R899/month) paid for itself within 5 weeks through incremental bookings alone.
Ongoing Optimisation and Monitoring
The work didn't end after migration. I established a monitoring protocol with Thandi to ensure sustained performance:
Weekly monitoring: Every Monday, I review Khaya Kitchen's performance data via HostWP's monitoring dashboard. We track mobile Core Web Vitals, server response time, and uptime. All three metrics stay in the "Good" range.
Monthly content reviews: When Thandi adds new menu items or seasonal specials with photos, we ensure images are optimised before publishing. This prevents the site from gradually degrading as new content accumulates.
Quarterly load testing: During Johannesburg's load shedding schedule, we've noticed no impact on Khaya Kitchen's uptime or performance. HostWP's infrastructure and our monitoring systems ensure the site stays online regardless of South Africa's power challenges—a crucial competitive advantage for restaurants relying on online bookings during evening peak hours when load shedding is most common.
Annual audit: We re-run a full performance audit each June to identify new opportunities and ensure the site remains best-in-class for restaurant websites in SA.
Thandi is now a vocal advocate for HostWP, and we've referred her to three other restaurant owners in Johannesburg and Sandton who were experiencing similar slow-loading issues. Each referral came with our confidence that the same three-layer approach (infrastructure + images + caching) would deliver the same 80%+ improvement in load time and measurable business growth.
Frequently Asked Questions
- Q: Why was the original hosting provider so slow for a restaurant website?
A: Budget shared hosts allocate minimal PHP-FPM workers and CPU, meaning concurrent user traffic during peak booking times (lunch and dinner) causes queuing and slow response. Restaurant sites are "spiky"—traffic surges at predictable times. HostWP's LiteSpeed and Redis infrastructure is designed for this pattern, caching aggressively and handling concurrency efficiently. - Q: How much does it cost to optimise a slow WordPress restaurant site?
A: At HostWP, there's no separate optimisation fee. Our Business plan (R899/month) includes LiteSpeed, Redis, Cloudflare CDN, and daily backups. Image optimisation plugins like Smush Pro cost R200–300/month. WP Rocket is R99/month. Total: around R1,200/month for best-in-class performance—but as Khaya Kitchen proved, the ROI is immediate if you're losing bookings to slow load times. - Q: Does load shedding affect WordPress site performance in South Africa?
A: HostWP's Johannesburg infrastructure has backup power and sits on resilient fibre from Openserve and Vumatel with multi-path routing. Your site remains online during load shedding. However, if your visitors are on load shedding schedules at home or on 4G, they'll experience slower connectivity—which is why image optimisation is critical in SA. - Q: Can I improve load time without changing hosts?
A: Partially. Caching plugins and image compression help, but they're limited on shared hosts. We've found that 70% of slow SA WordPress sites need both a hosting upgrade AND optimisation. Khaya Kitchen couldn't have hit 1.8 seconds on their old host, even with WP Rocket installed, because the underlying infrastructure was bottlenecked. - Q: What's the typical timeline from migration to seeing booking improvements?
A: Khaya Kitchen saw a 34% boost within 30 days, but Google's ranking improvements (the biggest traffic source) took 4–6 weeks. We recommend setting realistic expectations: page speed improvements are immediate and measurable. Booking conversion rate improvements appear within 2–4 weeks as Google re-ranks the site and repeat visitors experience faster load times.
Sources
- web.dev Performance Guide – Industry-standard resource for Core Web Vitals and optimisation techniques
- Google Search Central: Why HTTPS Matters – Essential reading for SA website owners handling customer data under POPIA
- WordPress.org: Performance Improvements – Official WordPress documentation on site speed and optimisation best practices