Case Study

Bows Hair

From Squarespace to a bespoke HD CMS site — migrated in one day, 80% more bookings

Bows is a family-run hair and beauty salon in Anlaby, Hull. Founded by sisters Amy and Ellie in 2012, they specialise in wedding hair and makeup alongside a full range of hair services, beauty treatments, facials, lash and brow work, reflexology, and reiki.

They came to me with a common problem: their Squarespace site was costing them more than it was worth and it wasn't bringing in bookings. They needed something better, and they needed it fast.

"The website is flying! We are getting bookings through it again."

— Amy Foster, Owner, Bows Hair

Unknown block type: stats_counter

The Squarespace Problem

Squarespace is fine for what it is — a template-based website builder that lets anyone put something online. But "fine" has a ceiling, and Bows had hit it.

The cost didn't add up. Squarespace's Business plan is £23/month. Add a custom domain, a scheduling integration, and the transaction fees if you sell anything, and you're north of £30/month for a template site you share with thousands of other businesses. For a small salon, that's money going to a platform instead of back into the business.

The performance was poor. Squarespace sites are notoriously heavy. JavaScript bundles, third-party tracking scripts, render-blocking resources. The kind of stuff that drags PageSpeed scores into the 40s and 50s on mobile. For a local business relying on Google search to find new clients, that's a real problem — Core Web Vitals are a ranking signal.

The design was generic. Squarespace templates look professional at first glance, but they all look the same. A hair salon in Hull shouldn't look identical to a hair salon in Houston. Bows has a specific aesthetic — elegant, warm, bridal-focused — and a template couldn't express that.

Bookings were an afterthought. Getting visitors to actually book an appointment meant clicking through to a third-party booking system, leaving the site experience entirely. Every extra click is a lost customer.

Migrated in One Day

I built the entire Bows Hair website in a single day. Not a rushed job — a focused one. When you've built the CMS, designed the component library, and know the stack inside out, you can move fast without cutting corners.

Here's what that day looked like:

Morning: Design and structure. Worked with the Bows team to nail the visual direction — soft blush and cream palette, Cormorant Garamond serif headings for elegance, clean layouts with generous whitespace. Mapped out the pages: Home, About, Hair Services, Beauty, Wedding, and Contact.

Afternoon: Build and content. Set up the site on HD CMS, created all the pages using the page builder, migrated their content and imagery, configured the contact form, set up the navigation, and connected their domain.

Evening: Testing, optimisation, and go-live. Tested on mobile, tablet, and desktop. Optimised images. Ran Lighthouse audits. Pushed live and cancelled their Squarespace subscription.

One day. From Squarespace to a bespoke, statically generated site on Vercel's edge network. No templates. No page builders they'd need to figure out. A website built specifically for their business.

The Design

The Bows site was designed to feel like walking into the salon — warm, elegant, and welcoming. The colour palette uses soft blush tones and warm neutrals that reflect their branding. Typography is deliberate: serif headings for sophistication, clean sans-serif body text for readability.

Every service category has its own dedicated page with descriptions, pricing context, and clear calls to action. The wedding page is front and centre — it's their speciality and their biggest revenue driver. The beauty services page uses a card-based layout with custom icons for each treatment category: facials, lash treatments, brow services, makeup, reflexology, and reiki.

The contact page gives visitors two clear options: a simple enquiry form and direct contact details with phone number and address. No chatbots, no ticket systems. A salon client wants to call or send a quick message — so that's what the page does.

A prominent "Book Now" button sits in the navigation on every page. Wherever a visitor is on the site, booking is one tap away. This sounds obvious, but the Squarespace site buried the booking link two clicks deep.

The Performance

This is where the difference between a template platform and a bespoke build becomes measurable. Lighthouse scores for bows-hair.co.uk on mobile:

  • Performance: 95
  • Accessibility: 92
  • Best Practices: 100
  • SEO: 92

Desktop scores are even higher — 96 for performance. These aren't cherry-picked numbers from a single run. They're consistent, repeatable scores because the site is statically generated and served from Vercel's edge network.

For context, the Bows Squarespace site scored 20 on mobile and 40 on desktop. That's not unusual for Squarespace — their JavaScript-heavy framework consistently drags performance into the red. Now it's in the green across the board.

The reason is architectural. A Squarespace site loads their JavaScript framework, their analytics, their font loading system, their image processing pipeline — all on every page load. An HD CMS static site loads the HTML, the CSS, the images, and minimal JavaScript. Nothing else. No third-party bloat. No render-blocking resources.

80% More Bookings

The number that matters most: online bookings increased by 80% after launching the new site.

