Schema Markup Explained: What It Is, Which Types Matter and Whether AI Uses It

This guide supports our SEO services.

Visible business hours and address map to structured-data fields, followed by a validation check.

Schema markup is code you add to a web page to label its facts in a standard vocabulary, Schema.org, so search engines can read them reliably: who the business is, where it is, when it opens, what a product costs. It can make a page eligible for rich results in Google, but it does not raise rankings by itself, and Google says its AI features need no special markup.

This guide explains what schema markup is, which types matter for a typical business, how to add and test it, and what it does and does not do for AI search. For what Google’s testing tool can and cannot confirm, see why a Rich Results Test pass is not a rich snippet.

Local business location, contact and opening hours answer where, how and when customers can reach you
Figure 1. Facts customers need before visiting. For a customer-facing location, an accurate address, working contact details and current opening hours answer different practical questions.

What is schema markup?

Schema markup is a form of structured data. Google defines structured data as a standardized format for providing information about a page and classifying its content. The vocabulary most sites use is Schema.org, a shared set of types (LocalBusiness, Product, Article, Event) and properties (address, telephone, openingHours, price) that the major search engines recognize.

Markup does not replace the words on the page. It labels information that is already visible, so a search engine does not have to guess which number is the phone number or which line is the street address.

What schema markup looks like

This illustrative example expresses business details as named fields. Replace every placeholder with verified information visible on the actual page before using it.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Example Toronto Business",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "REPLACE WITH VERIFIED STREET ADDRESS",
    "addressLocality": "Toronto",
    "addressRegion": "ON",
    "postalCode": "REPLACE WITH VERIFIED POSTAL CODE",
    "addressCountry": "CA"
  },
  "openingHours": "Mo-Fr 09:00-17:00"
}

A search engine reading this block knows the business name, its city, province and country, and its opening hours as separate fields rather than as loose prose.

What language is schema markup written in?

Schema markup can be written in three formats. Google recommends JSON-LD in most cases because it is the easiest to implement and maintain, and it supports Microdata and RDFa equally when they are valid.

  • JSON-LD: a separate script block, usually in the page head. Easy to update without touching the page layout.
  • Microdata: attributes added to the HTML elements that display each fact.
  • RDFa: a similar attribute-based format, more common in publishing systems.

Why is schema markup important for SEO?

Schema markup matters for three practical reasons.

  • Rich result eligibility. Many Google features, such as product details, event listings, breadcrumbs and review snippets for products, need valid structured data with all required properties.
  • Clear facts. Labelled business details reduce the chance of a search engine reading the wrong phone number, address or hours.
  • Consistency across surfaces. Markup that matches your Google Business Profile and listings helps every system describe the same real business.

What it does not do: schema is not a ranking shortcut. Google’s documentation describes structured data as a way to become eligible for richer results, and eligibility does not mean a rich result will appear. Measure actual impressions and clicks in Search Console rather than assuming a lift.

Does AI use schema markup?

For Google, the answer is clear: its guide to generative AI in Search says structured data is not required for its AI features and no special schema markup is needed. AI Overviews draw on pages retrieved from the regular Search index, so the visible content and the page’s standing in search matter most.

That does not make markup useless. Accurate structured data still supports rich results, and consistent business facts across your site and listings help any system that reads them. Other AI products publish their own crawler and source rules, and they change often, so check each platform’s current documentation rather than relying on claims that one type of markup gets you cited.

Our guide to Google AI Overviews and how pages get cited covers the rest of that work.

Is schema markup still relevant?

Yes, but the list of features it unlocks has narrowed. Google stopped showing FAQ rich results on May 7, 2026, and HowTo rich results were retired in 2023. Product, merchant listing, event, breadcrumb, article, local business and several other features still use markup. Check the feature’s current page in Google’s search gallery before investing in a type.

Which types of schema markup matter?

Choose the type that describes the page, then add the properties needed to describe it accurately.

Organization

Describes the company behind the site: legal name, logo, contact points and links to official profiles through the sameAs property. Most sites need one Organization entity, defined once. Avoid duplicate or conflicting entities when a theme or plugin already outputs one.

LocalBusiness and its subtypes

Describes a business that customers visit or that serves a local area: address, telephone, opening hours, geo coordinates and service area. Use the most specific subtype that fits, such as Dentist, Plumber or Restaurant. Read Google’s local business documentation for the supported properties.

Product

For real ecommerce products, Product markup can describe the name, image, offer, price, currency and availability when those details are visible on the page. A service business should not mark a service up as a product to chase a rich result.

Article and BreadcrumbList

Article markup describes blog posts and news: headline, author, publish and update dates and images. BreadcrumbList describes where the page sits in the site’s structure and can show as a breadcrumb trail in results.

Event

Event markup supports genuine events with accurate dates, location and ticket details. Keep ordinary offers and business hours in their own fields.

Want this handled for your business?

Our SEO team plans, fixes and reports on the work in this guide every month for Canadian businesses.

Review and rating

Review markup must follow Google’s eligibility rules. A business cannot earn review stars on its own LocalBusiness or Organization pages by marking up reviews about itself, including reviews embedded from other platforms. Keep genuine reviews visible for visitors and leave self-serving review markup out.

FAQPage and HowTo

Both remain valid Schema.org types, but neither produces a Google rich result any more. Use them only if they describe visible content and you have another reason to keep them.

How to add schema markup

Choose the right type

Match the type to the job of the page. A business home page, a product page and an event page each need a different type, and each Google feature lists its own required properties.

