Example JSON-LD schema markup for an Organization at example.com, with name, url, logo, alternateName and sameAs links to LinkedIn, X and YouTube
Schema markup is a small block of JSON-LD in the page: here, an Organization with its logo, other names and official profiles

Key Takeaways

  • Schema markup is code that tells search engines and AI tools, in exact terms, what a page is about: a business, a product, an article, a price, an opening time.
  • It doesn't change how the page looks. It removes the guessing. Google uses it to understand pages and to show rich results such as product prices, breadcrumbs and event dates.
  • Use JSON-LD, put it in the page's HTML (not only through JavaScript), and only mark up what visitors can actually see on the page.
  • The most expensive mistakes are quiet ones: broken JSON, the wrong type, and prices in the code that don't match the page. Test every change.

What Is Schema Markup?

Schema markup is a shared vocabulary of labels that you add to a web page so machines can read its facts without interpreting the prose. Instead of a crawler working out that "$49" near the word "Pro" is probably a price, the markup says it outright: this is an offer, the price is 49, the currency is USD.

The vocabulary lives at schema.org, a project Google, Microsoft (Bing) and Yahoo started in 2011, with Yandex joining soon after. It defines hundreds of types (Organization, Product, Article, Event, Recipe) and the properties each type can have (name, price, author, startDate).

You'll see three names used for roughly the same thing. Structured data is the general idea of describing a page in a fixed format. Schema markup is structured data written with the schema.org vocabulary. JSON-LD is the format most people write it in today. So when someone asks "what is schema in SEO?", they usually mean all three at once.

What Problem Does Schema Markup Solve?

Web pages are written for people. The same fact can appear in a dozen ways: a price in a styled box, an address split across three lines, an author name in a footer. Humans cope. Software has to guess, and guesses go wrong. Schema markup fixes three specific problems:

  • Ambiguity. "Apple" can be a fruit or a company; "Mercury" can be a planet, a car or a band. Typed markup says which one you mean.
  • Identity. Your website, LinkedIn page, YouTube channel and Google Business Profile are separate places. The sameAs property states that they all belong to one organization.
  • Precision. Prices, ratings, dates, opening hours and addresses become exact values instead of text fragments that might be read wrongly.

That last point matters more now than it did five years ago. AI assistants answer questions by pulling short facts from pages. When a fact is unambiguous in your code, it's far less likely to come back wrong in an answer.

Mind map: what schema markup is and how it worksSchema markup. What it tells machines: What the page is, Who the business is, Prices, dates, ratings, Which profiles are yours; Types most sites need: Organization (homepage), LocalBusiness, Product or SoftwareApplication, Article, Breadcrumb, FAQ; Add and test it: JSON-LD in the page, Generator or plugin, Rich Results Test, Schema Markup Validator; Mistakes that break it: Broken JSON, Wrong type for the page, Prices not on the page, Fake reviews or FAQs.What it tells machinesWhat the page isWho the business isPrices, dates, ratingsWhich profiles are yoursAdd and test itJSON-LD in the pageGenerator or pluginRich Results TestSchema Markup ValidatorTypes most sites needOrganization (homepage)LocalBusinessProduct or SoftwareApplicationArticle, Breadcrumb, FAQMistakes that break itBroken JSONWrong type for the pagePrices not on the pageFake reviews or FAQsSchema markup
Schema markup in one picture: what it tells machines, the types most sites need, how to add and test it, and the mistakes that quietly break it.

How Does Schema Markup Work?

When a crawler fetches your page, it reads the HTML, finds the schema blocks and stores the facts alongside the page. Search engines then use those facts in two ways: to understand what the page and the business are, and to decide whether the page qualifies for a rich result, the enhanced listings with stars, prices, breadcrumbs or dates.

Two limits are worth knowing from the start. Markup makes a page eligible for rich results; it doesn't guarantee them, because Google decides what to show for each search. And Google's own introduction to structured data frames it around understanding pages and qualifying for rich results, not around rankings. Its value is in being understood correctly and in standing out when a rich result does appear.

JSON-LD, Microdata and RDFa

Google reads three formats. JSON-LD is a separate block of code, usually in the page's head, that doesn't touch your visible HTML. Microdata and RDFa add attributes to the visible HTML tags themselves. Google recommends JSON-LD because it's the easiest to write, read and maintain without breaking the page design, and it's what nearly every modern plugin and generator outputs.

JSON-LD, Microdata and RDFa compared
FormatWhere it livesBest for
JSON-LDA <script type="application/ld+json"> blockAlmost every site. Recommended by Google
Microdataitemscope and itemprop attributes on HTML tagsOlder templates that already use it
RDFavocab, typeof and property attributes on HTML tagsSites built on linked-data systems

