Kusanku Insights

Martial arts website schema, in plain English: help Google and AI get your school's facts right

A parent asks an AI assistant which school near them has a Saturday kids class. Whether the answer gets your school right depends on how clearly your facts are written down. Schema markup is one place that happens. Here's what it is, what it does and doesn't do, and how to add it.

Lee Boyer
March 26, 2025
Estimated Read Time:
13
Mins
Martial arts school owner at the front desk comparing the school's class schedule on a laptop with its Google listing on a phone | Kusanku Marketing Solutions

Key takeaways

  • Martial arts website schema is a small block of code that states your school's facts (name, address, phone, hours, instructors, social profiles) in a vocabulary machines read without guessing.
  • BrightLocal's 2026 consumer survey found 45% of consumers now use AI tools for local business recommendations, up from 6% a year earlier, so more parents are getting their first description of your school from a machine.
  • Google's July 2026 guidance says structured data isn't required for its AI search features and there's no special markup to add. Schema won't win you a recommendation by itself, but it helps keep the facts machines repeat about your school accurate.
  • Schema can only describe what's on your page. A schedule locked in a PDF, hours that changed last summer, or two locations sharing one listing will undo any markup you add.

‍

What's in this article

  • The Saturday class that doesn't exist
  • What is martial arts website schema?
  • Why it matters now that parents ask AI
  • The foundation: what parents need to find first
  • Which schema type is a martial arts school?
  • The markup a school needs, and what to skip
  • Class schedules: the hard part
  • How to add schema to your school's website
  • A sample block you can adapt
  • Mistakes that cost schools the most
  • How to check your site yourself
  • FAQ

‍

The Saturday class that doesn't exist

‍

A dad is on his phone after his six-year-old's soccer season ends. He types into ChatGPT: "Karate classes for a 6-year-old near me on Saturday mornings?"

‍

The answer names your school. Good. It also says your Little Dragons class meets Saturdays at 9. You moved that class to Tuesday evenings two years ago, when you lost the Saturday instructor.

‍

He shows up Saturday at 8:50 to a locked door. You never hear about it. He signs up somewhere else that afternoon.

‍

Where did the AI get Saturday at 9? Maybe an old directory listing. Maybe your schedule PDF, which still has last year's times on page two. Maybe a website template that had your hours baked into code nobody has opened since it was built. Machines assemble answers from every source they can find, and when those sources disagree, they guess.

‍

This post is about one of the places you can remove the guessing: schema markup. It isn't magic and it won't get you recommended on its own. But it's a cheap way to make sure that when a machine does describe your school, it describes the school you run today.

‍

What is martial arts website schema?

‍

Martial arts website schema is structured code, usually a JSON-LD block in a page's header, that describes your school's facts in the shared vocabulary from schema.org so search engines and AI systems can read them directly instead of interpreting your page design.

‍

A parent sees your homepage as a layout: your logo, a photo of kids bowing in, a map, a paragraph near the bottom that mentions hours. A machine sees the same page as text and has to work out which number is the phone, whether "Mon to Thu 4 to 8" is your hours or a line from a blog post, and whether "Tiger Karate" in your header and "Tiger Karate Academy LLC" in your footer are the same business.

‍

Schema removes the guesswork. It works a little like the formal name of a kata: when one black belt says the name to another, there's no question which sequence they mean. Schema gives machines the formal names for your facts.

‍

     What a parent sees on your site ~ What schema tells a machine

‍

Your logo and "Tiger Karate" in the header ~ The exact business name, and that it's a sports activity location

"Find us next to the library on Main" ~ A full postal address, field by field

A "Call us" button ~ The phone number in a standard format

Hours in the footer ~ Opening hours by day, in 24-hour time

Facebook, Instagram, and YouTube icons ~ Links that tie those profiles to this school

A photo of the head instructor with a caption ~ A person, their name, and their role at the school

‍

Why it matters now that parents ask AI

‍

Parents have always checked a school before calling. What's changed is where that check happens.

‍

BrightLocal's Local Consumer Review Survey 2026, a panel of 1,002 US adults, found that 45% of consumers now use AI tools for local business recommendations, up from 6% the year before, making AI the third most popular source behind Google and Facebook. The same survey found 74% only care about reviews written in the last three months, and 47% won't use a business with fewer than 20 reviews.

‍

So a growing share of parents get their first description of your school from a machine. That machine builds its answer from your Google Business Profile, your reviews, your website, and what other sites say about you. Your job is to make those sources agree.

‍

