What does Google say about SEO? /
Quick SEO Quiz

Test your SEO knowledge in 5 questions

Less than a minute. Find out how much you really know about Google search.

🕒 ~1 min 🎯 5 questions

Official statement

Google does not display content in Rich Snippets that is not visible on your page. Make sure to avoid using hidden markup for better visibility of Rich Snippets.
🎥 Source video

Extracted from a Google Search Central video

⏱ 1:02 💬 EN 📅 08/12/2011 ✂ 3 statements
Watch on YouTube →
Other statements from this video 2
  1. Pourquoi les propriétés requises des Rich Snippets font-elles échouer vos enrichissements Google ?
  2. 0:30 Pourquoi Google refuse-t-il d'afficher vos Rich Snippets même bien codés ?
📅
Official statement from (14 years ago)
TL;DR

Google rejects any structured data markup that is not visually present on the page. This rule aims to ensure consistency between what users see and what appears in rich results. In practice, if your Schema.org markup contains information that is invisible to visitors, your Rich Snippets may be disabled or trigger a manual action.

What you need to understand

What does Google mean by "hidden markup"?

Google defines hidden markup as any structured data (Schema.org, microdata, JSON-LD) that describes content visually absent from the page. A classic example is marking a product price of €49 in Schema while the page shows €69, or worse, shows no price at all.

This practice is similar to semantic cloaking. You present one reality to bots and another to users. Google sees this as an attempt to manipulate, even if technically the Schema.org is valid and well-formed.

Why does this rule exist?

Google's logic is simple: Rich Snippets enhance search results with immediately useful information (rating, price, availability, author). If this data does not match what users find once on the site, the experience degrades.

The bounce rate increases, and trust in rich results erodes. Google therefore protects the user consistency between the SERP and the landing page, just as it does with ad landing pages.

How does Google detect these invisible markups?

Algorithms compare the visible DOM (what a standard browser sees, with applied CSS) and data extracted from structured markup. If an important Schema property (price, ratingValue, availability) has no visible textual equivalent, it gets flagged.

CSS hiding techniques (display:none, visibility:hidden, text-indent:-9999px, font-size:0) are all detected. The same applies for white text on a white background or content pushed out of the viewport with position:absolute.

  • Cardinal rule: any critical Schema property must have a visible equivalent to the naked eye on the page
  • Breadcrumbs must appear visibly somewhere, not just in JSON-LD
  • Tagged reviews must correspond to reviews that are actually displayed and readable
  • The FAQ content in Schema must match the visible questions/answers in the HTML
  • Google tolerates minor variations in wording, but not factual discrepancies (prices, dates, names)

SEO Expert opinion

Is this policy applied consistently?

On paper, the rule is clear. In practice, it’s less binary. Many e-commerce sites use dynamically generated JSON-LD with data that appears after user interaction (clicking a product variant, expanding an accordion). Google seems to tolerate these cases as long as the content becomes visible without complex JavaScript.

However, manual actions for misleading markups happen regularly. I’ve seen sites lose their stars in the SERP overnight for marking invisible aggregated reviews. The line between "collapsed content" and "hidden content" remains blurry. [To verify] whether Google applies the same severity to large sites as it does to smaller ones.

What are the problematic edge cases?

Pure JSON-LD raises questions. This format inherently has no direct visual representation in the DOM. Google officially recommends it but requires that the data it contains correspond to visible content elsewhere on the page. It’s paradoxical.

Another gray area is contextual data like the publisher organization, logo, and social media sameAs. This information may not appear on every page. Google seems to accept it if it’s visible somewhere on the site (about page, footer). But no official documentation quantifies this "somewhere".

Attention: Schema testing tools (Rich Results Test, Search Console) do not systematically detect hidden markups. A technically validated markup can still violate this policy.

Should you fear an algorithmic penalty or just a deactivation?

Google never speaks of a ranking penalty for hidden markups, only non-eligibility for Rich Snippets. In practice, losing product stars or FAQ excerpts can reduce CTR by 20-40%, so the indirect ranking impact is real.

Severe cases (fake marked reviews, misleading prices) trigger visible manual actions in Search Console. Let’s be honest: Google treats this as structured spam. The site remains indexed but loses trust for all Rich Results, sometimes for months even after correction.

