YouTube
Does your site carry your videos?
In one sentence
The video site check reads a site's homepage and sitemap pages and reports which pages carry a YouTube video (iframe, click-to-play facade or page-builder widget), whether each shown video is described by a VideoObject node with the four required properties, whether any VideoObject claims a video the page does not show, how many videos appear on more than one page, and, given a channel handle, how many of the channel's videos the site carries.
The site half of the video anchor model: which pages embed YouTube, whether each embed is described by VideoObject schema, how each video is spread across your own pages, and whether the channel’s videos appear on the site at all.
What the site half reads
A search system judges video at the site level as well as per video, and a video’s relevance is built partly from the pages that embed it. So this check reads the homepage and up to 60 pages from the sitemap and answers, per page, whether a YouTube video is shown, whether it is described by VideoObject schema, and how each video is spread across your own pages.
What counts as shown
An iframe embed, a youtu.be link, a lite-youtube element, or a click-to-play facade (a poster image that builds the iframe on click). Page builders that keep the video URL inside an escaped settings attribute are decoded, because the first version of this check read one of those pages as having no video at all.
What counts as described
A VideoObject node with the properties Google lists as required: name, description, thumbnailUrl and uploadDate. A node missing one is reported with the missing property named, never as a pass with a caveat.
The accusatory row
Schema that declares a video the page does not show. Because that row accuses, it is only reported when the page bytes were read directly, and the page and the node are both printed so you can check it by hand.
Spread and thin pages
How many pages each video appears on, pages whose only content is an embed, and, with a channel handle, how many of the channel’s videos appear on the site at all.
Five sites we operate, read the day the check shipped
| Site | Videos shown | VideoObject | What the row said |
|---|---|---|---|
| Reptile shop (the case-study store) | 6 (3 embeds, 3 click-to-play) | 6 | 3 nodes lacked uploadDate; fixed the same day with verified dates, never a placeholder. Now 5 of 5 rows pass. |
| Fencing contractor, Denver | 1 (page-builder widget) | 0 | The video sat inside an escaped data-settings attribute; the detector was extended to decode it. VideoObject still open. |
| Fencing contractor, Lakewood | 0 on 48 pages | 0 | The only youtube hits were a lazy-load stylesheet and a social link. Not a video. |
| Fencing contractor, Arvada | 0 on 34 pages | 0 | No video, no schema, nothing to fix. |
| Tree service, Denver | 0 | 0 | No video on the site. The channel exists; the tie-in does not. |
Two lessons from that table are built into the check. A missing required property is a real defect that a schema validator will not flag, because the node is still valid JSON-LD. And a count of zero is only a finding once the detector has been shown to read the page builder in front of it.
The case study
Per plan
| Plan | YouTube | Also |
|---|---|---|
| Free | Any single video, as often as you like | The full site scan |
| Watch | 1 channel: every upload tallied, plus the site tie-in | 3 domains under record |
| Studio | 3 channels, and the transcript layer through the browser extension | 10 domains |
| Agency | 10 channels, with a per-video change record | 40 domains |
| Network | Every channel you operate | 150+ domains |
Prices and what each tier holds back are on the pricing page. Nothing a plan unlocks changes a measurement.
Read next
Check one video · Check a whole channel · The case study · Schema and entity checks