Official statement
Google recognizes three mechanisms for geographically restricting video distribution: video sitemaps, mRSS, and schema.org. The first two allow for blocking or permitting specific countries, while schema.org only supports permissions. An SEO practitioner must choose the right format based on their geographical distribution strategy, knowing that improper configuration can render content invisible in certain markets.
What you need to understand
What formats allow for declaring geographical restrictions for videos?
Google accepts three distinct formats for signaling geographical restrictions: video sitemaps, mRSS feeds, and schema.org markup. Each adheres to different technical architectures.
Video sitemaps use a specific XML tag that defines a relationship (allow/deny) and a list of ISO country codes. mRSS feeds operate on the same principle but in an enriched RSS format. Schema.org, on the other hand, only allows positive statements using the regionsAllowed property.
Why does schema.org only manage permissions?
This technical asymmetry reflects a fundamental philosophy: schema.org describes what is, not what is not. JSON-LD markup aims to enhance visible content, not to manage complex restrictions.
In practice, if you need to block specific countries rather than just allowing a limited list, you will have to rely on video sitemaps or mRSS. This is an architectural choice that directly impacts your technical stack.
Which mechanism to choose based on your infrastructure?
A site with proprietary video hosting will often prefer using video sitemaps for their compatibility with Google Search Console tools. Platforms like YouTube or Vimeo manage these restrictions natively on the player side.
Modern CMSs that automatically generate structured markup sometimes integrate schema.org without the ability to inject detailed video sitemaps. In this case, you will need to either enrich the generation pipeline or accept the limitation to positive permissions.
- Video sitemaps: standard XML format, compatible with Search Console, supports allow/deny
- mRSS: enriched RSS feed, useful for aggregators, same logic as sitemaps
- Schema.org: in-page JSON-LD markup, only regionsAllowed, no blocking
- ISO country codes: two letters required (FR, US, DE...), no alternative formats
- Allow/deny relationship: mutually exclusive in sitemaps and mRSS, no hybrid logic
SEO Expert opinion
Is this statement consistent with observed practices in the field?
Google documents here a fragmented technical reality that many practitioners find out the hard way. The three formats are not interoperable, and a conflict between schema.org and video sitemaps creates unpredictable behaviors.
In recent audits, I found that videos with restrictive regionsAllowed in schema.org but no sitemap declarations still appeared in SERPs outside the allowed zone. Google seems to prioritize player signals (player embed restrictions) over markup declarations. [To be verified] if this hierarchy is officially documented.
What grey areas does this statement leave unresolved?
Google does not specify how conflicts between formats are resolved. If a video sitemap blocks France via deny="FR" but schema.org lists FR in regionsAllowed, which signal takes precedence? The lack of a clear answer is problematic.
Another blind spot: dynamic restrictions based on the visitor's IP versus static declarations. A player that blocks geographically on the JavaScript side without declaring these restrictions in the markup can create a gap between SEO promise and actual experience. Google could theoretically penalize this kind of unintentional cloaking.
Should you always declare geographical restrictions?
No, and it is a common mistake to over-document. If your video content is globally accessible without restriction, do not declare anything. The absence of a restriction tag amounts to global distribution.
Adding an exhaustive regionsAllowed with 195 country codes adds no value and weighs down the markup. Only document actual restrictive cases, where you need to explicitly block or limit access for rights, compliance, or business strategy reasons.
Practical impact and recommendations
How to correctly implement restrictions based on your CMS?
On WordPress with classic SEO plugins, you will often need to manually intervene to add video sitemap tags. Yoast and RankMath generate schema.org VideoObject but rarely the complete geographical restrictions.
For custom sites, create a dedicated video sitemap file (/video-sitemap.xml) with structured entries including the
What configuration errors should you absolutely avoid?
Never mix allow and deny in the same tag. The spec is clear: one video entry = one relationship = one consistent list of countries. If you need to allow 10 countries and block 180 others, choose allow with the list of 10.
Another classic pitfall: using non-ISO country codes ("FRA" instead of "FR", "UK" instead of "GB"). Google silently ignores these malformed entries without error notification. Always validate with ISO 3166-1 alpha-2 standards.
How to verify that your restrictions are being respected?
Use Google's rich results testing tool to validate your schema.org. For sitemaps, submit them through Search Console and check the "Videos" section which indicates the number of processed entries and detected errors.
Test real displays with geolocated queries via VPN: your videos should appear in the SERPs of allowed countries and be absent elsewhere. This manual validation remains the only reliable way to confirm that the configuration works end-to-end.
- Audit your current technical stack: what format is already in place?
- Choose video sitemap/mRSS if you need to block specific countries
- Use schema.org only for short permission lists
- Validate ISO 3166-1 alpha-2 country codes in all declarations
- Submit video sitemaps in Search Console and monitor errors
- Test SERP displays from multiple target geolocations
💬 Comments (0)
Be the first to comment.