Here's the honest picture of where schema fits:

  • Google said in its July 2026 guide to generative AI search that "structured data isn't required for generative AI search, and there's no special schema.org markup you need to add." It still recommends structured data for regular search features.
  • Microsoft has said schema markup helps its language models understand content for Copilot.
  • Search Atlas compared schema coverage with how often OpenAI, Gemini, and Perplexity cited sites, and published in December 2025 that complete schema coverage performed no better than little or none.

‍

Put plainly: schema won't move you ahead of a school with more recent reviews and clearer pages. Those are the levers, and our plain-English guide to AEO for martial arts schools covers them. What schema does is make your basic facts unambiguous in one more place machines look. For a school, where class times are the fact parents care about most, that's worth an afternoon.

‍

The foundation: what parents need to find first

‍

Schema can only describe what's on your page. If the page is missing the facts, or hides them, no markup will help. So before any code, check the foundation.

‍

A parent landing on your site at 9 p.m. is looking for four things:

  1. Classes by age. Is there something for a five-year-old? A twelve-year-old? An adult beginner?
  2. The schedule and a sense of cost. When does that class meet, and roughly what does it take to start? Even a "trial week from $X" line helps a parent decide whether to take the next step.
  3. Where you are. Address, a map, and a one-tap call button on mobile.
  4. How to try it. A "Book a free trial" button that works without a phone call.

‍

The most common failure is the schedule. Many schools post it as a PDF or an image of a printed sheet. A parent on a phone has to pinch and zoom, and a machine may not read it at all. Put the schedule on a real page as plain text in a simple table, organized by age group.

‍

The second most common failure is the trial form. Keep it short: parent's name, phone, email, child's age, and preferred class time is enough to start. Every extra field is one more chance for a parent to close the tab. What happens after they submit matters just as much, which our trial class follow-up system walks through.

‍

Last, make your name, address, and phone number in the site footer match your Google Business Profile exactly, down to "Ste" versus "Suite." That match is the backbone of everything below. For the design side of all this, our guide to turning website visitors into trial sign-ups goes deeper.

‍

     Foundation check ~ Fails if ~ Fix

‍

Classes by age ~ Programs are listed by style name only ~ List each program with its age range on the homepage

Schedule ~ It's a PDF, an image, or two clicks deep ~ A plain-text table on a "Schedule" page linked from the main menu

Location ~ Address only in the footer, no tap-to-call ~ Address, map, and click-to-call on every page

Trial booking ~ Form asks for ten fields, or there's only a phone number ~ Five fields, visible on the homepage and every program page

Consistency ~ Footer, GBP, and directories show different details ~ Use your GBP as the master record and match it everywhere

‍

Which schema type is a martial arts school?

‍

Here's a detail most schema guides skip: schema.org has no "martial arts school" type. Google Business Profile has categories like "Martial arts school" and "Karate school," but the schema vocabulary doesn't mirror them.

‍

The closest fit is SportsActivityLocation, a type of LocalBusiness. Schema.org lists more specific types beneath it, including ExerciseGym, HealthClub, and SportsClub.

‍

For most schools, SportsActivityLocation is the honest choice. A school that operates more like a fitness facility could defend ExerciseGym. A club with a membership structure could defend SportsClub. Don't overthink it. Pick one, use it consistently, and put the effort into getting the facts inside it right. The type label matters far less than whether your hours and address are correct.

‍

What should match is everything inside the block: your name, address, phone, and hours should be identical to your Google Business Profile, even though the category names differ.

‍

The markup a school needs, and what to skip

‍

     Schema ~ Where it goes ~ What it tells machines ~ Worth it?

‍

SportsActivityLocation ~ Homepage or contact page, one block per location ~ Name, address, phone, hours, logo, area served ~ Yes, start here

sameAs links (inside that block) ~ Same block ~ Which Facebook, Instagram, YouTube, and directory profiles are yours ~ Yes

Person ~ About or instructors page ~ Who the head instructor and staff are, and their roles ~ Yes, if you have an instructors page

BlogPosting ~ Each blog post ~ Author, publish date, date updated ~ Usually automatic on Webflow and WordPress

BreadcrumbList ~ Site-wide ~ How your pages relate ~ Low priority, often automatic

FAQPage ~ Pages with a real Q&A section ~ The questions and answers on that page ~ Optional. Google stopped showing FAQ rich results on May 7, 2026; the markup is harmless

Event ~ Pages for dated events: a tournament, seminar, or open house ~ Date, time, and location of that event ~ Only for real one-off events, not weekly classes

Course ~ Program pages ~ Course details ~ Skip it. Google retired the Course Info rich result in June 2025

‍

Two cautions specific to schools:

‍

  1. Never put children's names in markup. Not in reviews, not in event descriptions, not anywhere. Schema is invisible to parents reading the page but very visible to machines that copy it.
  2. Don't mark up parent reviews on your own site expecting stars. Google doesn't show review stars for reviews a business marks up about itself. Put that effort into reviews on your Google profile, where they count; our guide to turning happy parents into reviews and referrals covers how to ask.