Practical impact and recommendations

How to audit your existing structured data?

The first step: crawl your site with Screaming Frog or Oncrawl while enabling Schema extraction. Export all critical properties (price, ratingValue, reviewBody, name, description). Then compare this with the actual crawled text content.

Manually test a sample of pages using the inspection mode of the browser. Disable JavaScript, hide the CSS: what remains visible is what Google considers to be "truly there". If your microdata describes elements that disappear, you are in violation.

What technical errors should be prioritized for correction?

Product reviews account for 70% of observed infractions. Many sites markup aggregateRating with calculated average scores but display no visible reviews. Google wants to see individual reviews, not just a number pulled out of thin air.

Another frequent trap: JSON-LD breadcrumbs without a corresponding HTML breadcrumb trail. Even if your navigation is clear, without an explicit visual breadcrumb, the markup can be rejected. Add a real breadcrumb, even if it’s discreet in the footer if your design does not allow it in the header.

What methodology should you adopt for compliance?

Assume that every Schema property must point to a visible DOM element. For JSON-LD data, document the visual correspondence of each important field. If you cannot find a visible equivalent, either add it to the page or remove the property from the markup.

For complex sites with product variants, ensure that the Schema updates simultaneously with the display. If a user selects size M and the price changes, the JSON-LD must reflect this new price, not the default one. Google is increasingly crawling with JavaScript enabled and will detect these inconsistencies.

  • Extract all Schema markups from your priority pages (products, articles, FAQ)
  • Check the CSS visibility of each critical data point (disable JS, inspect the rendered DOM)
  • Remove or make visible any currently hidden content (display:none, visibility:hidden)
  • Test with the Rich Results Test tool AND manually in a browser
  • Monitor Search Console for warnings about "invisible content"
  • Document the Schema ↔ DOM correspondence for each page type
Compliance of structured data requires a perfect consistency between markup and display. Automated tools are not enough: a manual audit combining technical crawling and visual inspection is essential. For complex e-commerce or editorial sites, this compliance can be time-consuming and require delicate trade-offs between design, UX, and SEO constraints. In these situations, enlisting a specialized SEO agency can provide expertise on edge cases tolerated by Google and help avoid missteps that cost months of visibility in SERP.

❓ Frequently Asked Questions

Peut-on utiliser du JSON-LD pour des données qui n'apparaissent pas textuellement sur la page ?
Non, même en JSON-LD, toute propriété importante (prix, note, disponibilité) doit avoir un équivalent visible quelque part sur la page. Le format JSON-LD ne dispense pas de cette obligation de cohérence.
Les avis agrégés sans reviews individuelles visibles sont-ils acceptés ?
Google rejette de plus en plus les aggregateRating sans avis individuels affichés. Il faut montrer au moins quelques reviews réelles pour que le balisage soit éligible aux étoiles en SERP.
Un contenu replié dans un accordéon compte-t-il comme visible ?
Oui, si l'accordéon s'ouvre avec un simple clic HTML/CSS sans JavaScript complexe. Le contenu doit être dans le DOM initial, même s'il est masqué par défaut. Google considère ça comme accessible.
Que risque-t-on concrètement avec des marquages cachés ?
Perte des Rich Snippets pour les pages concernées, voire action manuelle si Google détecte une intention de tromper. Pas de pénalité ranking directe, mais l'impact CTR peut être brutal.
Comment Google distingue-t-il contenu caché volontaire et problème technique ?
Impossible à savoir avec certitude. Google semble tolérer les bugs ponctuels si corrigés rapidement, mais les patterns répétés sur des centaines de pages déclenchent des actions manuelles. L'intention perçue compte.
🏷 Related Topics
Domain Age & History Content Structured Data

🎥 From the same video 2

Other SEO insights extracted from this same Google Search Central video · duration 1 min · published on 08/12/2011

🎥 Watch the full video on YouTube →

Related statements

💬 Comments (0)

Be the first to comment.

2000 characters remaining
🔔

Get real-time analysis of the latest Google SEO declarations

Be the first to know every time a new official Google statement drops — with full expert analysis.

No spam. Unsubscribe in one click.