Official statement
Other statements from this video 8 ▾
- 5:44 Pourquoi Google crawle-t-il vos pages sans les indexer ?
- 12:24 Faut-il vraiment mettre à jour son sitemap à chaque nouvelle page ?
- 15:08 Faut-il vraiment surveiller et désavouer tous vos liens entrants spammy ?
- 16:44 Le cross-linking interne pose-t-il des problèmes de SEO ?
- 17:41 Faut-il encore utiliser rel=next/prev pour la pagination en SEO ?
- 17:48 Les redirections 302 peuvent-elles transférer du PageRank comme les 301 ?
- 20:50 Un score parfait sur web.dev améliore-t-il vraiment votre classement Google ?
- 34:01 La personnalisation de contenu peut-elle vraiment booster votre référencement naturel ?
John Mueller suggests using the expirationDate field in VideoObject JSON-LD structured data to signal to Google not to display certain videos in search results, especially when a page does not actually contain the referenced video. This technique allows for bypassing indexing issues without physically removing structured data tags. Beware: this approach may create a disconnect between your structured data and the actual content of your pages.
What you need to understand
Why does Google suggest using an expiration date for videos that don't exist?
The context is simple yet revealing: some sites automatically generate VideoObject structured data, sometimes for pages where the video has been removed, never existed, or is no longer accessible. Google detects these inconsistencies through its tools (Search Console, video reports) and flags them as video sitemap errors.
Rather than asking webmasters to clean up their templates or condition the display of structured data based on the actual presence of a video, Mueller proposes a workaround: set an expirationDate earlier than the current date. Technically, this signals to Google that the video is no longer valid and should not appear in enriched results.
What is the reasoning behind this recommendation from Google?
Google prioritizes technical flexibility over semantic accuracy here. The expirationDate is typically meant to indicate that video content has a limited lifespan — a live event, a temporary promotion, or a time-limited broadcast.
By misusing this field to hide non-existent videos, Google implicitly acknowledges that many sites struggle to maintain a perfect consistency between their structured data and actual HTML content. It's a pragmatic concession, but it also opens the door to ambiguous practices.
In what specific scenarios does this technique apply?
The typical use case: an e-commerce site that generates VideoObject JSON-LD for all its product pages through a global template, but where only 30% of products actually have a demonstration video. Instead of modifying the template's logic to condition the display of structured data, the developer can add a past expirationDate for products without a video.
Another common scenario: media sites that have removed videos for rights or moderation reasons but maintain the page structure with an empty video space or replaced by a static image. Using expirationDate prevents Google from displaying a misleading rich result pointing to a video that no longer exists.
- The expirationDate becomes a tool for error management rather than a semantic marker of real lifespan.
- This approach does not eliminate errors in Search Console — it masks them for the user by preventing display in SERPs.
- Google does not penalize this practice, but it creates a technical debt: your structured data no longer accurately reflects your content.
- If using this method on a large scale, document it clearly in your processes to avoid confusion during future audits.
- There is no guarantee that Google won't change its interpretation of expirationDate in the future — it is a patch solution, not a clean architecture.
SEO Expert opinion
Does this recommendation align with the structured data principles advocated by Google?
Let's be honest: no, not really. Google has been reiterating for years that structured data must accurately reflect the visible content of the page. Using expirationDate to hide non-existent videos is diverting a field from its original semantic purpose.
The issue is that Mueller presents this solution as an acceptable workaround rather than a temporary stopgap. This indicates that Google prefers an imperfect but controlled indexing over a complete cleanup of structured data — which speaks volumes about the actual difficulties webmasters face in maintaining strict technical consistency. [To verify]: no official documentation confirms that this practice is 'recommended' in the normative sense — Mueller suggests it, which does not make it an official best practice.
What risks does this approach pose for indexing and SEO performance?
The first risk: you create a permanent gap between your structured data and your HTML content. If Google cross-references this inconsistency with other signals (high bounce rates on pages that are supposed to contain a video, abnormally short reading times), it could ultimately interpret this as misleading content.
The second, more technical risk: if you use this method by default across hundreds or thousands of pages, you lose Search Console visibility on real video sitemap errors. Alerts become noise, and you risk missing real issues — such as a video that is actually present but improperly marked up, for instance.
In what situations should this technique never be used?
If you manage a media site, a video platform, or a site where video traffic is a strategic lever, this solution is a disaster. You sacrifice your video rich results — one of the most effective formats in terms of CTR — to avoid markup errors.
Similarly, if you are in the early stages of launching a video content strategy, using expirationDate by default essentially disables your visibility before you've even started. It's better to properly condition the display of VideoObject in your templates rather than marking everything as expired and hoping it goes unnoticed.
Practical impact and recommendations
What should you do if you receive video sitemap errors in Search Console?
First step: audit your affected pages. Open the URLs listed in the error report and check if they actually contain a user-readable video. If the video exists but is not detected by Google, the issue lies with the markup or embed format, not the expirationDate.
If the video does not actually exist — a common case with generic templates or poorly configured CMS imports — you have two clean options: (1) condition the display of the JSON-LD VideoObject on the actual presence of a video in the DOM, or (2) completely remove the video structured data from those pages. The expirationDate is a last resort solution when technical redesign is not feasible in the short term.
How to correctly implement expirationDate in VideoObject structured data?
The expirationDate field expects a date in ISO 8601 format. If you want to signal to Google that a video is no longer valid, set a date earlier than today — for example, "2020-01-01T00:00:00Z" for content that never had a video or whose video has been removed.
Never set an expirationDate in the future if your goal is to hide the video: Google will interpret that the content is still valid until that date. If you have temporary videos (live events, limited promotions), use expirationDate for its legitimate purpose — it enhances the relevance of your enriched results.
What mistakes should be avoided when using this technique?
Classic mistake: applying a global expirationDate to all your videos by default, including those that are actually present and performing well. This then loses all the benefits of video rich results in SERPs — thumbnails, displayed duration, privileged positions in video carousels.
Another pitfall: failing to document this logic in your technical specifications. Six months later, a developer or an SEO revisits the project, sees expirationDate everywhere, and wrongly thinks your videos are actually expired. This can lead to erroneous decisions — removal of still-valid content, unnecessary redesigns, confusion during SEO audits.
- Audit the pages flagged in Search Console to verify the actual presence of videos
- Condition the display of the JSON-LD VideoObject based on the presence of a video tag in the HTML
- If redesign is impossible in the short term, add expirationDate in ISO 8601 format with a past date
- Document this logic in your technical specs and SEO processes
- Monitor the impact on your video rich results in Search Console (Enhancements section > Videos)
- Plan a technical cleanup in the medium term to eliminate this debt
❓ Frequently Asked Questions
Utiliser expirationDate pour masquer des vidéos inexistantes est-il considéré comme du spam par Google ?
L'expirationDate résout-elle les erreurs de sitemap vidéo dans Search Console ?
Peut-on utiliser expirationDate sur des vidéos réellement présentes mais temporaires ?
Quel format de date utiliser pour expirationDate dans VideoObject JSON-LD ?
Faut-il supprimer complètement les données structurées VideoObject si la vidéo n'existe pas ?
🎥 From the same video 8
Other SEO insights extracted from this same Google Search Central video · duration 56 min · published on 05/02/2019
🎥 Watch the full video on YouTube →
💬 Comments (0)
Be the first to comment.