‍

Class schedules: the hard part

‍

Class times are the fact parents ask about most and the one schools get wrong most often. Three rules keep them straight.

‍

Business hours and class times are different things. In schema, openingHoursSpecification describes when your school is open: when someone can call, visit, or walk in. Your class schedule is page content. Don't try to cram fifteen weekly classes into opening hours, and don't mark up every Tuesday class as an Event. Put the full schedule on your Schedule page as a readable table, and let the opening hours describe when the doors are open.

‍

Your Google profile and your schema should tell the same story. If your GBP hours say 3 to 8 on weekdays, your schema should say 3 to 8 on weekdays. Our guide to Google Business Profile for martial arts schools covers how to set hours that reflect when you're reachable, not just when the mat is in use.

‍

Seasonal changes are where things drift. Summer schedules, holiday breaks, and a new Saturday class each change your facts in at least four places: the Schedule page, your GBP (including special hours for holidays), your schema, and any directories. Make a habit of updating all four on the same day. A schedule change that only reaches one of them is how a parent ends up at a locked door.

‍‍

How to add schema to your school's website

‍

You don't need a developer for the basics.

‍

Step 1: write down your facts

‍

Open your Google Business Profile and copy your school's name, address, phone, and hours exactly as they appear. That's your master record. If anything there is wrong, fix it on the profile first.

‍

Step 2: build the block

‍

Use the sample below as a template. Replace every value with your own, and only include facts that also appear somewhere a visitor can see them on your site.

‍

Step 3: put it on the right page

‍

  • Webflow: open Page Settings for your homepage or contact page and paste the block into Custom Code, "Inside head tag." Don't use the site-wide custom code, or every page will claim to be your homepage. Custom code only runs on a paid site plan.
  • WordPress: SEO plugins such as Yoast and Rank Math generate business schema from their settings. Check what they already output before adding your own, so you don't end up with two conflicting blocks.
  • School-management software sites and website builders: look for a setting called header code, custom code, or code injection. If there isn't one, don't worry: your Google Business Profile and a clear, text-based Schedule page do most of the work.

‍

Step 4: test it

‍

Run the page through Google's Rich Results Test (search.google.com/test/rich-results) and the Schema Markup Validator (validator.schema.org). Fix any errors, publish, and test the live page again.

‍

Step 5: put it on the calendar

‍

Add "update schema" to the checklist you already use for schedule changes, new instructors, and holiday closures.

‍

A sample block you can adapt

‍

Here's a basic block for a fictional school. Replace every value with yours and delete any line that doesn't apply.

‍

<script type="application/ld+json">

{

  "@context": "https://schema.org",

  "@type": "SportsActivityLocation",

  "name": "Example Karate Academy",

  "url": "https://www.example.com",

  "logo": "https://www.example.com/logo.png",

  "telephone": "+1-555-555-0142",

  "address": {

    "@type": "PostalAddress",

    "streetAddress": "456 Main St, Ste 3",

    "addressLocality": "Anytown",

    "addressRegion": "IN",

    "postalCode": "46000",

    "addressCountry": "US"

  },

  "openingHoursSpecification": [

    {

      "@type": "OpeningHoursSpecification",

      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],

      "opens": "15:30",

      "closes": "20:30"

    },

    {

      "@type": "OpeningHoursSpecification",

      "dayOfWeek": "Saturday",

      "opens": "09:00",

      "closes": "12:00"

    }

  ],

  "areaServed": ["Anytown", "Nearby Town"],

  "sameAs": [

    "https://www.facebook.com/example",

    "https://www.instagram.com/example",

    "https://www.youtube.com/@example"

  ],

  "founder": {

    "@type": "Person",

    "name": "Pat Example",

    "jobTitle": "Head Instructor"

  }

}

</script>

‍

A few notes on the choices:

  • Opening hours describe when you're open, not every class. Two blocks here: weekday afternoons and Saturday morning.
  • sameAs should list only profiles you keep active. A link to an Instagram account you abandoned in 2022 doesn't help.
  • Instructor rank belongs in the visible bio. If your head instructor's rank and years of training matter to parents (and they do), say so on the instructors page in plain words. The schema identifies the person; the page tells their story.
  • Two locations means two blocks, each on its own location page with its own address and hours.
  • Pricing: only add a priceRange if your site shows pricing information.

‍

Mistakes that cost schools the most

