Official statement
Other statements from this video 19 ▾
- 2:38 Should you really multiply sitemaps when you have a lot of URLs?
- 2:38 Is it really necessary to split your sitemap into multiple files to index a large site?
- 5:15 Why does replacing HTML with JavaScript canvas hurt SEO?
- 5:18 Should you ditch HTML5 canvas to ensure your content gets indexed?
- 10:56 Should you ditch the noscript attribute for SEO?
- 12:26 Should you really ditch noscript for rendering your content?
- 15:13 What happens when your HTML metadata contradicts the JavaScript ones?
- 16:19 Do complex JavaScript menus really block the indexing of your navigation?
- 18:47 Does Googlebot really follow all the JavaScript links on your site?
- 19:35 Do full-screen hero images really block the indexing of your pages?
- 20:04 Why does Google keep crawling your old URLs after a redesign?
- 22:25 Is it true that Google really respects the canonical tag?
- 25:48 How does the initial load of a SPA potentially ruin your SEO?
- 26:20 Does the initial load time of SPAs hurt your organic traffic?
- 28:13 Do Service Workers really enhance the crawling and indexing of your site?
- 36:00 Will Server-Side Rendering Become Essential for the SEO of JavaScript Applications?
- 36:17 Should you go all in on server-side rendering to excel in JavaScript?
- 41:29 Does JavaScript really represent the future of web development for SEO?
- 52:01 Are Third-Party Scripts Really Hurting Your Core Web Vitals?
Martin Splitt asserts that hero images requiring scrolling do not impact indexing, as long as the content is present in the DOM. The search engine indexes all available HTML, regardless of its vertical position. It remains to ensure that your content is not injected too late on the client side, or it risks escaping the initial crawl.
What you need to understand
Why is the issue of hero images still being raised?
Many corporate or e-commerce sites place full-screen visuals at the top of the page, pushing the textual content "below the fold." This design practice regularly raises concerns: does Google really see what is after scrolling? The short answer is yes, but with an essential nuance.
Google crawls the complete Document Object Model (DOM), not just the visible portion without scrolling. If your HTML includes the text at the initial load, the bot will index it — even if the average user has to scroll to see it. This is the fundamental distinction: DOM present versus visible viewport.
What do we mean exactly by 'present in the DOM'?
The DOM is the final HTML structure that the browser builds after executing JavaScript. If your content appears in the raw HTML source code (View Source), or in the DOM rendered after JS execution, Googlebot has access to it. The catch? Content injected via lazy loading triggered only by user scrolling.
Googlebot does not scroll through the page like a human. It loads the DOM, waits for JavaScript to execute (within the limits of its render budget), and then indexes what it finds. If your script waits for an 'onScroll' event to load text, that content might never appear in the initially visible DOM for Google.
Does this statement change anything regarding best practices?
Not really — it confirms what we have been observing for years. The problem has never been the vertical position of the content, but its availability in the rendered HTML. A full-JS site that injects everything on click or scroll poses a problem; a site with a hero image and static HTML content below does not.
This clarification should reassure teams worried that a visually imposing hero "hides" text from Google's view. However, it doesn't change the importance of render speed and First Contentful Paint for user experience — which remains an indirect ranking factor.
- Content must be present in the final DOM, regardless of its vertical position
- Googlebot does not scroll to trigger event-based lazy loading
- A visually imposing hero is not penalizing as long as the HTML is complete
- Beware of scripts that inject content only on user scroll
- Render speed remains a critical UX criterion, independent of indexing
SEO Expert opinion
Is this statement truly reassuring for all cases?
Yes and no. Splitt is right in principle: Google indexes the complete DOM, not just what is visible without scrolling. But the phrasing "as long as the complete content is present in the DOM" leaves a willful blind spot. What guarantees that your content will indeed be in the DOM when Googlebot decides to stop rendering?
The render budget is not infinite. If your page takes 8 seconds to execute all its JavaScript, or if critical content arrives after a delay on the server-side, there is a risk that Google won’t wait. [To check]: the statement does not specify either the exact timeout or the tolerance for complex asynchronous scripts. In practice, it’s essential to test with the Mobile-Friendly Test tool and inspect the rendered DOM on Google's side.
What are the limits of this assertion in the field?
We regularly observe sites where the textual content appears fine in View Source, but where JavaScript frameworks (React, Vue, Angular) dynamically rearrange everything. In these architectures, the initial HTML is a blank skeleton, and the real content only arrives after client hydration. If this hydration takes time or partially fails, Google may index an empty shell.
Another trap: images lazy-loaded via Intersection Observer that trigger only upon visual scroll. The alt text of these images may never be “seen” by the bot. The same goes for content blocks loaded via AJAX on infinite scroll. Splitt's statement focuses on the full-page hero — it does not cover all patterns of delayed content injection.
Should we still prioritize textual content at the top of the page?
Absolutely. Even if Google indexes the entire DOM, the order of semantic priority still matters. The bot generally assigns more weight to content positioned higher in the HTML, regardless of its CSS visual position. An H1 tag placed after 2000 pixels of hero is technically indexable, but semantically weaker than an H1 at the top of the DOM.
Moreover, user experience matters: a visitor landing on a full-screen image without immediate text may bounce before even scrolling. The bounce rate and session duration are behavioral signals that Google uses, even indirectly. A well-designed hero should balance visual impact and quick access to key content — ideally with a title or a visible CTA upon loading.
Practical impact and recommendations
How can I verify that my content is indeed in the DOM rendered by Google?
Use Google Search Console's mobile optimization test (formerly Mobile-Friendly Test). This tool displays the DOM as seen by Googlebot after JavaScript rendering. Compare it with the raw View Source: if your critical content appears in the rendered output but not in the source, check that the JS executes quickly and without errors.
Also, inspect server logs to identify timeouts or 5xx errors during crawling by Googlebot. A JavaScript render that fails on Google’s side could explain missing content in the final DOM. Finally, use the "Inspect URL" tool in GSC to see the rendered HTML exactly as Google indexes it — this is the absolute reference.
What mistakes should be avoided with a full-page hero?
The first classic mistake: placing text content as an image in the hero, without an associated HTML tag. Google does not read text embedded in a JPEG or PNG — only the alt attribute counts. If your hero contains a critical slogan or USP, ensure it also exists in HTML text, even if visually hidden via CSS (beware of cloaking, stay consistent).
The second trap: using aggressive lazy loading that only loads content on event-based scroll. Google doesn’t scroll to trigger JavaScript listeners. If your framework injects entire sections upon crossing a scroll threshold, that content will never appear in the initial DOM seen by the bot. Favor server rendering or immediate client-side hydration.
What should I do if I need to keep an imposing hero for UX or branding reasons?
Keep it, but optimize the rest of the stack. Ensure your Time to Interactive and your Largest Contentful Paint remain within the thresholds of Core Web Vitals. A heavy hero that delays the rendering of critical content could degrade user experience, thus indirectly impacting your SEO.
Use modern image formats (WebP, AVIF) with aggressive compression, and serve responsive variants via srcset. If the hero is a video, preload only the first frame and defer the rest. Finally, place a semantically strong H1 right after the hero in the DOM — even if it is visually displayed elsewhere via flexbox or grid.
- Test the DOM rendering with the Mobile-Friendly Test tool and GSC's "Inspect URL"
- Avoid embedded text in images — always have a robust HTML or alt equivalent
- Ban lazy-loading triggered only by event-based scroll for critical content
- Optimize the weight and format of hero visuals (WebP, AVIF, responsive srcset)
- Place a semantic H1 high in the DOM, even if CSS moves it visually
- Monitor Core Web Vitals to ensure a heavy hero does not penalize the overall experience
❓ Frequently Asked Questions
Un hero vidéo en pleine page pose-t-il le même problème qu'une image ?
Google pénalise-t-il les sites avec beaucoup de contenu « below the fold » ?
Le lazy-loading natif (loading="lazy") empêche-t-il Google de voir mes images ?
Dois-je dupliquer mon contenu en haut de page pour être sûr qu'il soit indexé ?
Un site full-JS (SPA React) peut-il utiliser un hero pleine page sans risque ?
🎥 From the same video 19
Other SEO insights extracted from this same Google Search Central video · duration 57 min · published on 29/04/2020
🎥 Watch the full video on YouTube →
💬 Comments (0)
Be the first to comment.