Schema markup generator for hair salons
Hair salons should use the HairSalon type, not plain LocalBusiness. Fill in the form and I’ll build valid JSON-LD you can paste into your site.
HairSalon JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HairSalon",
"@id": "https://victoriaparkhair.example/#business",
"name": "Victoria Park Hair Studio",
"description": "A Calgary hair salon offering cuts, colour and extensions in the Victoria Park area.",
"url": "https://victoriaparkhair.example/",
"telephone": "+1-403-555-0142",
"email": "hello@victoriaparkhair.example",
"image": "https://victoriaparkhair.example/images/photo.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Example Street SW",
"addressLocality": "Calgary",
"addressRegion": "AB",
"postalCode": "T2P 1J9",
"addressCountry": "CA"
},
"openingHours": [
"Mo-Fr 09:00-17:00"
],
"priceRange": "$",
"areaServed": [
"Calgary",
"Airdrie",
"Cochrane",
"Okotoks"
],
"knowsAbout": [
"Balayage",
"Colour correction",
"Precision cuts",
"Hair extensions"
],
"paymentAccepted": "Credit card, Debit, Apple Pay",
"knowsLanguage": [
"English",
"Vietnamese"
],
"sameAs": [
"https://www.instagram.com/victoriaparkhairstudio",
"https://www.linkedin.com/company/victoriaparkhairstudio"
]
}
</script>Paste this into your page’s head, then test it with Google’s Rich Results Test and validator.schema.org. The example values are made up: replace every one.
Want this added to your salon’s website?
Send me your site and I’ll check your current structured data and send back corrected JSON-LD for it. Free.
The properties that matter for hair salons
Type: HairSalon. Every property below is a real schema.org property.
| Property | Why it matters |
|---|---|
openingHours | Clients book around work. Accurate hours, including late evenings, matter. |
knowsAbout | Balayage and colour correction are specific searches. Naming them helps AI tools recommend you for the right service. |
priceRange | Price is a key question for salons. A simple range sets expectations. |
address | A full address, including any suite number, helps clients find you. |
sameAs | Instagram is often your real portfolio. Link it, along with your booking profile if you have one. |
Common mistakes
Using BeautySalon for a hair-only salon. HairSalon is more specific and says exactly what you do.
Putting a booking platform URL in the url field. Use your own website; link booking from it.
Marking up client testimonials as review stars. Google won’t show self-serving review stars for a LocalBusiness.
How to add it to your site
- Replace every example value in the form with your own details. They should match your Google Business Profile exactly.
- Copy the code and paste it into your page’s
<head>. Most site builders have a custom code field. On a hand-built site, it goes in the template. - Test the live page with Google’s Rich Results Test and validator.schema.org, and fix anything they flag.
- Add the same facts to the visible page. Structured data should describe what visitors can see. My website checklist for hair salons covers the rest.
Schema for hair salons: questions
Use HairSalon if hair is your main service. BeautySalon suits places that focus on nails, lashes or skin. Both are LocalBusiness subtypes.
You can describe stylists on a team page. The business markup only needs the salon itself.
Not as a price list. priceRange gives a general sense. A clear services page with prices is what people actually read.
Keep reading
- nick@tavro.ca
- 587-439-9994
- Calgary, Alberta