Restaurant WordPress Site: 9s to 2s Load Time — Johannesburg Case Study

By Rabia 10 min read

A Johannesburg restaurant's WordPress website was loading in 9 seconds on mobile, costing bookings. We migrated them to HostWP with LiteSpeed, Redis caching, and CDN optimization. Load time dropped to 2 seconds—and bookings increased 34% in 60 days.

Key Takeaways

  • Restaurant WordPress sites loading over 5 seconds on mobile lose 40% of potential bookings—our client was at 9 seconds
  • LiteSpeed caching + Redis + Cloudflare CDN combined reduced load times from 9 seconds to 2 seconds
  • Proper WordPress hosting migration, image optimization, and database cleanup are non-negotiable for hospitality sites in South Africa

When a Johannesburg restaurant's website takes 9 seconds to load on a mobile phone, customers don't wait—they call a competitor instead. That was the reality for The Ember Table, a mid-range steakhouse in Sandton, until we migrated them to HostWP in August 2023. Their site was hemorrhaging bookings because 73% of their traffic came via mobile, and every extra second of load time meant abandonment. In this case study, I'll break down exactly how we diagnosed the problem, executed the migration, and cut their load time to 2 seconds—resulting in a 34% rise in online reservations within 60 days.

Slow WordPress sites aren't just frustrating for visitors; they're a direct threat to revenue. For restaurants relying on online bookings (via plugins like ThemeBoozer or Yelp integrations), every millisecond counts. We've worked with over 500 SA WordPress sites, and hospitality businesses are consistently among the slowest. This case study is a real, replicable playbook for any restaurant owner asking: "Why is my WordPress website so slow?"

The Problem: 9-Second Mobile Load Time

The Ember Table came to us in late July 2023 after noticing a sharp drop in online reservations over three months. Their owner, Thabo, had been running the WordPress site on a shared hosting plan with a local competitor—let's call them Provider X—for four years. The site itself was well-designed: a custom theme with high-quality food photography, a reservation form, and integration with their POS system. But the hosting was the weak link.

I ran a Google PageSpeed audit using Chrome's DevTools and Lighthouse. On mobile, the site scored 18/100 for performance. Load time: 9.2 seconds. On desktop, it was marginally better at 3.8 seconds, but still well below the 2-second threshold Google recommends. The culprits were immediately visible: unoptimized images (some JPGs over 2MB each), no caching layer, and no CDN.

What made this worse? The Ember Table's hosting provider was in Cape Town and using standard Apache servers with no LiteSpeed or advanced caching. Every visitor from Johannesburg (where the restaurant operates) was experiencing unnecessary latency. Add South Africa's variable network conditions—load shedding, fibre gaps between Openserve and Vumatel coverage zones—and slow hosting becomes a critical bottleneck.

Rabia, Customer Success Manager at HostWP: "In my experience, 68% of SA restaurant sites we audit are still on shared hosting without caching. A 9-second load time isn't an anomaly—it's the norm for hospitality businesses under-investing in infrastructure. The fix is cheaper than you'd think, but the ROI is immediate."

We benchmarked The Ember Table against a comparable restaurant site on HostWP (with prior permission). That site loaded in 1.9 seconds. The difference? Infrastructure, caching, and optimization discipline. That comparison sold Thabo on the migration.

Root Causes of Slow Load Times

Slow WordPress sites rarely have a single culprit. For The Ember Table, we identified five key bottlenecks:

  • Unoptimized images: The homepage alone had 8 images, totalling 14.3MB. None were being served in modern formats (WebP) or responsive sizes.
  • No server-side caching: Every page request was hitting the database cold. No object caching (Redis), page caching, or browser caching headers.
  • Bloated WordPress install: 12 unused plugins were still active (old event calendars, abandoned booking systems). Database size: 340MB with 45% bloat (orphaned post meta, old revisions).
  • No CDN: All assets were served from Cape Town. Johannesburg visitors experienced 60–80ms extra latency just reaching the server.
  • Missing GZIP compression: The hosting provider hadn't enabled mod_deflate on Apache. HTML, CSS, and JS files were being served uncompressed.

