---
title: Auto-fill Video schema from first YouTube video
url: "https://www.seopress.org/support/guides/auto-fill-video-schema-from-first-youtube-video/"
lang: en-US
updated: 2026-05-26
---

# Auto-fill Video schema from first YouTube video

## What this feature does

When you enable this option, SEOPress detects the first YouTube video embedded in the content of a post, page, or custom post type, and uses it to automatically populate the Video (`VideoObject`) structured data on that URL.

Instead of opening each post to copy the video title, description, thumbnail URL, upload date, and duration into the Video schema metabox, SEOPress reads those values from the YouTube video itself and outputs a valid `VideoObject` JSON-LD block in the page source.

The feature only acts on the first YouTube video found in the content. If a post contains several embeds, the others are ignored for schema purposes.

## Why Video schema matters

`VideoObject` is the structured data type Google uses to understand video content on a web page. When the markup is valid and complete, Google can:

- Display the video as a rich result in search.
- Show a thumbnail next to the standard blue link.
- Surface the page in the Videos tab and in Discover.
- Index key moments and clips when the relevant properties are present.

Without `VideoObject` markup, a page that embeds a video is still indexable, but search engines have to infer the relationship between the page and the video on their own. Explicit structured data removes that ambiguity.

## Requirements

Before enabling the feature, check that:

- You are running [SEOPress PRO](https://www.seopress.org/wordpress-seo-plugins/pro/) (>= 9.9).
- Your content contains at least one YouTube embed (block embed, oEmbed URL on its own line, or iframe pointing to `youtube.com` or `youtu.be`).
- Your site can make outbound HTTP requests to the YouTube oEmbed endpoint and to YouTube thumbnail URLs. Hosts that block outbound requests will prevent SEOPress from fetching the video metadata.

## How to enable it

1. In the WordPress admin, go to **SEO, Pro, Structured Data Types **tab.
2. Enable **Auto-fill Video schema from first YouTube video**.
3. Save changes.

From this point on, any post matched by that rule and containing a YouTube embed will output a `VideoObject` JSON-LD block on the front end.

## Which properties are populated

When the feature runs, SEOPress attempts to fill the standard `VideoObject` properties:

- `name`: the YouTube video title.
- `description`: the YouTube video description.
- `thumbnailUrl`: the high-resolution thumbnail served by YouTube.
- `uploadDate`: the publication date returned by YouTube.
- `duration`: the runtime in ISO 8601 format (for example, `PT4M13S`).
- `contentUrl` and `embedUrl`: the canonical YouTube URLs.

If YouTube does not return a given value, SEOPress leaves that property out rather than emitting an empty string.

## Verifying the output

After saving a post, verify that the schema is rendered correctly:

1. Load the post on the front end.
2. View the page source and search for `"@type":"VideoObject"`. You should see one block with the properties listed above.
3. Run the URL through the [Rich Results Test](https://search.google.com/test/rich-results) and confirm that the Video result is detected with no errors.
4. If you use Google Search Console, monitor the **Videos** report over the following weeks to confirm that the URLs are eligible.

If `VideoObject` is missing on the front end, check that the post actually contains a YouTube embed, that the schema rule applies to the post type, and that nothing on the server is blocking requests to `youtube.com`.

## When to keep filling fields manually

The automatic feature is a productivity tool, not a replacement for editorial judgment. There are cases where you should still write the fields by hand:

- The YouTube title is generic or clickbait, and you want a description aligned with the page topic.
- The first YouTube embed in the content is not the primary video of the page (for example, it appears in a sidebar or a related-content block above the real subject).

In all these cases, fill the relevant fields in the Video schema metabox and let SEOPress merge them with the rest of the fetched data.

## Common questions

**Does this feature work with Vimeo, Wistia, or self-hosted videos?** No. The current implementation is scoped to YouTube. For other providers, fill the Video schema metabox manually.

**What happens if I change the embedded video later?** On the next save of the post, SEOPress re-reads the first YouTube embed and refreshes the auto-filled values. Manually filled fields are kept.

**Will it slow down my site?** The lookup happens at save time, not on every front-end request. The rendered JSON-LD is cached with the post, so visitors do not pay any latency cost.
