Enhance Your Site By Adding Structured Data Markup

Structured Data Services
By adding structured data markup to your site, you can enable more of your site’s functional and visual elements to appear directly in Search Results and in Knowledge Graph cards.

structured-data-example-2You can enhance the appearance and coverage of your website and presence in Search results by first establishing it with Google by adding structured data markup!



This makes it easier for users to recognize your official site and reach information you provide more easily when they search.

This document covers the following site attributes you can enable for search results:

  • Business details like physical location and contact information
  • Marketing details like your official name, logo, and social profile info
  • Site structure information like breadcrumbs, sitelinks, and searchbox

Establish your business details with Google

Google offers a variety of ways to help you provide key business details so that they show up for users in Search results. This section describes how to make your businesses location, official site, and content info available for results, Knowledge Graph cards, and Google Maps.

Add your local business

To claim an existing physical business or create a new one, use Google My Business. Once you verify yourself as the owner of a listing, you can provide and edit your address, contact info, business type, and photos. This enables your local business information to show up in Google Maps and in Knowledge Graph cards.

Google My Business Info is authoritative.

Contact markup on your official website will not overwrite data provided via Google My Business.

Register your website with Search Console

The first order of establishing your website as an official presence is to register it in Search Console. This process verifies the owners and operators of the site. Once you’ve verified your website or app, you can use Search Console to configure how Google displays information about your site, such as your preferred navigational sitelinks, setting your preferred domain, and other site settings.

Provide business contact markup



Enable your company’s contact information to prominently display customer service phone numbers in Google Knowledge Graph cards in some searches with corporate contact markup. Include the contact markup on one page in your official site.

See details in the data type reference for Corporate Contacts to publish markup code for service phone numbers that are national or global in scope.

Automatic contact info. Even if you don’t include contact markup on your page, Google algorithms might find contact information that is publicly available on the web. You can use this markup to override the information Google finds automatically, but you can’t specify not to list a contact number.

Add your site’s name, logo, and social links

You can provide marketing information for your site for broader reach and recognition in Search results.

  • Site name—Use structured data markup on your public website to indicate the preferred name you want Google to display in organic Search results. You can also provide more than one possible name for your site, and let Google Search algorithms choose between them.
  • Site logo—You can specify which image Google should use as your organization’s logo in search results and the Knowledge Graph. To do this, add schema.org Organization markup to your official website that identifies the location of your preferred logo.
  • Social profile links—Use markup on your official website to add your social profile information to Google Knowledge Graph cards in some searches. Knowledge cards can prominently display your social profile information. Google algorithms process the social profiles you specify and then display the most relevant ones in response to users’ queries.

Google only shows verified profiles for sites with a verification process. In some cases, Google algorithms find information that is publicly available on the web. You can use this markup to override the information Google finds automatically, but you can’t specify not to list a social profile.

Enable breadcrumbs


Breadcrumb trails on a page indicate the page’s position in the site hierarchy. A user can navigate all the way up in the site hierarchy, one level at a time, by starting from the last breadcrumb in the breadcrumb trail.

See the examples and property details on the BreadCrumbList data type reference.

Add a sitelinks searchbox for your site

Search users sometimes enter the brand name or URL of a known site or app, only to do a more detailed search once they reach their destination. For example, users searching for pizza pins on Pinterest would type Pinterest or pinterest.com into Google Search—either from the Google App or from their web browser—then load the site or Android app, and finally search for pizza.

To make content searches easier for your users, add just one markup declaration on your home page. If you also have an app that corresponds to your website, add another line of markup so that your app users can search their apps directly from a mobile device following a navigational query. Once we scan your home page and after users perform relevant navigational queries for your property, the search box appears in results.

To set up a sitelinks searchbox:

  1. Install a working search engine on your web site or Android app.

Sitelinks search queries send the user to the search results page for your site or app, so you need a functioning search engine to power this feature.

No search engine for your site? Set one up with Google Custom Search Engine. For creating search capabilities on your Android app, see Search Overview on the Android Developer Site.

  1. Put the schema.org markup on your homepage.

Your home page is the only page that requires markup to specify a Sitelinks search box. See all the elements you need in the Structured Data Testing tool.

  • Wait for Google Search algorithms to identify your site or app as a candidate for a Sitelinks search box.