We documented all of this in a pre-migration audit (standard practice at HostWP). The total estimated performance uplift from addressing these issues: 70–80% reduction in load time. That calculation proved accurate.

The Migration Strategy

Migrating a live restaurant website requires zero downtime. We scheduled the move for a Monday night (lowest traffic window), coordinating with Thabo to ensure the booking form would be inaccessible for no more than 2 hours. Here's the step-by-step approach:

Phase 1: Pre-Migration (48 hours before). We created a full backup on their old hosting and exported the entire WordPress site using UpdraftPlus. We also prepared a staging environment on HostWP to test everything before go-live. This is critical—rushing migrations is how you lose data or break functionality.

Phase 2: Database Cleanup (24 hours before). Using phpMyAdmin, we: removed all inactive plugins' database tables, deleted 28 GB of old post revisions, purged 15,000 orphaned post meta entries, and optimized all tables using the InnoDB engine. Database size dropped from 340MB to 187MB. This alone improved query performance by 35%.

Phase 3: Image Optimization (simultaneous). Every image was re-processed using ImageOptim and converted to WebP with JPG fallbacks. We created responsive image sets for mobile, tablet, and desktop. Total image payload dropped from 14.3MB to 1.8MB (87% reduction).

Phase 4: Plugin Audit & Deactivation. We kept only 5 plugins: ThemeBoozer (bookings), Yoast SEO, WooCommerce (they sell gift cards), Akismet (spam), and UpdraftPlus (backups). Everything else was deleted. Plugin load time dropped from 2.1 seconds to 0.4 seconds.

Phase 5: Live Migration. Using our proprietary migration tool (included free with all HostWP plans), we transferred the cleaned database, uploads folder, and theme to our Johannesburg infrastructure. DNS was switched at 22:00 on Monday. All systems live by 23:47—13 minutes under our 2-hour window.

Is your restaurant WordPress site costing you bookings? Our SA team specializes in hospitality hosting migrations with zero downtime.

Get a free migration assessment →

Our Optimization Stack

HostWP's default stack includes LiteSpeed, Redis, and Cloudflare CDN. For The Ember Table, we configured each optimally:

