My site has YouTube thumbnails that when clicked, load a 90% full screen overlay on the page with the youtube video in an iframe. JavaScript creates the iframe and the video is played.

So the videos are not technically embedded on the page until a user has clicked on the video title or thumbnail. The title and thumbnails are technically <a href="video" links with an onclick event that loads them into the overlay iframe player.

Would it be wise for me to add schema and rich snippets to the page for each of the videos that are listed? Each page has roughly 40-50 videos. Can I add schema and snippets for all of these?

I would like to get the videos indexed in Google video search results and want to make sure that this is an acceptable way of using schema/snippets and that I'm in no risk of getting penalized by the bot for using schema when the videos aren't in iframes until clicked.

Here is the schema code I'm looking to use:


<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
  <h2>Video: <span itemprop="name">Title</span></h2>
  <meta itemprop="duration" content="T1M33S" />
  <meta itemprop="thumbnailUrl" content="thumbnail.jpg" />
  <meta itemprop="contentURL" content="http://www.example.com/video123.flv" />
  <meta itemprop="embedURL" content="http://www.example.com/videoplayer.swf?video=123" />
  <meta itemprop="uploadDate" content="2011-07-05T08:00:00+08:00" />
  <meta itemprop="expires" content="2012-01-30T19:00:00+08:00" />
  <meta itemprop="height" content="400" />
  <meta itemprop="width" content="400" />
  <object ...>
    <param ...>
    <embed type="application/x-shockwave-flash" ...>
  <span itemprop="description">Video description</span>

Rich Snippet:

<script type="application/ld+json">
  "@context": "http://schema.org",
  "@type": "VideoObject",
  "name": "Title",
  "description": "Video description",
  "thumbnailUrl": "https://www.example.com/thumbnail.jpg",
  "uploadDate": "2015-02-05T08:00:00+08:00",
  "duration": "PT1M33S",
  "publisher": {
    "@type": "Organization",
    "name": "Example Publisher",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.jpg",
      "width": 600,
      "height": 60
  "contentUrl": "https://www.example.com/video123.flv",
  "embedUrl": "https://www.example.com/videoplayer.swf?video=123",
  "interactionCount": "2347"
  • For reference, here is Google's documentation about video schema markup and how it uses that data for video search: developers.google.com/search/docs/data-types/video Commented Feb 23, 2018 at 9:38
  • I’m confused. Why did you label the JSON-LD example with "Rich Snippet" and the Microdata example with "Schema"? -- In case there is a misunderstanding: rich snippets are special search results in search engines like Google Search. You can’t "add" a rich snippet, you can just provide Schema.org markup that is necessary for a specific rich snippet and hope that the search engine enables the rich snippet for your page in their results.
    – unor
    Commented Feb 23, 2018 at 23:11
  • Maybe try to add the review schema markup, this will probably force google to think that the video is related to a product which you are reviewing Commented Jul 5, 2018 at 10:01

1 Answer 1


I see nothing, what would be saing against structured data for your videos. You page with videos looks like a kind of curated catalog, so you have all arguments to markup it with structured data.

With indexation it could be a bit complexer, because Google already knows all these videos - they are probably hosted at YouTube, correct?

If you really want to get them indexed on your page... I would invest some more afforts in it and create some unique content for each video - like custom descriptions.

Yes, i know - such file amount as you mentioned is not a childrens game, but, i mean, you should give Google a cause to mean this page is unique and useful. Some unique descriptions, some external backlinks - and you are done.

Maybe its a good idea too - to implement some comments (reviews) on the video page.

  • Thank you for the ideas @Evgeniy - I do have a way to make good, custom descriptions that I was thinking of implementing with this. You have some good insight to think about
    – Michael d
    Commented Feb 23, 2018 at 11:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.