Skip to contentSkip to main navigation Skip to footer

JSON-LD Video Schema

Squirrly SEO JSON-LD Video Schema screen on a laptop

Squirrly SEO adds a VideoObject schema to a page when its JSON-LD type is Video, using the first video it finds in the content. You pick Video for one page in the SEO Snippet, or for a whole post type in Squirrly > Optimize > Automation.

Google reads the VideoObject to show the page as a video result. The general JSON-LD settings are in JSON-LD Structured Data.

Which video Squirrly picks

Squirrly reads the page content after you save it, so a video pasted into a post is found on the next update. It stops at the first match, in this order:

OrderWhere the video isThumbnail used
1The ACF field _sq_video, when Advanced Custom Fields is activeThe YouTube thumbnail for YouTube links, otherwise the first image of the post
2A YouTube embed (youtube.com/embed/... or youtu.be/...)The first image of the post
3A YouTube link (youtube.com/watch?v=...)The YouTube thumbnail of the video
4A Wistia videoThe first image of the post
5A video file in the content, such as .mp4, .mov or .wmvThe first image of the post

A page with none of these gets no VideoObject, even with Video selected.

What goes into the schema

Schema propertyWhere it comes from
nameThe SEO title of the page, cut at JSON-LD Title Length
descriptionThe meta description, cut at JSON-LD Description Length
uploadDateThe publish date of the post
thumbnailUrlThe thumbnail from the table above
embedUrlThe video URL
publisherYour Organization from Rich Snippets > Company

The title and the description are the ones in the Meta Tags tab of the SEO Snippet, so change them there.

Set Video for one page

  1. Open the page in the editor and scroll to the SEO Snippet box, or open it from Bulk SEO.
  2. Go to Rich Snippets.
  3. Select Video in Schema Types. Hold Control (Command on a Mac) to keep the types already selected.
  4. Click Save.
  5. Click Validate JSON-LD to check the video in the Google Rich Results Test (see Validate the JSON-LD).

With the Advanced Pack

The Advanced Pack replaces the list with Add New Schema, and a Video form can also be saved as a reusable schema. Pick Video and you get a form you can change field by field:

FieldFilled by default withRequired
Headline{{title}}Yes
Description{{excerpt}}No
Upload Date{{date}}Yes
Content URL{{video}}, the video found in the contentYes
Embed URLEmptyNo
DurationEmpty, in ISO 8601 formatNo
ViewsEmptyNo
Video Thumbnail{{image}}Yes
ClipName, Start Offset, End Offset and Url of a part of the videoNo

A Video schema missing a required value isn’t published, and the list says “Not published yet – Google needs:” followed by the missing fields.

Set Video for a whole post type

  1. Go to Squirrly > Optimize > Automation.
  2. Click the post type in Automation – Configurations.
  3. Check that Load JSON-LD Structured Data is on.
  4. Add Video in JSON-LD Type.
  5. Click Save Settings.
Squirrly SEO Automation Load JSON-LD Structured Data switch and JSON-LD Type field
The JSON-LD Type field in Automation, where Video is one of the choices.

Do this only for a post type where every page has a video, such as a custom post type for recipes with a cooking video. Automation explains the other switches on that tab.

Advanced Custom Fields plugin integration

Use an ACF field when the video isn’t in the content, or when you want a different video in the schema.

  1. In ACF, add a field with the field name _sq_video to the post type.
  2. On each post, paste the URL of the video in the new field.
  3. Set the JSON-LD type of the post to Video and update the post.

The ACF field comes before any video in the content. For a YouTube watch link, Squirrly uses the YouTube thumbnail of that video.

Troubleshooting

The VideoObject is missing from the page

Squirrly found no video it can read. Check that the video is in the content as one of the formats in the table, then update the post.

The thumbnail is the wrong image

For embeds and video files, Squirrly takes the first image of the post. Set the featured image, or use a YouTube watch link in _sq_video.

“JSON-LD is disable for this Post Type”

Turn on Load JSON-LD Structured Data for that post type in Squirrly > Optimize > Automation.

Frequently asked questions

Does Squirrly read Vimeo videos?

Not automatically, so paste the Vimeo URL in the _sq_video ACF field or in Content URL with the Advanced Pack.

Can a page have Video and Article at the same time?

Yes, select both types and Squirrly prints both schemas in the same @graph.

Which video is used when a post has several?

The first one Squirrly finds, in the order of the table above.

Was This Article Helpful?

Before you leave

Future of AEO GEO and AI Search!

Free Now. Free Forever.

It’s time to stop orbiting SaaS.

Be the Meteor.

10 Elite Tools. 1 Stack.