AI readiness for salons, barbers and spas

Someone scrolling between appointments wants a price and a slot, now.

C3M4E3D2E1

The moment

Jo, who owns a six-chair salon

Someone with a wedding in three weeks asks an assistant which nearby salon does balayage on a Sunday and roughly what it costs.

What the agent needs: Do you do this treatment, are you open Sunday, and what is the price.

What actually happens: The price list is a beautifully designed image, Sunday hours differ from the footer, and treatments live inside the booking widget. The assistant recommends the salon that published a text menu.

Which dimensions decide it, and why

AIScan grades five dimensions. These are the ones that carry the outcome for this kind of business.

Content

A treatment menu with prices is the single most valuable thing a salon can publish as text, and it is the thing most often exported as a JPEG from a design tool.

Commerce

Treatments are priced services. Offer markup on each one turns 'we do balayage' into 'balayage, 3 hours, from £X', which is what a comparison answer needs.

Capabilities

Booking is the action. If the only path is an embedded widget with no linkable page, the agent can describe you but cannot hand the customer anywhere useful.

The checks that matter here

Fix guides: /docs/checks/content · /docs/checks/commerce · /docs/platforms/wordpress

Most sites like this run on WordPress read the WordPress playbook for where each fix lives.

Questions we get asked

My price list looks better as an image. What is the compromise?
Keep the designed version if you like, but publish the same menu as HTML text underneath. An assistant reads the text; a customer sees whichever you place first.
Prices vary by stylist level. How do I express that?
Publish the range or a per-level list. Any number beats none — no number usually means being left out of the comparison.
Everything runs through my booking system. Is that fine?
Only if the system produces real URLs that render something server-side. A pure JavaScript widget is invisible to the fetch an assistant makes.
Do opening-hours conflicts really matter?
Yes. When the footer, the booking system and the structured data disagree, assistants tend to distrust all three and pick a business that is consistent.
Are Instagram links enough for portfolio work?
No. Social platforms mostly block the fetchers. Your own gallery, with text captions, is the version that gets read.
What is the quickest test?
Scan your site free at aiscan.site and look at checks C3 and M4 — they cover exactly the menu-and-price problem.

Scan your site and see where you actually stand

Free, no account, about twenty seconds. The report names every failing check by ID, shows the evidence we found, and gives the fix for your platform — plus a hand-off prompt you can paste straight into Claude Code or Cursor.

Run a free scan npx aiscan-cli yoursite.com

Prefer to read first? Browse every check we run or the guide library.

Next in Health & wellnessAI readiness for veterinary clinics

Also covers: hair salon, barber, barbershop, beauty salon, nail bar, nail salon, spa, day spa, massage therapist, waxing, aesthetics clinic, brows and lashes, tanning salon, tattoo studio, hairdresser.