Schema markup generator for fitness and yoga studios

Fitness studios should use the ExerciseGym type, not plain LocalBusiness. Fill in the form and I’ll build valid JSON-LD you can paste into your site.

Your details

One or two factual sentences. The same words as your homepage intro work well.
International format: +1-403-…
A real photo of you, your team or your space.
Comma-separated, e.g. Mo-Fr 09:00-17:00, Sa 10:00-14:00
Optional. A symbol range like $ or a short text range.
Comma-separated cities or regions.
What you teach and train. (knowsAbout)
How members pay. (paymentAccepted)
Maximum people in the space at once. (maximumAttendeeCapacity)
One URL per line: Google Business Profile, LinkedIn, Instagram, directories.

ExerciseGym JSON-LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ExerciseGym",
  "@id": "https://crescentstrength.example/#business",
  "name": "Crescent Heights Strength",
  "description": "A Calgary fitness studio running small-group strength classes and open gym hours.",
  "url": "https://crescentstrength.example/",
  "telephone": "+1-403-555-0142",
  "email": "hello@crescentstrength.example",
  "image": "https://crescentstrength.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": [
    "Strength training",
    "Small-group classes",
    "Mobility",
    "Olympic lifting"
  ],
  "paymentAccepted": "Credit card, Pre-authorized debit",
  "maximumAttendeeCapacity": 12,
  "publicAccess": true,
  "sameAs": [
    "https://www.instagram.com/crescentheightsstrength",
    "https://www.linkedin.com/company/crescentheightsstrength"
  ]
}
</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 studio’s website?

Send me your site and I’ll check your current structured data and send back corrected JSON-LD for it. Free.

No newsletter. Just what you asked for, from me. Privacy

The properties that matter for fitness and yoga studios

Type: ExerciseGym. Every property below is a real schema.org property.

Key schema properties for fitness and yoga studios
PropertyWhy it matters
openingHoursPeople pick a gym that fits their schedule. Accurate hours, including early mornings, matter.
knowsAboutStrength, yoga, spin: your training style is what AI tools use to match you to a request.
addressMost people choose a gym close to home or work. A full address is essential.
priceRangeMembership cost is a top question. A range helps people self-select.
maximumAttendeeCapacitySmall class sizes are a selling point. Stating capacity backs that up.

Common mistakes

  • Marking up the weekly class schedule as part of the gym markup. Classes change; describe them on a schedule page.

  • Listing staffed hours when members have 24-hour key access, or the reverse. Make the hours match what the page says.

  • Using SportsClub for a studio that sells memberships to the public. ExerciseGym is the closer fit.

How to add it to your site

  1. Replace every example value in the form with your own details. They should match your Google Business Profile exactly.
  2. 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.
  3. Test the live page with Google’s Rich Results Test and validator.schema.org, and fix anything they flag.
  4. Add the same facts to the visible page. Structured data should describe what visitors can see. My website checklist for fitness and yoga studios covers the rest.
FAQ

Schema for fitness and yoga studios: questions

  1. ExerciseGym fits most training studios and gyms. HealthClub suits places with a broader wellness offer. Both are valid LocalBusiness subtypes.

  2. Only for one-off events like a workshop or open house. Repeating weekly classes are better shown on a clear schedule page.

  3. priceRange gives a general sense. A pricing page with clear numbers is what people and AI tools actually read.

Keep reading

Let’s begin

Let’s build something you’re proud to share.

Let’s Talk