Test markup for your website:

  1. Open a text file and copy your markup.
  2. Identify the search URL pattern you supplied in the target property for your web page.
  3. Replace the curly braces and everything inside of it with a search query.
  4. Copy this entire string and paste it into a browser to verify that it leads to a valid search results page on your site.

For instance, if your target property is http://www.example-shoestore.com/search?q={searchTerm}, then http://www.example-shoestore.com/search?q=shoes and http://www.example-shoestore.com/search?q=womens should both lead to search result pages on your site about “shoes” and “women’s.”

Test markup for your app:

  1. Use our search query preview tool under App Indexing testing for Android to ensure that a valid query opens up your Android app with expected search results.

This tool is built into the YMYL Schema Markup Plugin – it’s so easy to check your markup on the fly!

  1. As described above, start with the search URL pattern in the target property for your app. Replace the curly braces and everything inside of it with a search query. Copy this entire string into the input box of the preview tool.

The value for the name attribute of the query-input property should match the string that’s inside the curly braces in the target property.

To disable a sitelinks searchbox:

Add the following meta tag to your homepage to disable the appearance of a sitelinks searchbox for your website: <meta name=”google” content=”nositelinkssearchbox” />

The Sitelinks search box will be disabled as part of the normal Googlebot crawling and processing of the page, which can take a few weeks depending on the site and other factors.

Sitelink searchbox markup

See markup specifics and guidelines on the Sitelinks searchbox data type reference.

Troubleshooting your markup

This section describes common approaches to troubleshooting your site enhancement markup.

  • Use the Structured Data Testing Tool to test your markup to make sure properties specify suitable values, such as a correct name, contact info, and logo. Give our system a week to find and update your site details in Search results.
  • Make suggested changes to Knowledge Graph cards.

If you have waited at least one week since your marked-up page was last crawled by Google, report information that you believe is incorrect in a Knowledge Graph card, by clicking the Feedback link at the bottom of the Knowledge Graph card. If you are a recognized authority or the site or entity represented in the Knowledge Graph card, you will see more options for providing specific edits.

Learn more in Request a Change to the Knowledge Graph Card in the Help Center.

Structured data refers to kinds of data with a high level of organization, such as information in a relational database. When information is highly structured and predictable, search engines can more easily organize and display it in creative ways. Structured data markup is a text-based organization of data that is included in a file and served from the web. It typically uses the schema.org vocabulary—an open community effort to promote standard structured data in a variety of online applications.

Structured data markup is most easily represented in JSON-LD format, which stands for JavaScript Object Notation for Linked Data. The following is a simple JSON-LD structured data example you might use for contact information for your company:

<script type=”application/ld+json”>
“@context”: “http://schema.org”,
“@type”: “Organization”,
“url”: “http://www.your-company-site.com”,
“contactPoint”: [{
“@type”: “ContactPoint”,
“telephone”: “+1-702-555-1212”,
“contactType”: “customer service”
}] }

Structured data markup describes things on the web, along with their properties. For example, if your site has recipes, you could use markup to describe properties for each recipe, such as the summary, the URL to a photo for the dish, and its overall rating from users. Recipe Markup In Action

When you provide structured data markup for your online content, you make that content eligible to appear in two categories of Google Search features:

  • Rich results—Structured data for things like recipes, articles, and videos can appear in Rich Cards, as either a single element or a list of items. Other kinds of structured data can enhance the appearance of your site in Search, such as with Breadcrumbs, or a Sitelinks Search Box.
  • Knowledge Graph cards—If you’re the authority for certain content, Google can treat the structured data on your site as factual and import it into the Knowledge Graph, where it can power prominent answers in Search and across Google properties. Knowledge Graph cards appear for authoritative data about organizations, and events. Movie reviews, and movie/music play actions, while based on ranking, can also appear in Knowledge Graph cards once they are reconciled to Knowledge Graph entities.

Common use cases

You can use some or all of our supported structured data types to make your content eligible for a variety of Search features, as described in the Search Features & Experiences guide. In addition, you can review the Data Type Selector to understand which combination of markup is required for specific Search features.

Markup formats and placement