That's not just a performance story — it's a design and UX story. Several things changed at once:

The "Book Now" button is everywhere. Persistent in the navigation header on every page, on both mobile and desktop. On Squarespace, the booking link was buried in a sub-menu. Now it's the most prominent element on the site.

The site loads instantly. A visitor on their phone searching "hair salon Hull" gets a fully rendered page in under a second. On the old Squarespace site — which scored 20 on mobile PageSpeed — they were waiting several seconds for the page to become interactive. In mobile browsing, that's the difference between staying and hitting the back button.

The services are clear. Each service category has its own page with a clear description of what's offered. Visitors can see exactly what Bows does before they book. The old site had everything on a single page with inconsistent formatting.

The design builds trust. A bespoke, polished website signals a professional, established business. A generic Squarespace template doesn't. For wedding bookings especially — where clients are trusting someone with the most important day of their lives — that first impression matters enormously.

An 80% increase in bookings from a website migration might sound dramatic. But when the previous site was actively working against the business — slow, generic, with a buried booking flow — fixing those fundamentals has an outsized impact.

The Cost Comparison

Let's talk money.

Before (Squarespace):

  • Squarespace Business plan: £23/month
  • Custom domain: £15/year
  • Third-party booking integration: varies
  • Generic template design: £0 (but looks like it)
  • Performance: poor
  • Support: submit a ticket and wait

After (HD CMS):

  • HD CMS website: £20/month
  • Bespoke design: included
  • Hosting on Vercel edge: included
  • SSL certificate: included
  • Content updates via admin panel: included
  • Performance: 95+ Lighthouse scores
  • Support: talk directly to the developer who built it

Less money per month. A bespoke design instead of a template. Better performance. Direct support from the person who actually built the site. And an 80% increase in the metric that actually pays the bills.

The Technical Details

For the technically curious:

  • CMS: HD CMS — content managed through an admin panel, served via API
  • Frontend: Nuxt 3, statically generated at build time
  • Hosting: Vercel edge network — HTML served from the nearest global node
  • Deployment: Content changes in the CMS trigger automatic rebuilds via deploy hooks
  • Images: Optimised and converted to WebP, served from Supabase Storage CDN
  • Forms: Server-side contact form with email delivery via Mailgun
  • SSL: Automatic HTTPS via Vercel
  • DNS: Custom domain with automatic certificate provisioning

The entire site is static HTML on a CDN. There's no server processing on page load, no database queries, no PHP or Node.js runtime. The build happens once when content changes, and every subsequent visitor gets pre-built HTML from the edge.

That's why the performance scores are so high. There's simply less happening between the visitor's request and the rendered page.

What Bows Got

The Results

95+ Performance

Lighthouse scores across the board — performance, accessibility, best practices, and SEO all in the green

80% More Bookings

Online booking enquiries increased by 80% after launching the new site

Built in 1 Day

Complete migration from Squarespace — design, build, content, and go-live in a single day

Lower Monthly Cost

From £23+/month on Squarespace to £20/month on HD CMS — with a bespoke design included

Bespoke Design

Custom design that matches the Bows brand — not a template shared with thousands of other sites

Direct Support

Questions and changes go directly to the developer who built it — no support tickets, no waiting

Beating the Instagram Trap

Before the new site, Bows relied almost entirely on Instagram for new bookings. That's the norm for hair salons, tattoo studios, and beauty businesses — post your work, hope the algorithm shows it to local people, wait for the DMs.

The problem is that Instagram's organic reach has been in freefall for years. Meta wants businesses to pay for visibility. When the algorithm decides your content isn't worth showing, your bookings drop — and you don't know why.

The new Bows site changed that equation. With proper local SEO — geo-tagged title tags, service-specific landing pages, LocalBusiness schema markup, and 95+ Lighthouse scores — the site started ranking for the searches that actually drive bookings. "Hair salon Hull." "Wedding makeup Anlaby." "Lash lifts near me."

These aren't passive scrollers who might book one day. These are people actively searching for the service, in the area, ready to book now. The 80% increase in bookings didn't come from posting more reels. It came from being visible where intent lives: Google search.

Instagram is still part of the mix — it's a portfolio and a community tool. But it's no longer the single point of failure for Bows' bookings. The website is the engine. Instagram is the shop window.

Read the full note: Beating the Instagram Trap — Why Local SEO Beats the Algorithm →

Related Reading

More from the HD CMS notes

Stuck on Squarespace or WordPress?

I migrate businesses to HD CMS fast. Bespoke design, better performance, lower cost. Let's talk about your site.