"Our Bookings Dropped 40%": How a Cape Town Salon's Slow Mobile Site Was Costing R25,000/Month
A Rosebank salon's WordPress site loaded in 11.4 seconds on mobile — their entire client base. They'd blamed the economy for 40% fewer bookings. The real cause was their website.
Key Takeaways
- A Rosebank, Cape Town hair salon's mobile website was loading in 11.4 seconds — and 73% of their traffic was on mobile.
- The salon owner had attributed a 40% drop in online bookings to "post-COVID market changes." The actual cause was a mobile bounce rate of 91% driven by the 11-second load time.
- After migrating to HostWP: mobile load time dropped to 1.9 seconds, bookings recovered by 47% within 45 days, and the site moved to position 2 in Google local pack results for "hair salon Rosebank."
Nadia had been running her hair salon in Rosebank, Cape Town for six years. In early 2023, online bookings started dropping. By mid-2024, they were down 40% from their peak. She'd tried Instagram campaigns, a Google Ads budget she couldn't really afford, and a January sale promotion. Nothing moved the needle. "I thought maybe the market had changed," she told me. "Maybe people were going to cheaper salons. I never once thought it was my website." It was her website.
In This Article
How We Discovered the Problem
Rabia offered Nadia a free audit — 20 minutes, no obligation. She ran the site through Google's PageSpeed Insights on mobile. Mobile score: 8/100. The Largest Contentful Paint was 11.4 seconds. Google's threshold for "Good" is 2.5 seconds. "Poor" is anything above 4 seconds. 11.4 seconds is in a category by itself. When Rabia showed her the number, Nadia asked her to run it again. It returned 11.1 seconds on the second run.
The Technical Audit
Asif ran a full technical breakdown:
| Metric | Score | Good Threshold |
|---|---|---|
| PageSpeed Mobile | 8/100 | 90+ |
| PageSpeed Desktop | 38/100 | 90+ |
| TTFB | 3,100ms | Under 200ms |
| LCP (mobile) | 11.4s | Under 2.5s |
| Total Blocking Time | 6,800ms | Under 150ms |
| Total Page Size | 19.7MB | Under 2MB |
| HTTP Requests | 207 | Under 50 |
The Total Blocking Time of 6,800ms was one of the worst Asif had seen. This metric measures how long JavaScript blocks the browser from responding to input. At nearly 7 seconds, the page was frozen for visitors trying to tap the menu or the "Book Now" button.
Maha, Content & SEO Strategist at HostWP: "The 19.7MB page size was the immediate red flag. The gallery section alone was loading 14 high-resolution photos of the salon at 2–4MB each. These were beautiful photos — the salon looked incredible — but they were being served at original DSLR resolution to every mobile visitor. On a Cape Town LTE connection, that's a 40-second download for the gallery alone."
The site was running WPBakery Page Builder, hosted on UK shared hosting (9,800km from Cape Town), with no caching and no CDN. WordPress core was 2 versions out of date. CMS: WordPress 6.1.7 when 6.4 was current.
The Mobile Reality Check
73% of Velour Hair Studio's web traffic was on mobile — typical for SA salons and beauty businesses. Clients browse Instagram, see a post, tap the link, and land on the website. Or they search "hair salon Rosebank" on their phone. In Nadia's case, 73% of her visitors were experiencing an 11.4-second load time.
- Mobile bounce rate: 91% — nearly every mobile visitor left before the page loaded
- Average mobile session duration: 4 seconds
- Mobile conversion rate (bookings per visitor): 0.03% — one booking per 3,000 mobile visitors
Industry benchmark for service businesses: 1.5–3% mobile conversion rate. Nadia's mobile site was converting at 50× below average. At ~1,800 monthly mobile visitors and a 2% conversion rate, she should have been generating ~36 mobile bookings per month. She was generating approximately 1.
What Was Being Lost
Rabia ran PageSpeed on three competing salons within 3km of Nadia's location:
| Salon | Mobile PageSpeed | LCP |
|---|---|---|
| Nadia's Salon | 8/100 | 11.4s |
| Competitor A | 71/100 | 2.8s |
| Competitor B | 64/100 | 3.1s |
| Competitor C | 58/100 | 3.6s |
All three competitors outranked Nadia in Google Maps and organic search for "hair salon Rosebank." Core Web Vitals are a confirmed Google ranking signal. Competitor A, with a 71 mobile score, ranked first. Nadia's site — at 8 — was on page 2. When someone searches "hair salon near me" in Rosebank on their phone, Nadia simply wasn't there.
Is your service business site invisible to mobile searchers in your area?
Get your free mobile performance audit →What HostWP Did
Faiq and Zahid handled the migration over a Wednesday night.
- Image emergency first: All 207 images batch-compressed and WebP-converted. The 22 gallery images went from an average of 3.2MB each (70MB total) to 180KB each (4MB total) — a 94% reduction with no visible quality loss at display size.
- SA infrastructure: Migrated from UK shared hosting to HostWP Johannesburg. TTFB dropped from 3,100ms to 134ms immediately.
- WPBakery cleanup: WPBakery scripts disabled on all pages where no page builder elements were in use. JavaScript savings: 1.8MB on most pages.
- LiteSpeed Cache + Redis + Cloudflare: Page caching, object caching, browser cache headers. Cloudflare CDN activated with Johannesburg and Cape Town edge nodes.
- WordPress + plugin updates: Core updated to 6.4. Seven plugins removed. Booking plugin (Bookly) scripts restricted to booking page only.
- Schema markup: LocalBusiness schema (Salon category, hours, address), FAQPage schema on services page, Review schema connected to Google Business Profile.
60-Day Results
| Metric | Before | After |
|---|---|---|
| PageSpeed Mobile | 8/100 | 87/100 |
| LCP (mobile) | 11.4s | 1.9s |
| Total Blocking Time | 6,800ms | 94ms |
| Total Page Size | 19.7MB | 2.1MB |
| TTFB | 3,100ms | 134ms |
| Mobile Bounce Rate | 91% | 48% |
Within 3 weeks, the salon moved from page 2 to position 4 in the local pack for "hair salon Rosebank." By week 6: position 2. Online bookings up 47% year-on-year. Nadia estimated the website improvements were responsible for an additional R22,000–R28,000 in monthly revenue.
Her HostWP plan costs R449/month. Previous UK shared hosting: R189/month. The difference: R260/month. The ROI: approximately 85:1 in the first month. Learn about HostWP's white-glove support →
Frequently Asked Questions
How do I know if my salon or service business website has performance problems?
Open your website on your mobile phone on mobile data (not Wi-Fi) in an incognito/private browser tab. If it takes more than 3 seconds to show the main content, you have a problem. Then run it through Google's free PageSpeed Insights at pagespeed.web.dev for a full breakdown. If your mobile score is below 50 or your LCP is above 4 seconds, you're actively losing customers every day.
My website looks fine to me — why would it be slow for customers?
Browsers cache pages locally after the first visit. If you visit your site regularly, your browser loads it from local cache in under a second — you never see the real load time. A new visitor, a potential customer, gets no such advantage. Always test in a private/incognito window on mobile data to simulate what a first-time visitor from a Google search actually experiences. This is the test that counts.
Do I need to rebuild my website to fix these performance issues?
No. In Nadia's case, we fixed everything without changing her website design, content, or URL structure. The changes were all infrastructure and technical: hosting location, caching configuration, image compression, and schema markup. Her site looks identical to what it was before. It just loads in 1.9 seconds instead of 11.4. A redesign was not needed — and would have been a waste of money without fixing the underlying infrastructure first.
How quickly do rankings improve after fixing mobile speed?
Google recrawls and re-evaluates Core Web Vitals typically within 2–4 weeks of significant improvements. In this case study, local pack ranking changes were visible within 3 weeks, and the full benefit was realised by week 6. The combination of improved Core Web Vitals and the addition of LocalBusiness schema is particularly powerful for local search rankings — these two factors together drive most of the ranking improvement we see post-migration.
What is HostWP's managed WordPress hosting and what does it include?
HostWP's managed WordPress plans include South African (Johannesburg) server infrastructure, LiteSpeed Web Server with built-in caching, Redis Object Cache, Cloudflare CDN, daily automated backups, free SSL certificate, free migration with zero downtime, and a post-migration technical audit. Plans start from R399/month in ZAR — no forex surprises. Our support team is SA-based and available 24/7. View current plans and pricing →