A Schema Markup Example

Here is a complete, valid schema markup example for a company homepage. It names the business, gives its logo, lists other spellings people search for, and links its official profiles:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Studio",
  "alternateName": ["ExampleStudio", "Example Studio Ltd"],
  "url": "https://www.example.com/",
  "logo": "https://www.example.com/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/example-studio",
    "https://x.com/examplestudio",
    "https://www.youtube.com/@examplestudio"
  ]
}
</script>

Read it like a form. @context says the vocabulary is schema.org. @type says this describes an Organization. Every other line is a property of that organization. alternateName is the line most sites forget: if people type your brand as one word, with an abbreviation or with "Ltd", list those spellings so search engines and AI tools connect them to you.

You can build a block like this in a minute with the generator in our free Schema Markup Checker, which covers Organization, LocalBusiness, SoftwareApplication, Article and FAQ pages.

Types of Schema Markup Most Websites Need

Schema.org has hundreds of types, but most websites need only a handful. Pick by what the page actually is:

Common types of schema markup and when to use them
TypeUse it onKey properties
OrganizationYour homepage or About pagename, url, logo, sameAs, alternateName
LocalBusiness (or a subtype like Dentist, Restaurant)A business customers visitname, address, telephone, openingHours
ProductA physical product for salename, image, offers (price, priceCurrency, availability)
SoftwareApplicationSoftware, apps and SaaSname, offers.price, applicationCategory, operatingSystem
Article or BlogPostingBlog posts and newsheadline, image, datePublished, author
BreadcrumbListAny page below the homepageitemListElement with position, name and item
FAQPageA page of real questions and answersmainEntity: Question with acceptedAnswer
EventWebinars, concerts, classesname, startDate, location

Organization schema

This is the identity card for your business and the most important block for AI visibility. Put it on the homepage, keep the name exactly as you write it everywhere else, and fill in sameAs with every official profile.

Product schema (and when not to use it)

Product markup is for physical goods. Google checks product pages for two kinds of results: product snippets (which need a name plus offers, a review or a rating) and merchant listings (which also want an image, availability, shipping and return details). If you sell software or a service, use SoftwareApplication or Service instead, or Google will start asking for barcodes and shipping costs you don't have.

This happened to us. Our own pricing page used "@type": "Product", and Search Console flagged it under Merchant listings: missing image, shipping details, return policy and product identifier. We changed one word, to SoftwareApplication, and the shopping checks stopped applying.

Breadcrumb schema

BreadcrumbList describes where a page sits in your site, such as Home › Blog › This post. Google can show it in place of the raw URL in results. Every item needs a position number and a name.

FAQ schema: is it still relevant?

Partly. Since August 2023 Google shows FAQ rich results only for well-known, authoritative government and health websites, so most sites won't get the expandable questions in search anymore. The markup is still valid and still describes your questions and answers clearly for machines. Use it only on pages where the questions and answers are visible, and only for questions real customers ask. HowTo rich results were retired around the same time.

In our 57-factor framework for AI visibility, schema markup sits in the Entity layer: the factors that decide whether AI understands who you are, not just what a page says. The other factors in that layer work with it:

  • Consistency. Your site, profiles and directory listings should describe you the same way. Schema states the official version, but it can't fix a website that says "18 agents" on one page and "21" on another.
  • sameAs. Links your website to your social and directory profiles so they're treated as one entity.
  • Wikidata and Wikipedia. For established organizations, a Wikidata item gives AI systems an independent record to match against.
  • Author markup. A Person with a name and profile link behind each article supports expertise and trust.
  • Disambiguation. alternateName, a clear description and consistent naming separate you from companies with similar names.

Schema also touches two other layers. In the Content layer, FAQ, table and date markup make facts easy to quote. In the Commerce layer, accurate product and offer data feeds shopping results and AI agents that compare products and prices.

One technical detail decides whether AI crawlers ever see your markup. Google renders JavaScript, so it can read JSON-LD that a tag manager injects after the page loads. Most AI crawlers don't run JavaScript. If your schema only exists after scripts run, ChatGPT, Claude and Perplexity may never see it. Put it in the HTML your server sends. Our guide to what an AI crawler is explains how these bots read a page.

How to Add Schema Markup to a Website

  1. Decide the type for each page template: Organization on the homepage, Article on posts, Product or SoftwareApplication on product pages, BreadcrumbList everywhere below the homepage.
  2. Write the JSON-LD. Use a generator, a plugin, or write it by hand from the examples on schema.org. Fill every required property and only describe what's visible on the page.
  3. Add it to the page HTML, inside the <head> or anywhere in the <body>. On a custom site, add it to the template so every page of that type gets it automatically.
  4. Test it before and after publishing (see the next section).
  5. Watch Search Console. Its Enhancements and Shopping sections report errors per rich result type, page by page.

