What is Schema Markup?

Sketching Schema Markup
Table of Contents
    Add a header to begin generating the table of contents
    Scroll to Top

    Schema markup is code you add to a page that tells search engines what the page is about, such as a business, a product, or an article. It can make your page eligible for rich results like ratings, prices, and hours.

    In 2011, schema.org was created as a collective effort between Google, Bing and Yahoo!. The goal was one shared vocabulary for describing a page in its HTML.

    It is debatable whether schema markup directly affects ranking. What Google documents is eligibility: valid markup can make a page eligible for rich results, but it does not guarantee them. Rich snippets are those extra details, like star ratings and prices, shown in the search result.

    You do not need special markup to appear in Google’s AI features. Google’s guidance says no special markup is required, and that any structured data you use should match the visible text on the page.

    Which Schema Markup Format Should You Use?

    Use JSON-LD if your site allows it. Google recommends it, and it keeps the markup separate from your page content.

    The vocabulary comes from schema.org. You can add it to your page in three formats:

    • JSON-LD: Google recommends it when your site’s setup allows it. It is a data format placed in a <script> tag.
    • Microdata: This is a form of HTML designed to contain structured data within HTML content. This is most commonly used in the <body> of a page
    • RDFa: This is an HTML5 extension that uses HTML tag attributes to communicate each piece of schema, either in the <head> or <body>

    Format

    Where the code goes

    Best for

    JSON-LD

    In a <script> tag, apart from the visible content

    Most sites. Easiest to add, edit, and remove.

    Microdata

    Inside the page’s body HTML, on the content it describes

    Sites where templates already control the HTML.

    RDFa

    In HTML tag attributes, in the head or body

    Sites already built around RDFa.

     

    What Are the Types of Schema Markup?

    A schema type describes what a page is about. Each type has its own properties, such as a name, an address, or a price.

    Some types are broad, like Organization. Others are specific, like Restaurant. Pick the most specific type that fits the page, then choose its properties.

    Common types are listed below. Click any type on schema.org to see its properties.

    Item Type

    Example properties

    Person

    name, address, memberOf

    Organization

    address, logo, aggregateRating

    Product

    name, description, offers (includes price)

    Creative Work

    author, commentCount, datePublished

    Event

    about, aggregateRating, doorTime

    LocalBusiness

    name, address, telephone, openingHours

    Article

    headline, author, datePublished

    How Do You Add Schema Markup?

    Pick the right type, write its properties as JSON-LD, and place the code on the page it describes. Then test it before you publish.

    1. Choose the schema.org type that best matches the page.
    2. List the properties for that type. Include every required property and the recommended ones that match what is on the page.
    3. Write the markup as JSON-LD, or use a schema markup generator to build it from a template.
    4. Add the code to the page and test it (see below).
    5. Check what your CMS or SEO plugin already outputs before adding more.

    If you use Microdata instead, the attributes itemscope, itemtype, and itemprop go directly in your page’s HTML to mark the content most valuable to search results.

    Schema markup generators can build JSON-LD from a template. Fill in the details you need, such as address, name, and opening hours, and the tool writes the code.

    Itemscope itemtype is used to define the URL in schema.org which the following items are taken from. A full list of schema types and categories can be found on schema.org to help define your category.

    Itemprop is used for each individual item. It is placed immediately before the content in the code.

    Google’s structured data guidelines set two firm rules. Required properties must be present for a result to be eligible, and the markup must match what visitors can see on the page.

    Schema Markup Example

    The result below shows a rating and price range directly under the URL. These details can be read from the page itself, and schema markup states them directly for search engines.

    Rich snippet of a Philadelphia deli.

    A result like this gives searchers the rating and price range before they click. Markup for a business like this could look like the example below. The business and values are illustrative.

    				
    					<script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Restaurant",
      "name": "Example Deli",
      "priceRange": "$",
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.5",
        "reviewCount": "120"
      },
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "123 Main Street",
        "addressLocality": "Philadelphia",
        "addressRegion": "PA"
      }
    }
    </script>
    
    				
    			

    Note: Only mark up details visitors can see on the page. Google’s guidelines say not to mark up hidden content, and markup that does not match the page can cost you rich result eligibility.

    How Do You Test Schema Markup?

    Run your code through the Rich Results Test and the Schema Markup Validator before you publish. After launch, watch the rich result reports in Google Search Console.

    Once you have written your schema, run it through the Rich Results Test before it goes live. It shows whether your markup is eligible for Google’s rich results and flags missing required properties.

    The Schema Markup Validator checks that your code is valid schema.org markup. If you run into the scenario where there is an inconsistency between type and item, you will need to browse the vocabulary and find a new item for what you want to include. If there is an error, the issue usually lies in the details of the code, most notably the placement of brackets and colons.

    After you publish, the rich result status reports in Search Console show which pages have valid markup and which have errors.

    Does Schema Markup Help SEO?

    Schema markup does not guarantee higher rankings. It can make a page eligible for rich results and help search engines understand what the page covers.

    Mark up the details a searcher would want to see in the result, and make sure each one is on the page.

    The best place to start is the full list of schema types and categories on schema.org. Read through this list and find the category most relevant to your business.

    Plan around what Google supports today. In 2025, Google announced it would drop support for seven rich result types, including Course Info, Claim Review, Estimated Salary, and Vehicle Listing. Check Google’s structured data documentation before you build around a specific result.

    For more on how AI is changing search, read our Machine Learning & AI for SEO post.

    Schema Markup for Local Businesses

    Local businesses have a clear use for schema markup. Searchers look for an address, hours, and a phone number, and LocalBusiness markup describes exactly those details.

    For most local businesses, start with address, openingHours, and telephone.

    Schema.org provides a LocalBusiness schema, with industry-specific item types such as FinancialService, FoodEstablishment and AutomotiveBusiness, with even more specific item types within these sections. Search through these sections to find the itemprop tags most relevant and valuable to your business.

    Tips for Using Schema Markup

    While you are working on developing your schema, keep the following notes in mind:

    • It can be helpful to keep your objective in mind. If you are a small business with a local SEO focus, work on establishing everything necessary for ranking in the local box and having local information in your rich snippet
    • Use the most specific type that fits. Browse the Organization of Schemas to find your options. Include every required property for that type, and add recommended properties that match what is on the page
    • You do not need to apply schema to every page on your site. You should be focusing on unique schema markup for specific pages, with information that reflects what users are finding on that page
    • Keep markup current. When prices, hours, or details change on the page, change them in the markup too.
    • Look at the on-page SEO mistakes to avoid when crafting new content before you add markup to a page that has other gaps.

    You do not have to mark up every page. Pick the pages where rich results could help, and skip the rest.

    Schema markup can feel like an extra step, but it gets simple once you know the type, the format, and the test. Start with one page, test it, and build from there.

    Frequently Asked Questions

    Does schema markup improve rankings?

    The evidence for a direct ranking boost is debatable. What Google documents is eligibility: valid markup can make a page eligible for rich results, but it does not guarantee them.

    It might help. In the end, schema is an SEO tactic, not an AEO tactic, and it is not a silver bullet for AI visibility. It has not proven out in the AI Visibility data, and we do not recommend it as part of an AEO strategy. Properly implemented schema may support your organic rankings, and stronger organic visibility can have a slight positive effect on AI citations and mentions. Adding schema alone will not guarantee better AI visibility. Google says no special markup is required for its AI features, and its guidance centers on helpful, people-first content that meets standard technical requirements.

    Use JSON-LD if your site allows it. Google recommends it, and it is the easiest of the three to add, edit, and remove.

    Test it with the Rich Results Test and the Schema Markup Validator before you publish. After launch, check the rich result status reports in Search Console.

    Start with pages where search results could show useful details: your home page (Organization), location pages (LocalBusiness), products, and articles. You do not need markup on every page.

    The page can lose eligibility for rich results, and Google can apply a manual action to it. Google says a manual action does not affect how the page ranks in web search.

    This content was originally published in 2017. It was most recently updated by Leah Hart in November 2026.

    About the Author

    Former Employee (Senior Content Strategist)

    Craig was a member of the FourFront team as a Senior Content Strategist from 2017 to 2024. Read More »
    Share This Article
    Facebook
    Twitter
    Pinterest
    LinkedIn
    Related Content
    About FourFront

    FourFront uses data to provide digital marketing and market research services. In our blog, our team of analysts, strategists, and engineers provides tips, insights, analysis, and commentary.

    Keep In Touch
    Learn about new articles by following us on social:
    Scroll to Top