You provide structured data markup in your HTML and AMP pages. The table below lists the supported formats, placement recommendations, and corresponding feature support.

JSON-LD is the recommended format. Google is in the process of adding JSON-LD support for all markup-powered features. The table below lists the exceptions to this. We recommend using JSON-LD where possible.

Format Description and Placement Supported Data Types
JSON-LD (Recommended) JavaScript notation separate from the body of the HTML itself. Markup is placed inside a script tag in the head of the HTML page. The markup does not have to be interleaved with the user-visible text, which makes nested data items easier to express, such as the Country of a PostalAddress of a MusicVenue of an Event. Also, Google can read JSON-LD data when it is dynamically injected into the page’s contents, such as by JavaScript code or embedded widgets in your content management system. All public data types except for Breadcrumbs.
Microdata An open-community HTML specification used to nest structured data within HTML content. Like RDFa, it uses HTML tag attributes to name the properties you want to expose as structured data. All data types
RDFa An HTML5 extension that supports linked data by introducing HTML tag attributes that correspond to the user-visible content you want to describe for search engines. All data types

Testing and publishing your markup

To verify that your markup is well-formed and can be processed by Google, paste the HTML source of your marked-up page (or just the <script> block) into the Structured Data Testing Tool… or just purchase the YMYL Schema Markup Plugin to help you do that.

When Google next crawls the page, its indexing algorithms will process the your markup and make its content eligible to be used in Search results. You can ask Google to crawl the page by following the instructions in Search Console Help. Note that this process can take upwards of a week.

Structured data guidelines

The following guidelines describe general policies on creating high-quality structured data.

Additional type-specific guidelines: Some data types have additional policies that can be found in the Data Type reference for each type. Refer to the specific guidelines for Events, Products (Absolutely HUGE for E-Commerce), Recipes, and Reviews.

Technical guidelines

  • Publish markup on a page on your official website.
  • Use the most specific applicable type and property names defined by schema.org for your markup. The data may be embedded in your webpage using any of the supported formats: JSON-LD, RDFa, or microdata.
  • Mark up all relevant pages. In addition to marking up your canonical pages (such as your desktop URLs), you should also mark up AMP HTML page equivalents. This provides the best experience across devices.
  • Pages with markup must not be blocked to the Googlebot by robots.txt.

Quality guidelines

At Google, our first priority is to help our users find relevant, engaging answers for their search queries. High-quality structured data must not create a misleading or deceptive experience for search users. It should be an up-to-date and accurate reflection of the topic and content already found on the page, such as text, images, and videos. For example:

  • A page about a dinner recipe may use recipe structured data to list the ingredients and describe the cooking steps.
  • Markup should not be used to hide content not visible to users in any form, since it might create a misleading or deceptive search experience. For example, if the JSON-LD markup describes a performer, the HTML body should describe that same performer.

We perform algorithmic and manual quality checks to ensure that structured data meets relevancy standards. In cases where we see structured data that does not comply with these standards, we reserve the right to disable rich snippets for a site in order to maintain a high-quality search experience for our users. Read webmaster guidelines for more details.

Multiple entities on the same page

When you have multiple entity types on a page, we recommend you mark up all entities on that page to help Google algorithms better understand and index your content. For example:

  • A recipe page might have text describing the recipe along with an accompanying video. Each of these types should be marked separately with schema.org/Recipe and schema.org/VideoObject respectively.
  • A category page listing several different products (or recipes, videos, or any other type). Each entity should be marked up using the relevant schema.org type, such as schema.org/Product for product category pages. Marking up just one category entity from all listed on the page is against our guidelines.
  • A video play page might have related videos embedded in a separate section on the page. In this case, mark up the main video as well as the related videos.

Image markup guidelines

When marking up an image URL as a property of a type, make sure that the image actually belongs to the instance of that type. For example, if you mark up the schema.org/image property of schema.org/NewsArticle, the marked-up image must directly belong to that news article.

All image URLs should be crawlable and indexable. Otherwise, we will not be able to display them on the search results page.

Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.


There are easier ways now to incorporate Structured Data into your sites with the YMYL Schema Markup Plugin, and if you’re building a brand new site…simply begin implementing Schema Markup from the onset because it’s automatically applied when using the new YMYL Schema Theme.