On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

embedUrl

embedUrl · Recommended

Appears in

VideoObject

What is it?

embedUrl is the URL of a video player that can play a specific video. It points to the embeddable player, not the page containing the video. Google uses it to verify and render video content directly from search results.

Why this matters for AEO

When a user asks "show me how to set up Webflow interactions," an AI engine with video capability needs a player URL to embed or preview the video in its response. embedUrl provides that direct player reference. Without it, the AI can only link to the page rather than surface the video itself. AI engines that build video answer cards rely on this field or contentUrl to confirm the video is playable.

What the specs say

Schema.org: URL. A URL pointing to a player for a specific video. In general, this is the information in the src element of an embed tag and should not be the same as the content of the loc tag. schema.org/embedUrl

Google: Recommended. "A URL pointing to a player for the specific video. Don't link to the page where the video lives; this must be the URL of the video player itself." Google Video Structured Data

Google requires either embedUrl or contentUrl (or both) for video rich results.

How to find your value

  • YouTubehttps://www.youtube.com/embed/VIDEO_ID
  • Vimeohttps://player.vimeo.com/video/VIDEO_ID
  • Wistiahttps://fast.wistia.net/embed/iframe/VIDEO_ID
  • Self-hosted — The src attribute of your <iframe> or <embed> tag
  • Webflow — Inspect the video embed element and copy the iframe src

Format and code

Expected type: URL (string)

The URL must point to the player, not the page. For YouTube, use /embed/ not /watch?v=.

{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Webflow CMS Tutorial",
  "embedUrl": "https://www.youtube.com/embed/dQw4w9WgXcQ",
  "thumbnailUrl": "https://img.youtube.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
  "uploadDate": "2024-03-10T12:00:00Z",
  "description": "Complete walkthrough of Webflow CMS collections"
}

Valid patterns:

  • YouTube: https://www.youtube.com/embed/VIDEO_ID
  • Vimeo: https://player.vimeo.com/video/VIDEO_ID
  • Wistia: https://fast.wistia.net/embed/iframe/VIDEO_ID

Invalid: The page URL where the video is embedded (e.g., https://example.com/blog/my-video-post). This is a common mistake. The embed URL must load only the player.

Webflow implementation

Static pages

In Page Settings > Custom Code > Head Code, add the VideoObject JSON-LD with embedUrl set to the iframe src from your video embed. Inspect the embed element on your published page to find the correct player URL.

CMS template pages

If videos vary per CMS item, create a Plain Text CMS field for the embed URL. Copy the player URL (not the page URL) for each item. Reference it in your JSON-LD:

"embedUrl": "{{wf {&quot;path&quot;:&quot;video-embed-url&quot;,&quot;type&quot;:&quot;PlainText&quot;} }}"

In Schema HQ

The embedUrl field extracts the embed URL from video elements on the page and maps it to embedUrl automatically. It validates that the URL points to a known player format and flags page URLs mistakenly used as embed URLs.

Real examples

Hotstar uses the page URL as the embed URL (platform-specific player):

{
  "@type": "VideoObject",
  "name": "Action Recap: Pakistan vs India",
  "embedUrl": "https://www.hotstar.com/in/sports/cricket/asia-cup-2023/708507/match-clips/action-recap-pakistan-vs-india/1540024271"
}

Source: hotstar.com

TED Talks does not include embedUrl in their VideoObject but provides contentUrl and url instead. TED's embed format would be https://embed.ted.com/talks/VIDEO_SLUG.

Source: ted.com

Related fields

  • contentUrl · Direct link to the video file bytes
  • thumbnailUrl · Preview image for the video
  • name · Video title displayed in rich results
  • uploadDate · When the video was first published
  • url · The page where the video lives

FAQ

What is the difference between embedUrl and contentUrl?

embedUrl points to a video player (an iframe-embeddable URL that loads a player interface). contentUrl points to the raw video file (e.g., an .mp4 file). Google requires at least one of them for video rich results. Most sites use embedUrl because video platforms rarely expose direct file URLs.

Can I use the YouTube watch URL as embedUrl?

No. https://www.youtube.com/watch?v=VIDEO_ID is a page URL, not a player URL. Use the embed format: https://www.youtube.com/embed/VIDEO_ID.

Is embedUrl required for video rich results?

Not strictly. Google requires either embedUrl or contentUrl. If you provide contentUrl pointing to the actual video file, embedUrl is optional. In practice, most implementations use embedUrl because it is easier to obtain.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us