Schema markup for dog trainers
Dog trainer schema markup, with an example
Use LocalBusiness with an offer catalog of your classes and one-to-one sessions, knowsAbout for what you teach and how, and your next course start dates as events. Say where training happens, whether that's a hired hall or owners' homes, with location and areaServed.
The type to use
LocalBusiness
schema.org has no trainer type, and Course or Event describe a class rather than the business running it. Use LocalBusiness for the business, with courses and dates inside or alongside it.
LocalBusiness on schema.orgWhat to include
The properties that matter for dog trainers
Most important first. Fill in what's true for you and leave out the rest; every value must also be on the page.
- hasOfferCatalog
- Puppy course, adolescent class, recall workshop and one-to-one sessions as separate offers, each with ages, length and price in its name or description.
- event
- Your next course starts, each an Event with its first and last session dates, the venue as location and the price. Take them out once they've finished.
- knowsAbout
- What you teach and how: “puppy socialisation”, “loose-lead walking”, “reward-based training”. It mirrors your page; it isn't a certificate.
- areaServed
- The towns you'll visit for one-to-one sessions at home, which is a different list from where classes run.
- address
- Your business address or, if you train from home, just the locality and postcode district. The class venue belongs in each event.
- hasCredential
- A dog-training qualification you hold, under its full name. Membership of an association is memberOf, not a credential.
- telephone
- The number owners ring when a puppy course is full and they want the next one.
- sameAs
- Your Facebook page, where class dates and photos of graduates go up first.
Example
Copy, then make it yours
This is the markup for a made-up business. Replace every value with your own before you use it.
- Change every name, address, number and link to your own, and delete lines that don't apply.
- Paste it into your site's header code (website builders call it “code injection” or “custom code”), or let ServiceCited add it for you.
- Check it with Google's Rich Results Test or the Schema Markup Validator.
LocalBusiness JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Roath Park Dog Training",
"description": "Reward-based puppy courses, adolescent classes and one-to-one training in Cardiff.",
"url": "https://www.example.com/",
"image": "https://www.example.com/images/puppy-class.jpg",
"telephone": "+44 1632 960473",
"address": {
"@type": "PostalAddress",
"addressLocality": "Cardiff",
"postalCode": "CF23",
"addressCountry": "GB"
},
"areaServed": [
{
"@type": "City",
"name": "Cardiff"
},
{
"@type": "Place",
"name": "Penarth"
},
{
"@type": "Place",
"name": "Caerphilly"
}
],
"knowsAbout": [
"Puppy socialisation",
"Loose-lead walking",
"Recall",
"Reward-based training"
],
"hasCredential": {
"@type": "EducationalOccupationalCredential",
"name": "Level 3 Certificate in Dog Training",
"credentialCategory": "Qualification"
},
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Classes and training",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Puppy course, ages 10 to 20 weeks, six weekly sessions"
},
"price": 120,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Adolescent dog class, six weeks"
},
"price": 120,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Recall workshop, 2 hours"
},
"price": 45,
"priceCurrency": "GBP"
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "One-to-one session at your home, 1 hour"
},
"price": 65,
"priceCurrency": "GBP"
}
]
},
"event": [
{
"@type": "Event",
"name": "Puppy course, six Thursday evenings",
"startDate": "2026-11-12T18:30:00+00:00",
"endDate": "2026-12-17T19:15:00+00:00",
"location": {
"@type": "Place",
"name": "Roath Community Hall",
"address": {
"@type": "PostalAddress",
"streetAddress": "Albany Road",
"addressLocality": "Cardiff",
"postalCode": "CF24 3RT",
"addressCountry": "GB"
}
},
"offers": {
"@type": "Offer",
"price": 120,
"priceCurrency": "GBP",
"url": "https://www.example.com/puppy-course"
}
}
],
"sameAs": [
"https://www.facebook.com/example"
]
}
</script>Watch out
Mistakes dog trainers make with markup
Course as the business type
Course describes one course: a set of sessions with a syllabus. As the type for your whole business it drops your area, phone and prices; use LocalBusiness and list the courses inside it.
Last spring's courses still in the code
Events whose dates have passed tell search engines and assistants your next puppy course already happened. Replace them when a new intake opens, or remove them.
Promises in the description
A description lifted from an advert (“fixes any behaviour problem”) is repeated by assistants as if it were fact. Describe what you teach and how, as your class pages do.
Also worth adding
- Course: For an online course owners work through at home, Course markup on that course's own page can describe it and name you as the provider.
FAQ
Dog trainers: markup questions
Type to search these questions, or ask anything about getting found on Google and AI.
Classes are in a hired hall. Whose address goes in the block?
Yours, or your locality if you work from home. The hall goes in each Event's location, so owners see where the course runs without the hall looking like your business.
I'm a member of a training association. Where does that go?
In memberOf, as an Organization with the association's name and website, and only while your membership is current. Write it on the page as text too, not just as a logo.
Do puppy classes need age limits in the markup?
Put them in the offer's name or description, such as “for puppies aged 10 to 20 weeks”, matching the class page. Owners and assistants use the age range to work out whether a puppy can join yet.
More for dog trainers
- SEO and AI search for dog trainersDescribe your classes, methods and memberships honestly, so owners of new puppies and teenage dogs find you, with no promised results.Read
- Questions your website should answerWhat customers ask Google and AI assistants about dog trainers, and what a good answer includes.Read
Be the first name owners find.
Run the free check, then press Optimize. Then back to the dogs.