Hair Salon Schema: Copy-Paste JSON-LD Example

A client looking for a haircut may ask who is open Saturday or where to book. Your salon page should answer those questions in visible text. This code labels the same facts for software that reads structured data.

This is a fictional example. The name, number, address and example.com URL are placeholders. Replace every value with your own public business information before publishing.

Choose the right business type

Use HairSalon for a salon focused on hair services. A barbershop can use BarberShop instead. Keep the name and hours exactly as they appear on your site and business profiles. See the schema.org HairSalon definition for the type and its inherited fields.

Copy-paste HairSalon JSON-LD

Copy the complete block into your homepage’s <head>. Change every example value, including the service and hours. Remove fields that do not apply.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HairSalon",
  "name": "Example Scissors Hair Salon",
  "url": "https://example.com/hair-salon-schema-example/",
  "telephone": "+1-217-555-0101",
  "description": "Haircuts, color and styling by appointment.",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Springfield",
    "addressRegion": "IL",
    "postalCode": "62701",
    "addressCountry": "US"
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "https://schema.org/Tuesday",
        "https://schema.org/Wednesday",
        "https://schema.org/Thursday",
        "https://schema.org/Friday",
        "https://schema.org/Saturday"
      ],
      "opens": "09:00",
      "closes": "18:00"
    }
  ],
  "makesOffer": {
    "@type": "Offer",
    "itemOffered": {
      "@type": "Service",
      "name": "Haircut"
    }
  }
}
</script>

What each field does

One detail to check for HairSalon

If color takes a consultation, say so on your booking page. Do not use schema to promise an appointment slot that your calendar has not confirmed.

A salon that closes Mondays should omit Monday from opening hours, as this example does. Do not list a full-day schedule when appointment hours differ from walk-in hours.

How to add it to your site

Add the code once on the homepage or the matching location page. Put it in the page’s head section when the platform allows it. Keep your visible name, contact details and hours in sync with the code.

  1. WordPress: Use a trusted header code plugin or your theme’s head-code setting. Paste the entire script into the homepage head. If an SEO plugin already outputs HairSalon data, edit that data instead of creating a conflicting duplicate.
  2. Squarespace: Open Settings → Advanced → Code Injection and paste the block in Header. If you have multiple locations, use page-level injection where available so this location’s details appear on its own page.
  3. Wix: Open Settings → Custom Code, add the block to Head, and set it to the relevant page. Publish the site after saving.
  4. Shopify: In Online Store → Themes → Edit code, add the block to theme.liquid inside <head>. For a single physical location, restrict it to the homepage so product pages do not all claim to be the location page.
  5. GoDaddy Website Builder: Use its custom HTML or head-code setting if your plan exposes one. Some versions only offer a body HTML section; check the published source to make sure the JSON-LD script is present. If your plan does not allow custom code, ask support or your site editor about head injection.

Test the published page

  1. Paste the live page URL into Schema Markup Validator. Confirm it detects HairSalon and that each property contains your real details.
  2. Run the same URL through Google Rich Results Test. It checks Google-supported rich result features; a valid schema type may show no eligible rich result. That does not mean the JSON-LD is invalid.
  3. View page source and search for application/ld+json. Make sure the script appears once for this location, without leftover fictional values or mismatched hours.

Valid markup helps machines read facts on a page. It does not guarantee a Google feature or a recommendation from an AI assistant.

Want a second set of eyes?

Run the free site check to see whether your homepage exposes its business details. If you want us to write the schema and customer FAQ, check your listings, and compare AI answers before and after, the AI Visibility Kit is $149.

Run the free checkAsk about the Kit

Sources