Schema Markup: A Practical Guide for Business Websites
A handful of schema types are worth adding to a business site. Several popular ones no longer do anything in Google. Here is which is which.

Short answer
Schema markup is structured data, usually added as JSON-LD, that describes what a page contains in a format search engines read reliably. For most business sites the useful types are Organization or LocalBusiness, BreadcrumbList, Article, Product and Service. It must match visible content. It does not boost rankings directly, and some rich results, including FAQ results, are no longer shown.
Schema markup is structured data added to a page so search engines can read what it contains, who published it and how it relates to other things, without guessing. On a business website it is usually a block of JSON-LD in the page's HTML. Done properly, it helps Google understand the site and makes some pages eligible for rich results. Done badly, particularly with review markup, it can earn a manual action.
This guide covers the types worth adding to a typical business site, what has changed in what Google shows, and how to test it. Schema sits in the technical half of SEO, as explained in technical SEO vs on-page SEO, and within the overall plan in SEO for small businesses.
What schema markup does and does not do
| It does | It does not |
|---|---|
| Describe content in a consistent, machine-readable way | Directly improve rankings |
| Make pages eligible for some rich results | Guarantee a rich result will be shown |
| Help connect your business, people and pages as entities | Fix thin or unhelpful content |
| Give other systems, including AI tools, clean facts to read | Replace visible content on the page |
The vocabulary comes from Schema.org. Google supports a subset of it for rich results, listed in its structured data search gallery.
Which schema types a business website needs
Organization or LocalBusiness
One description of the business, usually on the homepage or about page: name, logo, URL, contact details, social profiles via sameAs and, for a local business, address, opening hours and area served. Use the most specific LocalBusiness subtype that fits, such as Plumber, Dentist or AccountingService.
Keep it as one entity, referenced by an ID from other pages, rather than a fresh copy on every page with slightly different details. How entities connect across the web is covered in entity SEO and the knowledge graph.
BreadcrumbList
Describes where the page sits in the site. It can replace the raw URL in the search result with a readable trail. It should match the breadcrumbs visible on the page.
Article or BlogPosting
For articles and guides: headline, author, publish and update dates, image. Author information should point to a real person with a real profile page where possible.
Product and Offer
For ecommerce: price, availability, brand, and reviews where genuine product reviews are shown on the page. This is the markup behind merchant listings and product rich results.
Service
There is no Google rich result for Service, but it is a clean way to describe what each service page offers and to tie it to the business. Treat it as optional and descriptive.
Event, Recipe, VideoObject, JobPosting
Only where you actually have those things. They have well-defined rich results.
What has changed recently
Google has been reducing the number of rich result types it shows. At the time of writing (October 2026), according to Google's Search Central documentation updates:
- FAQ rich results stopped appearing in Google Search from 7 May 2026, and the documentation was removed in June 2026. FAQPage remains a valid Schema.org type.
- HowTo rich results were withdrawn earlier.
- In June 2025 Google announced it was phasing out several lesser-used types, including Book Actions, Course Info, Claim Review, Estimated Salary, Learning Video, Special Announcement and Vehicle Listing.
If a plugin or an old guide tells you to add FAQ or HowTo markup for bigger listings, that advice is out of date. Unused markup that matches the page is harmless; it just will not change your result in Google.
Review and rating markup: the risky one
This is the part that causes problems.
- Review and AggregateRating markup must describe reviews that are visible on the page.
- Google does not show star rich results for a business reviewing itself. Reviews about your own business marked up with LocalBusiness or Organization are treated as self-serving and are not eligible.
- In July 2026 Google added guidance to its review snippet documentation about fake and undisclosed incentivised reviews, in line with its wider review policies.
Many themes and plugins add star ratings to every page automatically. If your site emits rating markup with no visible reviews, or rates your own business, remove it. It can lead to a manual action for structured data spam, which shows in Search Console.
JSON-LD, not microdata
Google supports JSON-LD, Microdata and RDFa, and recommends JSON-LD. It sits in a single script block, separate from the visible HTML, which makes it easier to maintain and less likely to break when a template changes. On WordPress, an SEO plugin usually generates the basics; check what it outputs rather than assuming it is correct. On a custom build, generate it from the same data that renders the page, so the two cannot drift apart.
The rules that matter most
- Mark up what is visible. Structured data must reflect content users can see.
- Be accurate. Wrong prices, hours or addresses in markup are worse than none.
- One entity, one description. Do not describe the business differently on different pages.
- Use the most specific type that genuinely fits.
- No markup for things that are not there, especially reviews and FAQs.
A worked example: LocalBusiness markup for a small firm
Say an independent accountancy practice in Chatham wants its homepage to describe the business clearly. The markup would set out properties like these, all matching what is visible on the site:
| Property | Example value | Note |
|---|---|---|
| @type | AccountingService | A specific LocalBusiness subtype |
| @id | the homepage URL plus #business | A stable ID other pages can reference |
| name | The registered trading name | Identical to the Business Profile |
| url and logo | Homepage and logo file | |
| telephone | The main local number | Same as the site footer |
| address | Street, town, postcode | Omit the street for a hidden-address service-area business |
| openingHoursSpecification | Monday to Friday, 9 to 5 | Must match the hours shown |
| areaServed | Medway, Maidstone | Only areas genuinely served |
| sameAs | Links to the firm's official social and professional profiles | Helps connect the entity |
Each service page could then carry a small Service description whose provider points back to that same @id, and each article could name a real author whose Person entry links to an author page. Nothing in this set claims reviews or ratings.
Common schema mistakes
| Mistake | Risk | Fix |
|---|---|---|
| Star ratings on every page from a theme or plugin | Manual action for structured data spam | Remove rating markup without visible, eligible reviews |
| Business details that differ from the visible page | Confusing or ignored markup | Generate markup from the same data as the page |
| Several conflicting Organization blocks from different plugins | Ambiguous entity | Pick one source and disable the others |
| FAQ markup for questions not on the page | Policy breach | Only mark up visible content |
| Product markup with stale prices | Mismatch warnings, misleading results | Keep prices in sync automatically |
The conflicting-plugins problem is particularly common on WordPress sites, where an SEO plugin, a theme and a reviews plugin can each output their own description of the business.
How to test schema markup
| Tool | What it checks |
|---|---|
| Rich Results Test | Whether a page is eligible for Google rich results, and errors |
| Schema Markup Validator | Whether the markup is valid Schema.org, for any type |
| Search Console enhancement reports | Errors and warnings across the site for supported types |
| URL Inspection | The rendered HTML Google actually saw |
Test a representative page of each template after any change. Then check Search Console a week or two later, because problems sometimes appear only when Google crawls at scale. Google Search Console for business owners explains where these reports live.
Schema and AI search
Clear structured data gives AI systems the same clean facts it gives Google: who you are, where you are, what you offer. It is not a shortcut into AI answers, but it removes ambiguity. The wider picture is in AI search optimisation.
A sensible starting set
For a typical small business site:
- Organization or LocalBusiness on the homepage, with a stable ID
- BreadcrumbList on every page with breadcrumbs
- Article on blog posts, with a real author
- Product on product pages, if you sell online
- Nothing that claims reviews you do not show
If you want your existing markup checked, or built properly into a new site, both are covered by the SEO service and the website development service. The technical SEO implementation showcase shows where schema fits in a full technical pass.
Worked examples
Related services
Related reading
SEO
SEO for Small Businesses: A Practical Guide
What to do first, what to ignore, and why most small-business SEO advice is written for companies a hundred times your size.
SEO
Technical SEO vs On-Page SEO: What's the Difference?
One controls access, the other controls meaning. Knowing which is broken tells you what to buy.
SEO
Google Search Console: A Guide for Business Owners
The free tool that tells you what Google actually thinks of your site. Twenty minutes a month is enough, if you know where to look.
AI Search (AEO & GEO)
Entity SEO and the Knowledge Graph
Search engines and AI tools need to know your business is one specific thing. Here is how to make that unambiguous.
