Mark Up Your Content Items

When you use structured data to mark up content, you help Google
better understand its context for display in Search, and
you achieve better distribution of your content to users from Search. You do this by
marking up content properties and enabling actions where relevant. This makes
it eligible for inclusion in rich results. For more information about rich results, see About Search Features.
For some content types, it allows users to engage directly with
your content right from Search.

This markup is also the first step to making some content eligible for lists and
host-specific list previews. See Mark
Up Your Lists for more details.

Qualifying content types

A variety of content types qualify to appear
in rich results. CreativeWork
is a schema.org type definition that applies to qualifying content produced for reading,
viewing, listening or other consumption, such as news articles, recipes,
and videos. Other content types, such as products and
local business listings, belong to the commerce category, which is a custom category
we use to describe schema.org types generally intended for retail purposes.

This remainder of this document describes ways to implement markup to enable
features for these types. For the actual markup specification, see the
Creative Works (starting with Article)
and Commerce section (starting with Local
Business) in the reference for each type.

Mark up your content properties

Identify the data type from the table above that represents your content, and
navigate to the markup reference for that type to find the required and
recommended properties for that type.

You can add markup for multiple content types into a single HTML or AMP HTML
content page. For example, your news article
might also contain a video, so you
could add markup for both types to make your content page eligible for both
the top stories carousel or rich results for video. For more information, see
About AMP on Google Search.

Create a block of markup containing, at minimum, the required structured data
properties for the visual presentation you want to enable in Search.

We recommend you also mark up all available properties for the best enhanced
presentation of your content in Search. The data-type reference contains many
examples of markup you can customize.

Example Recipe Markup

Insert this markup into each content page you wish to make eligible for a
feature.

If a feature requires AMP HTML, this means that the markup must be placed
into the content page.

This helps you verify that your markup is valid for the features you wish to
enable for your content.

Provide actions

When users search Google for a movie or TV show, they might be interested in actually
taking action on that content—for example, watching the movie clip on their mobile
device, or booking a reservation at your restaurant. If your site or app can handle such
actions, then structured data markup can tell Google which actions you handle and for what
items. Google can then send such users along to your site or app.

Pilot Feature. Actions are currently in partner-only
mode for Music, TV & Movie,
and Local Business (orders and reservations).
If you have video content that you are able to stream to users, please register your interest
in implementing this feature using the forms referenced above.

How does it work?

Structured data markup for content that enables actions consists of two broad
categories of markup:

Content markup—describes the content itself, starting with
high-level properties and then properties for the sub-type. For example, all
TV & Movies content uses common properties such as name,
URL, and startDate. Beyond that, other properties provide further
refinements, such as whether the TV content is part of an episode, a series, or a season.

Action markup—defines action properties, starting with required
action properties for most content, such as the type of action the content supports, like
a WatchAction or an OrderAction. Other required action properties
include elements from the target container, like the platform on which the link
to the content will function, such as an Android or iOS app. From there, you can provide
further action refinements, such as availability conditions for when the action will work.

The data type reference for each eligible type lists the properties for these
categories of content and their actions.

Google does not guarantee that your structured data will show up in search results even if structured data
is marked up and can be extracted successfully according to the testing tool. Here are some reasons
why:

The structured data is not representative of the main content of the page or potentially misleading.

The structured data is incorrect in a way that the testing tool was not able to catch.

The marked-up content is hidden from the user.

Create action markup

The best way to create action markup is to design a specification for your
content, and create a markup template or framework from that specification.
Then, for each instance of that content, supply values to your template and
insert the resulting markup into the HTML page. For example, you’d embed markup
in your landing page for an available movie, such as
http://www.example.com/movies/forrest_gump.
The following steps show a basic process you can follow for designing and
implementing action markup.

Determine the relevant content properties for your content.

First, start with your basic data type, such as TV
& Movies, or Local Business. Then,
determine further refinements for your offering, such as whether you
are making TV content available only per episode, or whether you are offering a
subscription to a season. Assemble the relevant fields for your spec.

Determine the markup for the action itself.

All action types have required properties, so you’ll want to define those.
You can find the list of required actions in the table for each action (such as WatchActions). In addition to required action properties, you might also supply
sub-category properties, like ReserveAction or OrderAction properties for businesses.

Specify the target correctly.

A target is a child of potentialAction that specifies all the elements and values
necessary to support the connection between the user’s intent and your content’s response. When
supplying the link to the content via the urlTemplate, use a fully-qualified URL
to a specific piece of content on a website or an Android or iOS native app. You should also
explicitly specify the platforms that support each URL using the potentialAction.target.actionPlatform
property. For details on supplying links to your app content and providing URL associations
between your app and your site, see the Firebase documentation on
App Indexing.

Design a template.

Use any of the examples available from the reference documentation for your
content type. These examples load directly into the structured data testing
tool for easy modification and verfication.

Insert the markup into your page.

Once you add structured data to your site's content, Google will discover it the next time
we reprocess your site (it may take some time for rich results (previously known as rich snippets) to appear in search results,
if we do choose to display rich results for your site).

Test your markup using the Structured Data Test Tool.

Do this during development by pasting the markup itself into the tool. After
you publish your page, you can supply the URL to your page to verify your
markup a second time.