Official statement
Other statements from this video 28 ▾
- 1:05 Do Google’s style guides really influence your site’s SEO ranking?
- 1:05 Do Google's developer style guides really influence your SEO?
- 2:19 Cache vs. Similar on Google: How does this distinction impact your SEO strategy?
- 2:19 Are you making the most of Google’s cached versions and similar pages?
- 4:55 Why does it take months for content improvements to affect ranking?
- 4:58 How long does it really take for Google to reassess the quality of content?
- 6:24 Does brand popularity really affect Google ranking?
- 6:25 Does brand popularity really influence Google rankings?
- 9:44 Should you delete or noindex duplicate content flagged by Panda?
- 10:46 Does precise anchor text really boost your SEO more than a generic anchor?
- 11:20 Is loading speed really a ranking factor or just an SEO myth?
- 13:20 Is loading speed truly a decisive SEO ranking factor?
- 15:28 Is hidden content in tabs truly indexed in mobile-first?
- 17:35 How does Google really index identical products across multiple URLs?
- 19:33 Do you really need to contact webmasters before disavowing toxic backlinks?
- 20:32 Should you really use the disavow tool to handle toxic backlinks?
- 24:17 How does Google really rank a brand's social media pages in its search results?
- 26:56 Does mobile indexing really work with separate m-dot and dynamic sites?
- 27:41 Does mobile-first indexing really treat all types of mobile sites the same way?
- 29:02 How does Google actually adjust your rankings in real time?
- 29:09 Do Google's algorithms really work in real-time?
- 30:18 Why does the Search Console only show a fraction of your actual backlinks?
- 38:51 Can bad backlinks really harm your website?
- 39:53 Are PBNs truly detectable by Google or just a risky gamble?
- 48:31 Should you really ignore page numbers in your URLs for pagination?
- 50:34 Should you really prioritize NO-NO over NO-NB for Norwegian hreflang?
- 52:37 Should you still worry about URL escaping for Google’s JavaScript crawl?
- 57:17 Is it true that Google indexes all website JavaScript?
Google only indexes tabbed content if it loads with the initial page. If content requires a user click to load dynamically, it will not be considered for mobile-first indexing. This technical distinction directly affects the visibility of pages using tabbed interfaces, a very common UI pattern on mobile.
What you need to understand
What’s the difference between content loaded with the page and content loaded on click?
The distinction is technical and important. Content loaded with the page means that the complete HTML is present in the DOM upon initial loading, even if visually hidden by CSS (display:none, visibility:hidden, or CSS transformation). Googlebot can read it immediately.
In contrast, content loaded on click requires JavaScript to fetch data after user interaction—typically via an AJAX request or fetch(). This content does not exist in the initial HTML. Google does not simulate user clicks during mobile-first crawling.
Why does Google make this distinction for mobile indexing?
Mobile-first indexing is based on the principle that Googlebot must see what a mobile user sees without interaction. Tabs with preloaded content adhere to this logic: everything is available, only the presentation changes.
Tabs with deferred loading present a crawling completeness issue. Google would have to simulate all possible user journeys, which drastically increases crawl budget and creates risks of duplicate or incomplete content. Therefore, the official stance is restrictive by default.
Does this rule apply to all types of tabbed interfaces?
No, and that’s where it gets interesting. Accordions, pure CSS tabs, and classic Bootstrap tabs with preloaded content pass without issue. The HTML is complete, only the active class changes.
React/Vue widgets that mount/dismount components on click are riskier. If the content is already present in the virtual DOM or server-side hydrated (SSR), it may pass. If it’s a pure lazy loading with fetch on click, Google will see nothing.
- Content OK for indexing: Complete HTML in the initial DOM, hidden by CSS, visible without extra network requests
- Ignored content: AJAX/fetch loading after click, content absent from source HTML, requires user interaction to exist
- Gray area: Single Page Apps with deferred hydration—depends on SSR implementation and render timing
- Simple test: View Source in the browser—if the text doesn't appear in the raw HTML, Google probably won't index it
- Edge cases: Infinite scroll, modals, popups—same logic, content must exist in the DOM on load
SEO Expert opinion
Is this statement consistent with real-world observations?
Yes, but with important nuances that Google doesn't specify. In practice, we observe that mobile Googlebot executes JavaScript and can indeed index dynamically loaded content—if the render time remains reasonable (< 5 seconds).
The problem: Google guarantees nothing about this behavior. A page that works today may lose its indexed content tomorrow if crawl priorities change. The official position remains: if it’s critical for indexing, put it in the initial HTML. [To verify] on each sensitive project with regular Search Console tests.
What are the scenarios where this rule poses issues in production?
E-commerce sites with detailed tabbed product sheets are the first to be affected. Descriptions, technical specifications, customer reviews—if all this loads on click, Google may ignore 70% of the page's semantic content.
Comparators, configurators, and interactive tools are also vulnerable. An insurance comparator that loads the details of each offer on click loses all its semantic richness for Google. The same goes for recipe sites with tabs for Ingredients/Preparation/Tips.
Should I abandon tabbed interfaces for mobile SEO?
No, and it would be a major UX mistake. Tabs enhance mobile readability when well implemented. The solution: architect the HTML so that all content is available at load time, and use CSS + JavaScript only for visual navigation.
In practice, a progressive enhancement approach works perfectly: complete semantic HTML with anchors, then JS enrichment for interactivity. Modern frameworks (Next.js, Nuxt) manage this natively with SSR. Legacy implementations often require refactoring.
Practical impact and recommendations
How can I check if my tabs are properly indexable?
First step: test View Source (Ctrl+U in Chrome). If you see the complete text of all tabs in the raw HTML, it’s good. If sections are empty or contain only divs with IDs, there is a problem.
Second check: Google Search Console > URL Inspection. Look at the screenshot of the mobile rendering and the rendered HTML. Compare it with what you see in View Source. If content appears in the rendering but not in the source, you depend on JavaScript rendering—risky.
What’s the best technical implementation for SEO-friendly tabs?
The most robust approach: all content in the initial DOM, hidden with display:none or visibility:hidden on inactive tabs. Use ARIA attributes (role="tablist", aria-selected) for accessibility. JavaScript should only manage the switch of active classes.
For React/Vue frameworks, favor Server-Side Rendering or static site generation (SSG). Next.js with getStaticProps, Nuxt in universal mode—the complete HTML is served to the bot. Avoid pure Client-Side Rendering for critical SEO content.
What should I do if my site already uses lazy-loaded tabs?
First, audit the real impact. Search Console > Coverage may reveal pages indexed but with little content detected. Compare the rankings on keywords present in the hidden tabs—if you rank poorly while the content is rich, it's probably an indexing issue.
Refactoring can be gradual: start with high-traffic SEO pages (best-selling product sheets, strategic landing pages). Migrate to a complete HTML + CSS hiding pattern. Measure the impact over 4-6 weeks before generalizing.
- Test with View Source: all tab text must be visible in the raw HTML
- Validate with Google Search Console > Mobile URL Inspection, comparing source and rendering
- Implement display:none on inactive tabs rather than AJAX loading on click
- Use ARIA attributes for accessibility (role="tablist", aria-controls, aria-selected)
- For React/Vue: favor SSR or SSG, avoiding pure CSR on critical content
- Monitor rankings on keywords present in the tabs for 6 weeks post-migration
❓ Frequently Asked Questions
Le contenu sous onglets masqué avec display:none est-il pénalisé par Google ?
Les onglets Bootstrap ou jQuery UI sont-ils compatibles avec cette règle ?
Comment gérer des onglets avec beaucoup de contenu sans impacter la performance ?
Google peut-il indexer du contenu chargé via JavaScript asynchrone ?
Faut-il créer des URLs distinctes pour chaque onglet pour améliorer l'indexation ?
🎥 From the same video 28
Other SEO insights extracted from this same Google Search Central video · duration 1h05 · published on 20/10/2017
🎥 Watch the full video on YouTube →
💬 Comments (0)
Be the first to comment.