Skip to content
SEO 7 min read Sajid Aslam

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.

JSON-LD structured data types for a typical business website

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 doesIt does not
Describe content in a consistent, machine-readable wayDirectly improve rankings
Make pages eligible for some rich resultsGuarantee a rich result will be shown
Help connect your business, people and pages as entitiesFix thin or unhelpful content
Give other systems, including AI tools, clean facts to readReplace 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.

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

  1. Mark up what is visible. Structured data must reflect content users can see.
  2. Be accurate. Wrong prices, hours or addresses in markup are worse than none.
  3. One entity, one description. Do not describe the business differently on different pages.
  4. Use the most specific type that genuinely fits.
  5. 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:

PropertyExample valueNote
@typeAccountingServiceA specific LocalBusiness subtype
@idthe homepage URL plus #businessA stable ID other pages can reference
nameThe registered trading nameIdentical to the Business Profile
url and logoHomepage and logo file
telephoneThe main local numberSame as the site footer
addressStreet, town, postcodeOmit the street for a hidden-address service-area business
openingHoursSpecificationMonday to Friday, 9 to 5Must match the hours shown
areaServedMedway, MaidstoneOnly areas genuinely served
sameAsLinks to the firm's official social and professional profilesHelps 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

MistakeRiskFix
Star ratings on every page from a theme or pluginManual action for structured data spamRemove rating markup without visible, eligible reviews
Business details that differ from the visible pageConfusing or ignored markupGenerate markup from the same data as the page
Several conflicting Organization blocks from different pluginsAmbiguous entityPick one source and disable the others
FAQ markup for questions not on the pagePolicy breachOnly mark up visible content
Product markup with stale pricesMismatch warnings, misleading resultsKeep 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

ToolWhat it checks
Rich Results TestWhether a page is eligible for Google rich results, and errors
Schema Markup ValidatorWhether the markup is valid Schema.org, for any type
Search Console enhancement reportsErrors and warnings across the site for supported types
URL InspectionThe 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.

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:

  1. Organization or LocalBusiness on the homepage, with a stable ID
  2. BreadcrumbList on every page with breadcrumbs
  3. Article on blog posts, with a real author
  4. Product on product pages, if you sell online
  5. 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

FAQ

Questions about this

If yours isn't here, send it over — I reply within one working day.

Not directly. Google has said structured data is not a ranking factor in itself. It helps Google understand a page and makes it eligible for rich results, which can improve how a listing looks and how often it is clicked. The benefit is understanding and presentation, not a ranking boost.

Google stopped showing FAQ rich results in May 2026, so it will not change how your result looks in Google. The markup is still valid Schema.org and is harmless if it matches FAQs visible on the page. Do not add it expecting a visual benefit, and never mark up questions that are not shown on the page.

Generally not for your own business. Google does not show review stars for LocalBusiness or Organization markup where the business is reviewing itself or displaying its own collected reviews. Star rich results are for things like products and recipes with genuine reviews visible on the page. Adding self-serving rating markup risks a manual action.