‍

  1. The schedule is an image or PDF. The markup says you're open Saturdays, but the page a parent or machine can read says nothing about classes.
  2. Last season's hours. Summer hours that never got switched back, in the schema, the footer, or both.
  3. One block for two locations. The second location's address and hours vanish from what machines read.
  4. Conflicting blocks. A template adds one, a plugin adds another, and a former web designer pasted a third. Search your page source for ld+json and count.
  5. A copied template. A block pasted from another school's site with their details still inside.
  6. An instructor who left. Still listed in markup, on the About page, and in your GBP description.

‍

How to check your site yourself

‍

This takes about fifteen minutes:

‍

  1. Look for it. Open your homepage, right-click, choose "View page source," and search for ld+json. No results means no JSON-LD schema.
  2. Validate it. Paste your homepage URL into validator.schema.org. Check the type, name, address, phone, and hours.
  3. Compare it. Put your schema, your site footer, and your Google Business Profile side by side. Every detail should match.
  4. Ask the machines. Ask ChatGPT, Perplexity, and Google's AI Mode: "What time is the kids karate class at [your school] in [your town], and what ages is it for?" Wrong answers point to a source that needs fixing.
  5. Check the foundation. Open your Schedule page on your phone. Can you read every class time without zooming?

‍

If you'd rather not do this yourself, it's part of what our AI Visibility Report checks, along with which schools AI assistants name instead of yours. If you're new to all of this, start with our beginner's guide to martial arts digital marketing.

‍

Bottom line

‍

Schema markup is paperwork for machines: your school's name, address, phone, hours, and people, written so nothing can be misread. Google says you don't need special markup for its AI features, and testing hasn't shown that schema earns AI recommendations on its own, so keep expectations realistic. But more parents now get their first impression of your school from an AI answer, and that answer is only as good as the facts it finds. Build the foundation first: classes by age, a schedule a phone can read, and a short trial form. Make your details match your Google profile everywhere. Then add the markup, and update all of it the day your schedule changes.

‍

See what AI assistants tell parents about your school. Our free AI Visibility Report shows how AI tools describe your school, which schools they name instead, and your top three fixes. Or see how our AI search optimization for martial arts schools handles schema, content, and visibility tracking, and book a free consultation.

‍

About the author

‍

Lee Boyer is a 3rd-degree black belt in Matsumura Seito Shorin-Ryu with 18+ years in the art, and founded Kusanku Marketing Solutions to help martial arts schools get found online, including by AI search. About Lee · Kusanku on LinkedIn

‍

Sources

FRee ai visibility report

Is Your Dojo Invisible to AI?

A parent may be asking ChatGPT for a martial arts school right now. We'll show you what it says about you — and who it's recommending instead.

Your AI Visibility Score across ChatGPT, Google AI, Perplexity, and Gemini

The schools being recommended instead of yours — and why

Your top 3 fixes, prioritized by what will move the needle fastest

No cost, no obligation · Delivered in 3 business days · Prepared by Lee

Is Your School Invisible to AI?

We'll check what ChatGPT, Google AI, Perplexity, and Gemini say about you — and who they're recommending instead. Free, and yours in 3 business days.

We need these details to actually run your report — we're checking how AI describes your specific business, in your specific city.

You're in — we'll run your report and have it to you within 3 business days. Keep an eye on your inbox.
Something went wrong. Please try again or call us at (317) 756-7053.

Frequently Asked Questions

Does schema markup help my martial arts school show up in ChatGPT?

Not directly, as far as public evidence shows. A December 2025 Search Atlas study found no link between schema coverage and how often ChatGPT, Gemini, or Perplexity cite a site. Schema helps keep your school's facts accurate across the sources those tools read, but recent reviews, clear pages, and mentions on other sites matter more.

What schema type should a martial arts school use?

Schema.org has no martial arts school type, so most schools should use SportsActivityLocation, a type of LocalBusiness. ExerciseGym or SportsClub can also fit depending on how your school operates. Consistent, accurate details inside the block matter more than the type you choose.

Should I add schema for each class on my schedule?

No. Use opening hours in your schema to describe when your school is open, and put the full class schedule on your Schedule page as a readable table. Save Event markup for one-off dated events like a tournament, seminar, or open house.

Is FAQ schema still worth adding to a school website in 2026?

It no longer produces a visible result in Google, which stopped showing FAQ rich results on May 7, 2026. Existing FAQ markup is harmless and can stay on pages with real questions and answers. A clear Q&A section is still useful to parents and to AI tools reading the page.

How do I test my school's schema markup?

Run your page through Google's Rich Results Test and the Schema Markup Validator at validator.schema.org. Then compare the details it shows against your Google Business Profile, and ask an AI assistant about your class times to see whether the answer matches your schedule.

Get Found, Get Chosen
How Martial Arts Schools Win in the AI Era

The strategy almost no school owner is using yet - and the one with the shortest window to win.

Download Free