Schema markup for small business websites is a block of structured data, usually written as JSON-LD, that tells search engines in plain terms what your business is, where it is, what each page is about and how the pages fit together. Google doesn't guarantee that markup will produce any special search result, and it isn't a ranking shortcut. It removes guesswork about your pages, and for a handful of types it makes a page eligible for richer display in results. Google also stopped showing FAQ rich results in May 2026, so a lot of older advice on the subject is out of date.
What structured data is
Google describes structured data as "a standardized format for providing information about a page and classifying the page content". The vocabulary almost everyone uses is schema.org, a shared set of types (LocalBusiness, Article, BreadcrumbList) and properties (name, address, openingHours). Google's introduction to structured data lists three supported formats and recommends whichever is easiest to maintain, which in most cases is JSON-LD: a script block in the page that visitors never see.
Here's a trimmed example for a physiotherapy clinic. The details are made up.
{
"@context": "https://schema.org",
"@type": "MedicalClinic",
"name": "Example Physio Clinic",
"url": "https://www.example.com/",
"telephone": "+65 6000 0000",
"address": {
"@type": "PostalAddress",
"streetAddress": "10 Example Street, #03-01",
"addressLocality": "Singapore",
"postalCode": "123456",
"addressCountry": "SG"
},
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
}]
}
Two rules from Google's general structured data guidelines matter more than any type choice:
- Mark up only what visitors can see. "Don't mark up content that is not visible to readers of the page."
- Keep it true. Markup must be "a true representation of the page content". Fake reviews and irrelevant content can lead to a manual action, which removes rich result eligibility.
Useful schema markup for small business sites
For a typical clinic, firm or studio, five types cover almost everything:
| Type | Where it goes | What Google does with it |
|---|---|---|
| LocalBusiness (most specific subtype) | home or contact page | can help Google show your business details in Search and Maps |
| Organization | home or about page | helps Google understand your name, logo and contact details |
| BreadcrumbList | every page below the home page | shows the page's place in your site, on desktop results |
| Article | guides and articles | helps Google show the right title, image and date |
| Service | service pages | no Google feature; describes the service for any system that reads schema.org |
LocalBusiness and its subtypes
Google's local business documentation requires only name and address, recommends properties such as telephone, url, geo and openingHoursSpecification, and asks you to use "the most specific LocalBusiness sub-type possible". Schema.org has many subtypes, including:
- Dentist and MedicalClinic for clinics
- LegalService for law firms
- Restaurant, ExerciseGym, AccountingService and HomeAndConstructionBusiness
You may see ProfessionalService recommended for firms. Schema.org itself notes that the general ProfessionalService type was deprecated because people confused it with Service, so use a more specific subtype where one fits, and plain LocalBusiness where none does.
Singapore details worth getting right: the unit number in streetAddress (#03-01), the six-digit postal code, "SG" as the country, and +65 in the phone number. If you close for Chinese New Year or other public holidays, openingHoursSpecification supports validFrom and validThrough dates for special hours. Whatever you mark up should match your Google Business Profile exactly, which our local SEO guide covers.
Organization, BreadcrumbList and Article
Organization markup has no required properties. Google suggests focusing on useful ones such as name, logo, address, telephone and url, and says it belongs on the home page or an about page, not every page.
Breadcrumb markup needs at least two items, each with a position, and Google says the feature appears on desktop. It's cheap to generate from your site structure.
Article markup has no required properties either. The recommended ones are headline, image, author, datePublished and dateModified.
Reviews and star ratings
Google's review snippet guidelines say that if a business controls the reviews about itself, its pages using LocalBusiness or Organization markup are "ineligible for star review feature". So marking up the testimonials on your own site won't earn stars. The guidelines also say not to include fake or undisclosed incentivised reviews.
Rich results Google has retired since 2023
Google has been retiring rich results steadily, and its documentation updates page records each change:
- 2023: Google announced that FAQ rich results would show only for well-known, authoritative government and health websites. HowTo rich results were later removed from both desktop and mobile.
- 2025: Several more features were retired, including course info, estimated salary, learning video, special announcement and vehicle listing. Few service businesses used them.
- May 2026: Google deprecated the FAQ rich result entirely, saying it would no longer appear in Search from 7 May 2026. Its documentation was removed in June.
What that means for you:
- Keep visible FAQs if they help readers. Real questions answered plainly still help people decide, and they often match the longer searches people type.
- Don't pay for "FAQ schema" as a way to take up more space in Google. That display no longer exists.
- There's no need to rip out old markup in a panic. When Google restricted FAQ and HowTo results in 2023, it said unused structured data "does not cause problems for Search". FAQPage is still part of the schema.org vocabulary.
- Be wary of plugins and checklists built around retired features. If advice promises a specific rich result, check it against Google's search gallery, which lists what's currently supported. If you run public workshops or open days, Event is on that list.
Which markup goes on which page
On a typical service business site, the types map onto pages like this:
| Page | Markup | Notes |
|---|---|---|
| home | Organization, plus LocalBusiness if you have one location | the main description of who you are |
| about | Organization, if it isn't on the home page | Google suggests the home page or the about page |
| each service page | BreadcrumbList, optionally Service | describe the service in the page copy first |
| contact or location page | LocalBusiness subtype | name, address, phone and hours exactly as shown on the page |
| guides and articles | Article and BreadcrumbList | point the author at a real profile page |
| team or practitioner profiles | BreadcrumbList | keep names and titles identical to the article bylines |
Google's Article documentation recommends giving the author's name and a url for a page that identifies them, such as a bio. For a clinic or law firm publishing guides, that means linking each article to the practitioner's profile, which is also what a careful reader wants.
More than one outlet
If you run several outlets, give each one its own page with its own address, hours and phone number, and its own LocalBusiness markup. Don't put every outlet's details in one block on the home page and leave the location pages bare.
No public address
Plenty of Singapore service businesses don't publish an address: a renovation contractor who works on site, a tutor who teaches at students' homes, a consultant working from home. Google's local business markup requires an address, and Google's guidelines say not to mark up anything visitors can't see. So if the address isn't on the page, leave LocalBusiness out and use Organization markup, which has no required properties.
Adding the markup
- Generate it from the same data as the page. If your opening hours appear on the contact page and in the markup, both should come from one place, so they can't drift apart when you change them.
- Start with the required properties, then add only the recommended ones you'll keep accurate. An out-of-date phone number in markup is worse than none.
- Use one consistent identity. The same business name, address and phone number in your markup, footer and Google Business Profile.
- Check what your platform already outputs. WordPress plugins and website builders often add markup automatically, sometimes duplicating or contradicting what a developer adds. Our comparison of WordPress, builders and custom builds touches on how much control each gives you.
- Re-check after any redesign. Templates change and markup goes missing. It belongs on every redesign SEO checklist.
Testing and monitoring
Two free tools cover testing:
- Google's Rich Results Test shows which Google features a page is eligible for and flags errors in the markup it supports.
- The Schema Markup Validator checks your markup against the full schema.org vocabulary, including types Google doesn't use for features, such as Service.
After launch, Google's introduction recommends watching the rich result status reports in Search Console and using the URL Inspection tool to confirm Google has found your markup. If a report suddenly empties or a feature disappears, check the documentation updates page before assuming something broke, because the feature may have been retired.
We add structured data to every site as part of our SEO work, generated from the same content visitors see on the page.