Collect the ID, URL, and name of your content

All the entities in your catalog require the following properties:

Example of @id, url, and name:

"@id": "http://www.example.com/episode/video/432432432",
"url": "http://www.example.com/episode/video/432432432",
"name": "My example episode",

Identifier

An identifier (@id) must meet the following requirements:

  • Globally unique across your catalog
    • For instance, don't use the same @id for a TVSeries and a TVSeason.
  • Static
    • You cannot change @id later.
  • In the form of Unified Resource Identifier (URI)
    • If your content's local identifier (ID) is not in a URI format, prepend your domain to the ID to satisfy this requirement; e.g, if your content's ID is 1234abc and your domain is https://example.com, @id can be https://example.com/1234abc.
    • @id does not have to be a working URL; it only needs to be in a URI format.
    • The domain used in @id (e.g., https://example.com) must be owned by your organization.

Because an entity's url meets all the requirements as an identifier (i.e., globally unique, static, and in the form of a URI), we recommend you use an entity's url as @id.

Canonical URL

A canonical URL (url) helps Google accurately reconcile the content in your catalog with the content in Google's databases.

"A canonical URL is the URL of the page that Google thinks is most representative from a set of duplicate pages on your site. For example, if you have URLs for the same page (for example: example.com?dress=1234 and example.com/dresses/1234), Google chooses one as canonical." (Source: Consolidate duplicate URLs)

The following are the requirements for the canonical URL:

  • url must be globally unique.
  • url must contain a working canonical URL that Google can crawl.
  • (Listen Actions only) url needs to point to a content description page that is not blocked by a paywall.

Collect the ID, URL, and name

Do the following:

  1. Gather the names of the content in your catalog.
  2. Identify the canonical URLs of the content. (We recommend you use the content's url as its @id.)