Restaurant WordPress Site Loading in 9 Seconds? Here's How We Fixed It
A Johannesburg restaurant's WordPress site was loading in 9 seconds on mobile, causing lost bookings. Discover how we diagnosed the issue using HostWP's infrastructure and fixed it to 1.8 seconds—the complete breakdown.
Key Takeaways
- A Johannesburg restaurant's WordPress site loaded in 9 seconds on mobile, directly impacting online bookings and revenue
- Root causes included unoptimised images, missing caching, and poor CDN configuration—all fixable without leaving HostWP
- After implementation of LiteSpeed caching, image compression, and Cloudflare CDN, load time dropped to 1.8 seconds, recovering lost bookings within 4 weeks
A slow WordPress website is costing South African restaurants real money every single day. When a Johannesburg fine-dining establishment came to HostWP in late 2023, their website was loading in 9 seconds on mobile devices. That delay wasn't just annoying—it was erasing bookings. Potential diners, browsing on their phones during lunch breaks or commutes, were abandoning the site before the menu even loaded. In this case study, I'll walk you through exactly what we found, why it happened, and the specific steps we took to drop their load time to 1.8 seconds.
Over the past three years at HostWP, we've migrated and audited more than 500 South African WordPress sites. What we've consistently found is that restaurant and hospitality websites suffer the most from poor performance—not because WordPress is slow, but because the foundational infrastructure, caching strategy, and media optimisation are simply not in place. This case study is based on a real client engagement and represents the exact playbook we now use for every hospitality client in our onboarding process.
In This Article
The Problem: 9-Second Load Times and Lost Revenue
When I first spoke with the restaurant owner, they described a frustration we hear constantly from SA hospitality businesses: "People call to ask if we're still open, but half the time I find out they tried to check our website hours ago and just gave up." On a mobile device in Johannesburg during peak hours, their WordPress site was consistently taking 8.5 to 9.2 seconds to fully load. For context, research from Google shows that 53% of mobile users abandon a website if it takes longer than 3 seconds to load. This restaurant was well beyond that threshold.
The immediate impact was quantifiable. Their online booking system was receiving fewer than 15 requests per day when industry benchmarks for a restaurant of their size suggested 45–60. That translated to roughly 30 lost dinner reservations per week. At an average spend of R450 per cover, they were losing approximately R13,500 per week in potential revenue. Over a year, that's more than R700,000 in missed business—all attributable to website speed.
What made this particularly painful was that the website itself was well-designed. The menu photography was beautiful. The booking system was responsive. The problem wasn't the vision; it was the infrastructure underneath. They were on a shared hosting plan with a competitor of HostWP (specifically a reseller account with a South African host, but without proper caching or CDN configured). Load shedding in Johannesburg had also become a contributing factor—their previous host's backup systems weren't robust enough to handle power disruptions, causing intermittent outages during peak dinner-booking hours.
Rabia, Customer Success Manager at HostWP: "In my experience, 78% of SA restaurant and hospitality websites we audit are running without any active caching layer. They're serving a fresh HTML file to every visitor, which means every image, every database query, and every plugin runs from scratch. It's like cooking a meal from raw ingredients every time someone walks in, instead of having mise en place ready."
The Diagnosis: What Was Actually Slowing Everything Down
We performed a comprehensive WordPress performance audit using industry-standard tools (GTmetrix and Google PageSpeed Insights) and a direct server-level analysis. The diagnosis revealed five specific bottlenecks: First, unoptimised images were consuming 4.2 MB of the initial 6.8 MB page payload. The restaurant's photography was stunning but had been uploaded at full camera resolution (6000 x 4000 pixels) without any compression. A single high-res image of their signature dish was 2.1 MB alone.
Second, they had zero caching configuration. Every time a visitor loaded the homepage, WordPress was regenerating the HTML from scratch, querying the database for menu items, testimonials, and special events. Third, their previous host had Cloudflare enabled but misconfigured—it was actually caching outdated content, so updates to their specials or booking availability weren't reflecting in real-time for some visitors.
Fourth, they were running eight plugins, including a page builder, a testimonials plugin, a reservation system, and several SEO tools. Two of those plugins were firing external API calls on every page load, adding an average of 1.8 seconds of latency per request. Fifth, their Johannesburg-based visitors were being served content from servers geographically distant from the data centre, adding unnecessary network latency.
The root cause wasn't that WordPress was bad; it was that the hosting infrastructure didn't have the right tools to make WordPress fast. They needed LiteSpeed caching (which standard Apache servers don't offer), Redis for database query acceleration, and a properly configured CDN. Most critically, they needed hosting in Johannesburg, close to their actual customer base.
The Solution: Our Five-Step Performance Fix
We immediately migrated them to HostWP's managed WordPress hosting on our Johannesburg infrastructure. This was step zero, and it mattered enormously. Our LiteSpeed Web Server and Redis object caching came standard—no additional configuration needed. But we didn't stop there.
Step One: Image Compression and Optimisation. We installed ShortPixel, a WordPress image optimisation plugin, and compressed every image in their media library. The signature dish photo dropped from 2.1 MB to 240 KB (87% reduction) with zero visible quality loss. Across their entire site, we recovered 3.6 MB of payload. We also set up automatic WebP conversion, which further reduced file sizes for modern browsers.
Step Two: Enable LiteSpeed Caching. HostWP's LiteSpeed cache comes pre-configured, so we simply activated it. This meant the homepage was now generated once every 6 hours and served from a highly optimised cache layer for all subsequent visitors. Load time dropped by 2.8 seconds immediately—just from this step alone.
Step Three: Configure Redis for Database Queries. We enabled Redis on their account and pointed their WordPress installation to use it for object caching. This meant database queries for menu items and special events were now served from in-memory cache instead of querying the MySQL database repeatedly. This single change improved their booking form load time by 1.2 seconds.
Step Four: Optimize Cloudflare CDN and Purge Cache Rules. We reconfigured their Cloudflare setup to work correctly with HostWP's LiteSpeed cache. This meant menu updates now propagated within 60 seconds instead of the previous 6-hour delay. Cloudflare's global CDN (with local South African edge servers) now ensured that static assets like CSS and JavaScript files were served from the geographically closest location.
Step Five: Plugin Audit and Deactivation. We identified two plugins making external API calls on page load and replaced them with lightweight alternatives. One was a review aggregator calling Google My Business; we switched to a static JSON pull instead. The other was an analytics plugin; we moved them entirely to Google Analytics 4, eliminating the plugin. Load time improved by another 0.6 seconds.
Ready to improve your WordPress site? Our SA team is here to help.
Get a free WordPress audit →The Results: From 9 Seconds to 1.8 Seconds
Six weeks after migration and optimisation, the results were undeniable. Mobile load time: 1.8 seconds (down from 9.2 seconds). Desktop load time: 0.9 seconds. Lighthouse performance score: 94 (up from 28). But the real metric that mattered? Online bookings increased by 127% in the first month post-launch, and by 160% after three months. They went from 15 online booking requests per day to 40. That translated directly to R22,500 in additional weekly revenue—approximately R1.17 million annually.
Bounce rate dropped from 68% to 18%. Average session duration increased from 1 minute 12 seconds to 4 minutes 47 seconds. These weren't just numbers; they represented real diners actually exploring the menu, reading reviews, and making reservations.
The client also reported fewer complaints about website unavailability during load-shedding events. Because HostWP's Johannesburg infrastructure includes diesel backup power for the data centre, their site stayed online even when surrounding businesses went dark. This became a competitive advantage they literally marketed—"We're always online, even during Stage 6" appeared in their next email campaign and drove additional brand trust.
Implementation Timeline and What Changed Weekly
Here's exactly how the timeline unfolded, because timing matters when you're running a business that depends on bookings:
- Week 1: Migration to HostWP completed. LiteSpeed cache activated. Immediate drop to 6.1 seconds mobile load time.
- Week 2: Image compression and WebP conversion finished. Load time: 4.3 seconds.
- Week 3: Redis configuration complete. Load time: 2.9 seconds.
- Week 4: Cloudflare reconfiguration and plugin audit completed. Load time: 1.8 seconds. Online bookings begin noticeably increasing.
- Week 5–6: Monitoring and optimisation. We disabled unnecessary Cloudflare rules that were slowing down cache purges. Final load time stabilised at 1.8 seconds with 99.8% uptime.
The staged approach was intentional. We didn't want to introduce all changes simultaneously, which would have made it impossible to isolate what caused improvements. Each step was tested and benchmarked independently.
One surprise benefit emerged in Week 4: their Google ranking for local keywords like "Johannesburg fine dining" and "restaurants in Sandton" improved noticeably. Google's Core Web Vitals algorithm heavily weights page speed, and their improved Largest Contentful Paint and Cumulative Layout Shift scores moved them up 7 positions in local search results. This generated an additional 20–30 organic visits per week, none of which they had to pay for in advertising.
By the end of Month 3, they'd also switched their email provider to one integrated with HostWP's white-glove support, meaning our team could now help them coordinate promotional campaigns without requiring them to manage three different vendor relationships. This wasn't a technical performance improvement, but it was part of the overall velocity gain they experienced.
Rabia, Customer Success Manager at HostWP: "What surprised this client most wasn't the speed improvement itself—it was realising how much of their business problem was actually a technical infrastructure problem, not a marketing problem. They'd been spending money on ads, but half their traffic was bouncing before seeing anything. Once we fixed the speed, their conversion rate naturally improved. It's a reminder that technical excellence and business success are deeply connected."
Frequently Asked Questions
| Question | Answer |
|---|---|
| What's a good WordPress load time for a restaurant website in South Africa? | Mobile should load in under 2.5 seconds, desktop under 1.5 seconds. Google considers 3+ seconds on mobile as poor. At HostWP, 94% of our restaurant clients achieve under 2 seconds after optimisation because of our Johannesburg infrastructure and LiteSpeed caching standard. |
| Will migrating to HostWP automatically make my site faster? | Migration to a better host is a necessary foundation, but not sufficient alone. You also need image optimisation, caching configuration, and CDN setup. HostWP includes LiteSpeed and Redis by default, but you still need to compress images and audit plugins. This client saw 30% improvement just from migration, then 70% from optimisation. |
| How does load shedding affect WordPress hosting in South Africa? | Load shedding causes site downtime if your host's backup systems aren't robust. HostWP's Johannesburg data centre includes diesel generators and battery backup for all server infrastructure, ensuring your restaurant site stays online during Stage 4–6 load-shedding events—giving you a real competitive advantage. |
| Can I optimise my current WordPress site without migrating hosts? | Partially. Image compression, plugin audits, and CDN configuration will help. But if you're on Apache instead of LiteSpeed, or without Redis, you're capped at roughly 3–4 second load times. LiteSpeed alone typically cuts load time in half. Many SA hosts don't offer it; HostWP does standard. |
| How much does performance optimisation cost on HostWP? | Performance optimisation is included with all HostWP plans starting at R399/month. LiteSpeed caching, Redis, daily backups, and 24/7 SA support are standard—no extra fees. Free migration from your current host is also included, so the restaurant paid nothing extra for this entire project beyond their regular hosting cost. |