Schema markup is code that describes a page to search engines in a standard way. This guide explains what it does, which types a small business can use and how to add and test it.
Schema markup, also called structured data, is code on a page that describes its content in a standard vocabulary, such as a business name, address or product price. Google says it uses structured data to understand pages and may use it to show rich results, but it cannot promise they will appear. Test markup before and after publishing.
What schema markup is
Schema markup is code added to a web page that states, in a standard format, what the page is about. A visitor never sees it. Search engines read it alongside the visible text. The shared vocabulary comes from schema.org, and Google uses the name structured data for the same practice.
A normal page tells a search engine what it contains only through its wording. The page may say "Open Monday to Saturday" in a paragraph, and a crawler has to work out that this means opening hours. Schema markup states the same fact in a labelled field, so nothing is guessed. Google describes structured data as explicit clues about the meaning of a page.
Google supports three formats: JSON-LD, Microdata and RDFa. It recommends JSON-LD, mainly because it is usually the easiest to add and to maintain. JSON-LD lives in one block of code instead of being threaded through the visible HTML. The rest of this guide assumes JSON-LD.
Two terms are worth separating. A rich result is a search listing that shows more than the plain title and description, such as a price, a rating or opening hours. Schema markup is one input that can make a page eligible for a rich result. It is not the result itself.
Does schema markup help you rank higher?
Treat it as help with understanding and appearance, not as a ranking tool. Google's introduction to structured data names two purposes: it helps Google understand the content of a page, and it can make a page eligible for rich results. Ranking position is not offered as a benefit.
Even those two are conditional. Google says that valid markup does not make a rich result certain, and that a result may not appear even when the Rich Results Test passes. It also says markup must describe content that visitors can see, so markup cannot stand in for useful text on the page.
Where it can pay off is modest and practical. Organization markup can feed a business name, logo and contact details into places such as knowledge panels. Product markup can support a price and availability line on a product listing. Breadcrumb markup can show the path to a page under its link.
Some sellers pitch schema as a way into AI-written answers. What Google says about its AI features, and what nobody can promise, is covered in the guide to SEO, AEO and GEO. The short version is that markup does not replace clear, accurate pages.
Which schema types suit a small business
Use the most specific type that describes the page, and mark up only details that appear on that page. Google documents a set of types that can produce search features. This table lists the ones a small business site is most likely to need.
| Type | What it describes | Pages it suits | Watch for |
|---|---|---|---|
| Organization | Business name, logo, address and contact details | Home page or About page | Details must match what the site shows elsewhere |
| LocalBusiness | A business with a place customers can visit: address, opening hours, telephone | Home, contact or location page | Hours and address go out of date; update them with the page |
| Product | Name, image, price and availability | Product pages of an online store | Price and stock must match the visible page |
| Article | Headline, author, published and modified dates | Guides and blog posts | Dates should match the dates shown to readers |
| BreadcrumbList | The path from the home page to the current page | Pages several levels down | It must reflect the trail visitors actually see |
| Event | Date, time and place of an event | Event pages | Correct dates, and a plan for after the event |
| JobPosting | A current job opening | Careers pages | Only for openings that exist today |
For LocalBusiness, schema.org lists many more specific subtypes, and Google asks you to use the most specific one that fits. Google's documentation lists the address and the business name as required properties, with opening hours and telephone among the recommended ones. Always read the current page for a type before you build it, because required and recommended properties can change.
Reviews need care
Review and rating markup has its own rule. Google says a page is not eligible for star review results when the business controls the reviews about itself, for example reviews of your own company shown on your own site, whether they are in the markup or arrive through an embedded widget. Reviews of products on product pages fall under the Product and review snippet documentation instead. Check the current documentation for what applies to your pages.
FAQ markup
FAQ markup is a common pitch. Google announced in 2023 that FAQ rich results would appear only for well-known, authoritative government and health sites, and the documentation for the feature has changed since. Do not add it to chase a bigger listing. Writing clear questions and answers on the page for readers is still worthwhile, with or without markup.
Types without a search feature
Many other types exist at schema.org. Only some are documented by Google as powering a search feature. Check Google's gallery of supported structured data before spending time on a type that is not in it.
The rules Google sets for structured data
Markup that breaks Google's guidelines can lose its eligibility for rich results. Some violations are reported to the site owner as manual actions in Search Console. These are the rules that matter most for a small site.
- Mark up only content that visitors can see on the page. Accurate information that is hidden from visitors still breaks the guideline.
- Make the markup a true description of the page. A price, an opening time or a rating in the code must agree with the page.
- Do not mark up misleading or invented content, such as reviews nobody wrote.
- Include every required property for the type, or the page is not eligible for the feature.
- Prefer fewer properties that are complete and correct over many that are guessed.
- Do not create pages whose only purpose is to hold markup.
The practical consequence is that markup should be generated from the same information that the page shows. If a person has to remember to change the code when the price changes, it will drift out of date.
How to add schema markup to a website
There are three usual routes, and the right one depends on how the site is built.
- A plugin or theme setting. Google notes that on platforms such as WordPress, Wix or Shopify you may need a plugin or a settings page to add structured data. Many themes and store apps already output some markup, so look at what is there before adding more.
- JSON-LD in the page template. A developer writes the code block once for each page type and fills in the values from the page's own data. Each page then gets correct details without anyone editing code by hand. This suits custom sites.
- JSON-LD added by script. Google can read JSON-LD that a script adds after the page loads, so tag-based set-ups work. Markup in the page's own HTML is simpler to inspect and does not depend on a script running.
Whichever route you take, work in this order.
- Choose the page types that matter: the home page, the contact or location page, product pages and articles.
- For each type, list the facts that already appear on the page, such as name, address, hours, price, headline and date.
- Pick the matching schema type and read Google's documentation for its required and recommended properties.
- Produce the markup from the data the page uses, not from a separate copy.
- Test it, publish it, and test again after the next theme or plugin update.
If you would rather hand this to a team, the search engine optimisation service page describes Liftup's SEO work. For a site you are rebuilding, ask for the page types and their markup to be listed in the brief.
How to test schema markup
Three free tools cover testing, and each answers a different question.
| Tool | Use it to | When |
|---|---|---|
| Rich Results Test | See which Google rich results a page or a code snippet can produce, and which errors or warnings it has | While building, and on the live page after launch |
| Schema Markup Validator | Check general schema.org syntax, including types Google has no feature for | When the type is not in Google's gallery |
| Rich result reports in Search Console | Monitor pages Google has crawled for errors and warnings in supported types | After launch, and after any template change |
Errors stop a page being eligible for the feature. Warnings may limit how it appears, but the page stays eligible. Fix errors first. Google's help pages on the Search Console reports explain how to ask Google to check a fix once you have made it.
The URL Inspection tool in Search Console shows the version of a page that Google has indexed, which is the safest check when the markup is added by script. Reports appear only after Google has crawled the pages, so allow time before you judge whether a change worked.
A passing test shows that the markup is valid. It does not show that a rich result will appear. Google decides that for each search.
Where schema markup fits in an SEO check
Markup comes late in the order of work. A page that cannot be crawled, is not indexed or says little will not be rescued by code that describes it. Fix access, content and titles first, using the basic SEO audit. In that audit, check markup on one sample page for each template, not on every page.
When you work on a single page, markup is one line near the end of the on-page SEO checklist. Confirm that the type fits, that every value in it appears on the page, and that the test shows no errors. Then add the page to the list you re-test after theme or plugin updates.
Keep a short note of which pages carry markup and which tool or file produces it. When the business changes its address, hours or product details, that note tells you what else needs updating.
Common schema markup mistakes
- Copying markup from another site and leaving its name, address or ratings in the code.
- Marking up details that are not on the page.
- Leaving old opening hours, prices or telephone numbers in the markup after the page was updated.
- Running two plugins that each output the same type with different values.
- Adding star ratings for your own business to your own pages.
- Adding FAQ markup in the hope of a larger listing.
- Reading a green result in a test tool as proof that Google will show a rich result.
Most of these come from treating markup as a one-off task. It is closer to a small piece of site maintenance: set up once, generated from the page's data, and checked after changes.
Questions and answers
What is schema markup?
Schema markup is code on a web page that describes its content in a standard vocabulary from schema.org. Google calls it structured data. Visitors do not see it, but search engines can read it to understand the page and, for supported types, may use it to show rich results.
Does schema markup help me rank higher?
Google's documentation names two purposes: helping it understand a page and making the page eligible for rich results. It does not offer markup as a ranking tool, and Google cannot promise a rich result even when a test passes. Add it for accuracy and appearance, not for position.
Which schema types suit a small business?
Organization or LocalBusiness for the business itself, Product for online store pages, Article for guides and posts, and BreadcrumbList for pages deep in the site. Use only the types that match what the page shows. Check Google's gallery of supported types for the current list of search features.
How do I add schema markup to my site?
Use a plugin or theme setting if your platform offers one, or ask a developer to add JSON-LD to the page templates and fill it from the data the page already shows. Google recommends JSON-LD. Look at what your theme already outputs first, so you do not add a second copy.
How do I test schema markup?
Test a code snippet or page address in Google's Rich Results Test, check general syntax in the Schema Markup Validator, and watch the rich result reports in Search Console once Google has crawled the pages. Fix errors first, because they make a page ineligible. Warnings can limit how a result appears.
Does a small business website need schema markup?
No site needs it in order to be indexed or to appear in search. It becomes worth doing when a supported type matches your pages, such as products for a store or contact details for a local business. Fix crawling, titles and content first.
Is JSON-LD better than Microdata?
Google supports JSON-LD, Microdata and RDFa, and it recommends JSON-LD because it is usually the easiest to implement and maintain. Valid markup in any of the three formats is acceptable. For a new site, JSON-LD is the usual choice.