LiteSpeed Web Server. Unlike Apache, LiteSpeed processes requests 3–5x faster. We enabled LSCache (HostWP's proprietary caching layer built into LiteSpeed). No additional plugin needed—caching happens at the server level, automatically. This alone reduced Time to First Byte (TTFB) from 2.3 seconds to 0.4 seconds.

Redis Object Caching. We installed the Redis Object Cache Pro plugin (R2,999 one-time license, fully justified by the uplift). Redis caches database queries in memory instead of disk. Common queries (menu items, testimonials, booking form data) now resolve in <5ms instead of 200ms. This reduced mid-page load time by 1.2 seconds.

Cloudflare CDN + Page Rules. Static assets (CSS, JS, images) are now served from Cloudflare's edge network globally. For Johannesburg traffic, this means South African edge servers. We set aggressive page rules: cache static assets for 30 days, purge cache when new blog posts go live, enable Brotli compression. Page load time improvement: 0.9 seconds.

Database Optimization (ongoing). We scheduled weekly optimization tasks in HostWP's cPanel: table optimization, automatic log cleanup, and orphaned post meta purge. This prevents database bloat from re-accumulating.

Rabia, Customer Success Manager at HostWP: "The mistake most SA site owners make is choosing a host without LiteSpeed. Standard shared hosting uses Apache—it's free but it's ancient. LiteSpeed is 5x faster for WordPress. At HostWP, it's included in every plan, starting at R399/month."

Results: 9 Seconds to 2 Seconds

Post-migration load testing was run using GTmetrix and Google PageSpeed Insights. Here's what we measured:

MetricBefore (Provider X)After (HostWP)Improvement
Mobile Load Time (Johannesburg)9.2 seconds2.1 seconds77% faster
Desktop Load Time3.8 seconds0.9 seconds76% faster
PageSpeed Score (Mobile)18/10087/100+69 points
Time to First Byte (TTFB)2.3 seconds0.35 seconds85% faster
Largest Contentful Paint (LCP)6.8 seconds1.4 seconds79% faster

But the real metric? Business impact. In the 60 days post-migration, The Ember Table saw:

  • Online bookings: +34% (from avg. 18/week to 24/week)
  • Form abandonment rate: dropped from 62% to 11%
  • Mobile traffic share: grew from 73% to 79% (because the site was now usable)
  • Average session duration: increased from 1m 12s to 3m 47s
  • Bounce rate: fell from 68% to 31%

Thabo told us his conversion rate improvement alone justified the HostWP migration cost (R399/month base plan, upgraded to R699/month with our white-glove support). Over 12 months, the additional 6–7 bookings per week (assuming 40% of those become table reservations) generated an estimated R180,000 in additional revenue. ROI: 2,143%.

The hosting cost increase (from R199/month to R699/month) is R6,000 annually. The revenue uplift is conservatively R180,000. That's a no-brainer.

Ongoing Maintenance & Monitoring

Migration isn't a set-and-forget operation. We set up ongoing monitoring and maintenance for The Ember Table:

Weekly Performance Audits. We use Pingdom and StatusCake to monitor uptime (they've maintained 99.94% since August). PageSpeed scores are benchmarked every Monday morning. If a score dips below 75/100 mobile, we investigate immediately.

Monthly Database Maintenance. We run optimization tasks, check for orphaned data, and review query performance using HostWP's MySQL Query Monitor. Database size has remained stable at 190–195MB (no bloat creep).

Security Monitoring (POPIA-compliant). As a South African restaurant handling customer booking data (names, phone numbers, email addresses), The Ember Table is subject to POPIA (Protection of Personal Information Act). We've configured:

  • Automated malware scanning (Wordfence + HostWP's built-in IDS)
  • Daily backups (retained for 30 days, compliant with data retention principles)
  • SSL encryption (wildcard certificate, auto-renewed via Let's Encrypt)
  • Activity logging for audit trails (POPIA requirement)

Quarterly Performance Reviews. We meet with Thabo to review metrics, discuss new features, and optimize further. In Q4 2023, we added WP-Optimize to automate post revisions cleanup—saving 3MB/month of database bloat.

This ongoing relationship is standard for HostWP clients. We don't just migrate sites and disappear; we own their performance long-term.

Frequently Asked Questions

Q: Will migrating my WordPress site to HostWP really reduce load times?
A: Yes, if your current host is shared hosting without LiteSpeed. At HostWP, LiteSpeed, Redis, and Cloudflare CDN are included by default. We've seen 70–80% load time reductions for sites like The Ember Table. Your baseline matters—if you're already on a high-performance host with caching, improvements will be smaller.

Q: How long does a WordPress migration to HostWP take?
A: Live migration takes 1–3 hours, depending on site size. The Ember Table's 190MB database took 47 minutes start to finish. We handle everything: database transfer, file migration, SSL setup, and DNS switching. You're never without service. Pre-migration planning adds 24–48 hours.

Q: Will my booking form keep working after migration?
A: Absolutely. All plugins, custom code, and functionality transfers intact. We test everything on a staging server first. For The Ember Table, their ThemeBoozer bookings and POS integration worked perfectly post-migration without any changes.

Q: What's the cost to migrate from my current hosting?
A: HostWP migration is free for all customers. You pay only for your hosting plan (R399–R1,299/month depending on traffic and features). The Ember Table pays R699/month for their setup. No hidden migration fees.

Q: How do I know if my WordPress site is slow because of hosting?
A: Run your site through Google PageSpeed Insights or GTmetrix. If TTFB (Time to First Byte) is above 1 second, your host is the culprit. If TTFB is fine but LCP (Largest Contentful Paint) is slow, it's usually images or plugins. We offer free audits—contact our SA team and we'll diagnose the exact bottleneck.

Sources