Collect verified details

For a LocalBusiness implementation, gather the details that appear on the page: business name, address, phone number, website, opening hours, a short description, logo URL and official social profiles.

Check what your site already outputs

Many themes and SEO plugins add Organization, WebSite or Article markup automatically. View the page source or test the live URL before adding anything, so you do not end up with two contradictory versions of the same business.

Add the code

Use your platform’s structured-data fields where they exist, or add one JSON-LD block for the chosen type. Keep every value aligned with the visible page.

Test and monitor

Run the page through Google’s Rich Results Test for supported Google features and the Schema Markup Validator for vocabulary checks. Then watch the enhancement reports in Search Console, retest after template or plugin changes, and update the markup whenever your hours, phone number or services change.

Schema markup best practices

  • Mark up only what visitors can see. Hidden or invented facts break Google’s guidelines.
  • Keep business details consistent. Name, address and phone number should match your Google Business Profile and major listings exactly.
  • Use the most specific type. A dental clinic is a Dentist, not just a LocalBusiness.
  • Combine types only when each is accurate. One page can carry Organization, BreadcrumbList and Article together when each describes something real.
  • Prefer maintainable JSON-LD. Choose the format your team can keep accurate.
  • Write naturally. City names and service terms belong where they describe the business, not repeated in every field.

A fuller local business example

This second example is fictional and demonstrates structure only. The example.com URLs are placeholders. It deliberately omits ratings about the business itself; self-serving LocalBusiness reviews do not qualify for Google review stars.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Example Toronto Business",
  "url": "https://example.com/",
  "image": "https://example.com/business.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "REPLACE WITH VERIFIED STREET ADDRESS",
    "addressLocality": "Toronto",
    "addressRegion": "ON",
    "postalCode": "REPLACE WITH VERIFIED POSTAL CODE",
    "addressCountry": "CA"
  },
  "openingHours": "Mo-Fr 09:00-17:00"
}

How schema markup works with Google Business Profile

Your Business Profile and your website should describe the same real business. Markup on the site does not update the profile, and the profile does not write markup for you, so update both when facts change.

  • Use the same address format and phone number in both places.
  • Link to your Business Profile and map location from the website.
  • Add a sameAs property listing your official social profiles.
Website and Business Profile cards show matching location, phone and hours for the same real business
Figure 2. Two surfaces, one real business. The website and Business Profile should reflect the same current business facts rather than conflicting contact or location details.

Our page on Google Business Profile optimization covers the profile side, and our local SEO in Toronto page explains how both fit into map results.

Measure what markup changes

Track the outcomes you care about rather than the markup itself. Search Console shows impressions, clicks and any enhancement errors for pages with supported markup; your analytics shows whether those visits turn into calls or enquiries.

Website visit compared with an enquiry: arriving on a site is different from contacting the business
Figure 3. Visits and enquiries are different outcomes. A site arrival does not establish that someone contacted the business. Assess meaningful customer actions separately from traffic.

Keep a short maintenance checklist: verify the marked-up facts against the visible page, retest after template or plugin changes, and review search appearance and visitor outcomes every few months.

Frequently asked questions

What is schema markup?

Schema markup is code that labels the facts on a web page using the Schema.org vocabulary, so search engines read them reliably. It identifies details such as a business name, address, opening hours or product price. It describes information visitors can already see.

Why is schema markup important for SEO?

Many Google rich results, such as product details, events and breadcrumbs, require valid structured data with every required property. Markup also reduces the chance of search engines misreading business facts. Markup alone will not lift a page in the rankings, and Google always chooses whether to show the richer listing.

Does AI use schema markup?

For Google, markup is optional where AI answers are concerned; AI Overviews draw on pages from the regular Search index. Other AI products set their own rules, so check each platform's documentation. Accurate markup still supports rich results and consistent business facts.

How do I check if my website has schema markup?

Enter the page URL in Google's Rich Results Test to see which supported items Google detects, or use the Schema Markup Validator for every Schema.org type on the page. Search Console's enhancement reports also flag errors across the site.

What language is schema markup written in?

The usual format is JSON-LD, a script block that Google recommends for most sites because it is easy to maintain. Microdata and RDFa, which add attributes to the page's HTML, are also supported when valid.

Is schema markup still relevant?

Yes, though fewer features depend on it than before. FAQ rich results stopped showing on May 7, 2026, and HowTo results were retired in 2023, while product, merchant listing, event, breadcrumb, article and local business features still use markup. Check each feature's current Google documentation before adding a type.

Which schema types does a local business need?

Most local businesses need an Organization or a specific LocalBusiness subtype, such as Dentist or Plumber, with the name, address, phone, hours and official profiles. Add BreadcrumbList for site structure and Article markup on blog posts. Keep every value identical to your Google Business Profile.

Can I add review schema for my own business?

Not for review stars about yourself. Google does not show review snippets for self-serving reviews on a business's own LocalBusiness or Organization pages, even when the reviews come from another platform. Show genuine reviews to visitors and leave that markup out.

How do I add schema markup to a WordPress site?

Check what your theme and SEO plugin already output before adding anything, because many add Organization or Article markup automatically. Use the plugin's structured data fields where they exist, or one JSON-LD block for a missing type. Running two versions of the same business creates conflicts.

What is the difference between schema markup and rich snippets?

Schema markup is the code on your page; a rich snippet or rich result is an enhanced listing Google may show. Valid markup makes a page eligible, and Google decides whether the enhanced listing appears.