How to add schema markup in WordPress

WordPress SEO plugins such as Yoast SEO and Rank Math output Organization, WebSite, Article and BreadcrumbList markup automatically once you fill in their settings, so start there before adding anything by hand. For types the plugin doesn't cover, paste a JSON-LD block into the page using a custom HTML block or a header-code plugin. Check the result afterwards: two plugins writing overlapping schema is a common way to end up with conflicting data.

How to Check Schema Markup: Validators and Testing Tools

Use more than one tool, because each answers a different question:

Schema markup testing tools compared
ToolQuestion it answers
Google Rich Results TestIs this page eligible for Google's rich results, and which ones?
Schema Markup Validator (validator.schema.org)Is the markup valid schema.org, for any type, not just Google's?
Search Console EnhancementsWhich pages across my site have errors, and are they fixed?
CMO Owls Schema Markup CheckerIs this the right type, are required fields there, and do the prices match the page? Try it free

The difference matters. A page can pass Google's Rich Results Test and still describe your business wrongly: the type might be technically valid but wrong for the page, or a price in the code might be one you stopped charging months ago. Our homepage had exactly that, a plan price in the markup that no longer appeared anywhere on the site. Validators check syntax and eligibility; you also need to check the facts.

Common Schema Markup Mistakes

  • Broken JSON. One missing comma or quote, and search engines ignore the entire block.
  • The wrong type. Product on a software page, or Article on a product page.
  • Facts that don't match the page. Prices, ratings or opening hours in the code that visitors can't see. Google treats markup that misrepresents a page as a guideline violation.
  • Self-serving review stars. Since 2019 Google doesn't show star ratings that a business publishes about itself on its own LocalBusiness or Organization markup.
  • Fake FAQs. Questions written for the markup instead of for customers.
  • Schema that only loads with JavaScript, invisible to most AI crawlers.
  • Duplicates and conflicts, usually from a theme and a plugin both writing Organization or Product blocks.
  • Copying one page's markup site-wide, so every page claims to be the same article or product.

Is Schema Markup Important for SEO?

Yes, but for the right reasons. It won't lift a weak page up the rankings on its own. What it does is make sure search engines and AI tools understand your pages and your business precisely, make you eligible for rich results that earn more clicks, and remove one of the main reasons an AI answer gets your facts wrong. For the effort involved, usually an afternoon for a small site, few technical SEO tasks pay back as reliably.

FAQ

What is schema markup in simple terms?

It's code on a web page that labels the important facts, like your business name, a product's price or an article's author, so search engines and AI tools can read them exactly instead of guessing.

What is the difference between schema markup and structured data?

Structured data is the general idea of describing a page in a fixed format. Schema markup is structured data that uses the schema.org vocabulary, which is the one Google, Bing and AI tools understand.

Does schema markup improve rankings?

Not directly. Google presents structured data as a way to understand pages and qualify for rich results, not as a ranking boost. Rich results can earn more clicks, and accurate markup helps AI tools get your facts right.

What is the best schema markup format?

JSON-LD. Google recommends it, it doesn't touch your visible HTML, and almost every generator and plugin writes it.

How do I check if a website has schema markup?

Paste the page into Google's Rich Results Test, the Schema Markup Validator or our free Schema Markup Checker. You can also open the page source and search for application/ld+json.

Is FAQ schema still worth adding?

Only for real questions shown on the page. Google now shows FAQ rich results mainly for government and health sites, but the markup still describes your questions and answers clearly for search engines and AI tools.

Can schema markup hurt my site?

Markup that misrepresents the page, such as fake reviews or prices visitors can't see, breaks Google's guidelines and can lead to a manual action that removes your rich results. Accurate markup carries no risk.

Which schema type should my homepage use?

Organization, or LocalBusiness if customers visit you in person, usually with a WebSite block as well. Include your logo, sameAs profile links and any other spellings of your name in alternateName.

Keep Your Schema Right as Your Site Changes

Schema breaks quietly: a theme update duplicates a block, a price changes on the page but not in the code, a new template ships without markup. Generative Engine Owl checks which schema types are present or missing across your whole site, flags pages that describe your brand inconsistently, and suggests the fix. For other access problems that stop AI tools reading you, run the free AI Crawler Access Test and the AI Visibility Checker, and read our guide to checking your AI visibility.

Sources