Search Central LiveDeep Dive Europe 2026

Knowledge base v2.13.0 · Community edition · data through 2 October 2026

Topic · Rendering and JavaScript

How Google renders pages

Google renders nearly all pages with headless Chromium to index what users see, said it would miss most of today's web without it, and, extending Day 1's point that Gemini uses Google's crawling, said pages are rendered the same way for Gemini training (said at the event, not in Google's docs). Rendering is a detached, expensive system that fetches JavaScript, CSS and API calls, but not images or videos, through the crawler; Google's documentation queues every page that returns 200 unless it carries noindex, and content missing from the final DOM cannot be indexed. The renderer does not scroll or click and lacks permission-based browser APIs and WebGL; Google said it renders in a viewport about 10,000 pixels tall instead, a figure its documentation does not give (it speaks of a 'viewport expansion' that can miss infinite content). The documentation sets no upper limit on the render-queue wait (a community speaker said seconds to a couple of minutes), and Google said content can be missing because it has not appeared in time; a community speaker added that slow APIs can leave unresolved placeholders in the snapshot. Author’s view: Erin Sparling's remark that content indexable without JavaScript 'can pass through without rendering' does not mean such pages skip rendering; it means content in the raw HTML does not wait for the slower rendering pass. Day 3 put rendering in time: Google renders a page either right after crawling or later through a queue, so content added by JavaScript is typically seen by indexing within a few hours and at worst within weeks, and Google said its logs show everything in the queue rendered within weeks (said at the event). Google's own speaker also said he would not claim that Google renders every URL on the internet (not in Google's docs). Author’s view: Google's JavaScript guide says every page returning 200 is queued for rendering, and queued is not rendered, so critical content belongs in the server HTML. Day 1's second recording added that Google renders JavaScript-heavy pages from their HTML, CSS and JavaScript as a browser would, with the latest Chromium. A second recording of Day 2 confirmed Natalia Venditto's point that a server-rendered app reframed into the host page is fully indexable (said at the event), and John Mueller said Google drops a page with a noindex in its HTML without processing its JavaScript, while Google's guide says it may skip rendering.

What to do

  • Put everything indexing depends on (title, meta description, canonical, robots meta tag, main text and links) in the server HTML, and let JavaScript add enhancements only.
  • Never block in robots.txt the JavaScript, CSS or API endpoints the renderer needs.
  • Load lazy content when it enters the viewport, never on scroll or click, and treat the 10,000-pixel viewport as a margin, not a target.
  • Wrap permission-based browser APIs and WebGL effects in feature detection with a fallback, so the main content renders without them.
  • Do not judge Googlebot's rendering from client-side analytics, which the renderer may skip.

Day 1: Crawling 2

Said on stage 1

StageConfirmed by docsD1-C206

Google renders JavaScript-heavy pages from their HTML, CSS and JavaScript as a browser would, using the latest version of Chromium.

Speaker Cherry PrommawinIn Day 1, 11:45 · How Search works and where's AI?Evidence transcript

  • Repeated by D2-C126 Day 2: Google renders pages with Chromium, the browser technology that also underlies Chrome, Edge and other…
  • Extended by D2-C173 Day 2: Google's renderer is a headless Chromium that runs the page's JavaScript.

What Google's documentation says 1

DocsSourceD1-C137

Google's Inside Googlebot post warns that bloated inline base64 images, large blocks of inline CSS or JavaScript, or megabytes of menus can push a page's text or structured data past Googlebot's 2MB cutoff, and advises moving heavy CSS and JavaScript to external files and placing meta tags, the title, the canonical and essential structured data high in the HTML.

Publisher Search Central blog (31 March 2026)Annotates Day 1, 14:05 · How crawling works

Used byrequirement DEV-PRF-04

Day 2: Indexing 60

Shown on screen 15

SlideConsistent with docsD2-C106

A slide said robots meta rules can be added to a page's HTML with JavaScript, but doing so takes more time.

Speaker John MuellerIn Day 2, 10:30 · Controlling indexingEvidence slide photo, transcript

Used byrequirement DEV-REN-05

  • Extended by D2-C853 Day 2: John Mueller recommended putting robots meta tags directly in a page's HTML exactly as intended, and adding…
SlideConsistent with docsD2-C108

Removing a robots restriction such as noindex with JavaScript does not work, a slide said.

“But... it takes more time, and removing restrictions (like "noindex") doesn't work.”

Wording checked against the slide or recording

Speaker John MuellerIn Day 2, 10:30 · Controlling indexingEvidence slide photo, transcript

Used byrequirement DEV-REN-05

  • Extended by D2-C852 Day 2: When Google finds a noindex rule in a page's HTML, it drops the page without even processing its JavaScript…
SlideConsistent with docsD2-C112

Google renders pages in order to index what users see: its commitment to reflecting the user experience means understanding what people see when a page loads in a browser and surfacing that in Search.

“Rendering Pages to Index What Users See”

Wording checked against the slide or recording

Speaker Erin SparlingIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence slide photo, transcript

Things

Used byglossary term Rendering

SlideConsistent with docsD2-C127

A Google pipeline diagram ran from the crawl queue to the crawler, then through HTML parsing to processing, which passes pages to rendering and gets them back, and then to the index; rendering fetches its JavaScript and CSS through the crawler.

Speaker Erin SparlingIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence slide photo, transcript

  • Extends D1-C063 Day 1: The crawl pipeline runs from a crawl queue to a scheduler to the crawler, which fetches from the internet and…
SlideConfirmed by docsD2-C167

The diagram from Google's JavaScript SEO basics page shows a URL going from the crawl queue to the crawler, the crawled HTML going to processing, then the render queue and the renderer, whose rendered HTML returns to processing before the page reaches the index.

Speaker Rebecca YuIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence slide photo, transcript

  • Extends D1-C063 Day 1: The crawl pipeline runs from a crawl queue to a scheduler to the crawler, which fetches from the internet and…
SlideConfirmed by docsD2-C170

After processing, an indexable page is placed in Google's render queue to wait for rendering.

Speaker Rebecca YuIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence slide photo, transcript

Things

Used byglossary term Render queue

  • Extended by D3-C626 Day 3: Google renders pages in two ways: immediately after crawling, or later through a queue-based process that…
SlideConsistent with docsD2-C174

Whatever is in the DOM at the moment Google's rendering finishes is what likely gets indexed.

“Whatever is in the DOM at that moment is what likely gets indexed.”

Wording checked against the slide or recording

Speaker Rebecca YuIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence slide photo, transcript

Things
  • Repeated by D2-C262 Day 2: Content that is not in the final DOM after rendering cannot be seen by Google, so it cannot be indexed.
SlideConfirmed by docsD2-C195

Content that loads only after a user action such as a click or a scroll is not in the DOM while Google renders the page, so Google cannot index it.

Speaker Rebecca YuIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence slide photo, transcript

Used byrequirement DEV-REN-02

  • Extends D1-C115 Day 1: Google's crawlers do not click buttons. Each page in a series needs its own URL and an <a href> link to the…
  • Repeated by D2-C268 Day 2: Content that loads only when a user clicks an element is not supported in the way Google renders pages for…
SlideConsistent with docsD2-C196

For rendering, what matters is whether content is present in the DOM, not whether it is visible on screen: hidden content can be indexed, absent content cannot.

“Not visible versus hidden. Present versus absent in the DOM.”

Wording checked against the slide or recording

Speaker Rebecca YuIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence slide photo

Things

Used byrequirement DEV-REN-02

SlideConsistent with docsD2-C199

An Intersection Observer fires when the observed element enters the viewport, and the viewport Google renders with is tall, so content lazy-loaded this way can load during rendering.

“Fires on viewport entry. Viewport is tall.”

Wording checked against the slide or recording

Speaker Rebecca YuIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence slide photo

Used byrequirement DEV-REN-03

  • Extended by D2-C272 Day 2: Instead of scrolling, Google renders a page in a very tall viewport, around 10,000 pixels high.
  • Repeated by D2-C274 Day 2: Content loaded as elements enter the viewport, for example with an Intersection Observer, does load when…
SlideConfirmed by docsD2-C204

Blocking JavaScript or API resources in robots.txt is a classic rendering mistake: if Google's renderer cannot fetch a resource, it cannot run it.

“If the renderer can't fetch it, the renderer can't run it.”

Wording checked against the slide or recording

Speaker Rebecca YuIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence slide photo, transcript

Used byrequirement DEV-REN-04

  • Extends D1-C064 Day 1: The crawler has multiple tasks: fetch from the internet, ensure it doesn't break the internet, and enforce…
  • Repeated by D2-C265 Day 2: Blocked resources, one of Google's four common JavaScript indexing problems, means robots.txt disallowing the…
  • Repeated by D2-C296 Day 2: If robots.txt blocks JavaScript that client-side code needs to render, Google cannot render the content that…
SlideConfirmed by docsD2-C262

Content that is not in the final DOM after rendering cannot be seen by Google, so it cannot be indexed.

“If it's not in the final DOM, Google can't see it.”

Wording checked against the slide or recording

Speaker Erin SparlingIn Day 2, 11:15 · What is Google friendly JavaScriptEvidence slide photo, transcript

Things

Used byrequirement DEV-REN-02

  • Repeats D2-C174 Day 2: Whatever is in the DOM at the moment Google's rendering finishes is what likely gets indexed.
SlideConsistent with docsD2-C266

Google named three causes of content missing from the rendered HTML: JavaScript inaccessible to Googlebot, JavaScript DOM event triggers and disabled browser APIs.

Speaker Erin SparlingIn Day 2, 11:15 · What is Google friendly JavaScriptEvidence slide photo, video, transcript

Said on stage 28

StageConsistent with docsD2-C852

When Google finds a noindex rule in a page's HTML, it drops the page without even processing its JavaScript, so a script cannot switch the page back to indexable, John Mueller said.

“we will see the noindex and say, oh, we will get rid of this page; we won't even process the JavaScript”

Speaker John MuellerIn Day 2, 10:30 · Controlling indexingEvidence transcript

Used byrequirement DEV-REN-05

  • Extends D2-C108 Day 2: Removing a robots restriction such as noindex with JavaScript does not work, a slide said.
StageNot in docsD2-C118

To train Gemini models, Google renders every page just as it does for Search, so a page that renders correctly for Search also works for Gemini training, provided the site allows its content to be used for training.

“if it works for Search, it works for Gemini for training”

Speaker Erin SparlingIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence transcript

Things

Used byrequirement DEV-IDX-11

  • Extends D1-C039 Day 1: Gemini is not part of Search, but it uses crawlers for data, shares some technologies such as tokenization…
StageConfirmed by docsD2-C126

Google renders pages with Chromium, the browser technology that also underlies Chrome, Edge and other Chromium-based browsers.

Speaker Erin SparlingIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence transcript

Things

Used byglossary term Rendering

  • Repeats D1-C206 Day 1: Google renders JavaScript-heavy pages from their HTML, CSS and JavaScript as a browser would, using the…
StageConsistent with docsD2-C128

Although Google's pipeline diagram shows rendering as part of indexing, Google's rendering is a detached system, kept separate because rendering is time-consuming and computationally expensive.

“it shows rendering as part of indexing, but it's actually a detached system”

Speaker Erin SparlingIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence transcript

Things
  • Extends D2-C026 Day 2: A Google pipeline slide placed processing between the crawler and the index and listed six processing steps…
StageNot in docsD2-C149

A search engine's renderer does not wait forever before taking its snapshot, so content from slow internal systems or APIs can be missing and unresolved placeholders can end up in the final snapshot, a community speaker said.

Speaker Sören BendigIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence transcript

Used byrequirement DEV-REN-06

  • Extended by D2-C259 Day 2: Erin Sparling named server-side or hybrid rendering, fallbacks and not leaving placeholders in the DOM, among…
  • Extended by D2-C263 Day 2: Content is missing from the rendered HTML either because the server does not serve it or because the content…
StageConfirmed by docsD2-C173

Google's renderer is a headless Chromium that runs the page's JavaScript.

Speaker Rebecca YuIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence transcript, slide photo

  • Extends D1-C206 Day 1: Google renders JavaScript-heavy pages from their HTML, CSS and JavaScript as a browser would, using the…
StageD2-C214

A community speaker summed up JavaScript rendering issues as cases where search engines cannot execute, access or trigger the code needed to display a page's core content.

“JavaScript rendering issues happen when search engines cannot execute, access or trigger the code required to display your core content.”

Speaker Rebecca YuIn Day 2, 10:40 · Lightning session D: Rendering and JavaScriptEvidence transcript

StageConfirmed by docsD2-C256

Google renders nearly all of the web by replicating what a browser does, using a real browser's rendering engine.

“Google renders nearly all of the internet by replicating browser actions”

Speaker Erin SparlingIn Day 2, 11:15 · What is Google friendly JavaScriptEvidence transcript

Things
  • Extended by D3-C628 Day 3: Gary Illyes said Google keeps saying it renders every URL on the internet and that he would say this is not…
StageConsistent with docsD2-C267

When the JavaScript is not accessible to Googlebot, Google cannot render the client-side DOM that the page builds asynchronously, so parts of the page may be present while the main content is absent.

Speaker Erin SparlingIn Day 2, 11:15 · What is Google friendly JavaScriptEvidence transcript

StageConfirmed by docsD2-C268

Content that loads only when a user clicks an element is not supported in the way Google renders pages for indexing.

Speaker Erin SparlingIn Day 2, 11:15 · What is Google friendly JavaScriptEvidence transcript

Used byrequirement DEV-REN-02glossary term Lazy loading

  • Extends D1-C115 Day 1: Google's crawlers do not click buttons. Each page in a series needs its own URL and an <a href> link to the…
  • Repeats D2-C195 Day 2: Content that loads only after a user action such as a click or a scroll is not in the DOM while Google…
StageConfirmed by docsD2-C271

Google does not scroll a page when it renders it for indexing, so content that infinite scroll loads on scroll-depth triggers works for users but is never loaded for Google.

Speaker Erin SparlingIn Day 2, 11:15 · What is Google friendly JavaScriptEvidence slide photo, transcript

Used byrequirements DEV-REN-03, DEV-URL-07

  • Extends D1-C114 Day 1: A Google panelist called pagination one of the trickiest things in web development and said switching to…
  • Repeats D2-C197 Day 2: Lazy loading triggered by a scroll event listener, such as window.addEventListener('scroll'…
  • Extends D1-C491 Day 1: If paginated pages are replaced by a load-more button or infinite scroll without crawlable links to them…
StageNot in docsD2-C272

Instead of scrolling, Google renders a page in a very tall viewport, around 10,000 pixels high.

“it renders it in a very tall viewport. Specifically, around 10,000 pixels is what the viewport gets rendered as.”

Speaker Erin SparlingIn Day 2, 11:15 · What is Google friendly JavaScriptEvidence slide photo, transcript

Used byrequirements DEV-REN-03, DEV-URL-07glossary term Viewport expansion

  • Extends D2-C199 Day 2: An Intersection Observer fires when the observed element enters the viewport, and the viewport Google renders…

What Google's documentation says 13

DocsSourceD2-C854

Google's JavaScript SEO basics guide says that when Google encounters a noindex rule it may skip rendering and JavaScript execution, so using JavaScript to change or remove a noindex robots meta tag may not work as expected.

“it may skip rendering and JavaScript execution”

Publisher Google Search CentralAnnotates Day 2, 10:30 · Controlling indexing

Used byrequirement DEV-REN-05

DocsSourceD2-C131

Google's JavaScript SEO guide says Googlebot sends every page with a 200 HTTP status code to the rendering queue, whether or not it contains JavaScript, unless a robots meta tag or header tells Google not to index it, and Google uses the rendered HTML to index the page.

Publisher Google Search CentralAnnotates Day 2, 10:40 · Lightning session D: Rendering and JavaScript

Used byrequirement DEV-REN-01glossary term Rendering

  • Extended by D3-C676 Day 3: The stage doubt that every URL gets rendered sits beside Google's JavaScript guide, which says every page…
DocsSourceD2-C164

Google says Googlebot and its Web Rendering Service identify resources that do not contribute to essential page content, such as reporting and error requests, and may not fetch them, so client-side analytics may not give a full or accurate picture of their activity.

Publisher Google Search CentralAnnotates Day 2, 10:40 · Lightning session D: Rendering and JavaScript

Used byrequirement DEV-MON-04

DocsSourceD2-C169

Google's JavaScript SEO basics guide says Googlebot extracts links twice, from the HTML response before rendering and again from the rendered HTML, so links injected with JavaScript can be found if they use crawlable <a href> markup.

Publisher Google Search CentralAnnotates Day 2, 10:40 · Lightning session D: Rendering and JavaScript

Used byrequirement DEV-URL-01

  • Extends D1-C040 Day 1: URL discovery works through links: a homepage links to section pages, which link to further pages.
DocsSourceD2-C172

Google's JavaScript SEO basics guide says a page may wait in the render queue for a few seconds but that it can take longer, and it gives no upper limit.

“The page may stay on this queue for a few seconds, but it can take longer than that.”

Publisher Google Search CentralAnnotates Day 2, 10:40 · Lightning session D: Rendering and JavaScript

Used byrequirements DEV-PRF-02, DEV-REN-01glossary term Render queue

  • Extended by D3-C627 Day 3: Content that JavaScript adds to a page is typically seen by Google's indexing system within a few hours, and…
DocsSourceD2-C200

In Google's March 2023 SEO office hours, John Mueller said Google handles infinite scroll with viewport expansion, rendering a page like a very long phone, which is not very efficient and can miss content, so pagination links are strongly recommended.

“this is done through a technique called "viewport expansion", where we render a page like a very long phone.”

Publisher Google Search Central (SEO office hours transcript, March 2023)Annotates Day 2, 10:40 · Lightning session D: Rendering and JavaScript

Things
DocsSourceD2-C206

Google says its Web Rendering Service fetches the resources a page references through Googlebot, including JavaScript, CSS and XHR requests to APIs, but not images or videos.

Publisher Search Central blog (3 December 2024), Search Central blog (31 March 2026)Annotates Day 2, 10:40 · Lightning session D: Rendering and JavaScript

Used byrequirement DEV-REN-04

DocsSourceD2-C235

Google's documentation says Google supports web components and flattens shadow DOM and light DOM content when it renders a page, and that content not visible in the rendered HTML cannot be indexed.

Publisher Google Search CentralAnnotates Day 2, 10:40 · Lightning session D: Rendering and JavaScript

Used byrequirement DEV-REN-10glossary term Shadow DOM

DocsSourceD2-C257

Google's JavaScript SEO basics says every page with a 200 status code is queued for rendering, whether or not it uses JavaScript, unless a robots meta tag or header says not to index it; for non-200 pages such as 404 error pages, rendering might be skipped.

Publisher Google Search CentralAnnotates Day 2, 11:15 · What is Google friendly JavaScript

Used byrequirement DEV-REN-05

DocsSourceD2-C273

Google's March 2023 SEO office hours say Google sees infinite-scroll content through viewport expansion, rendering a page like a very long phone, which is not particularly efficient and can miss infinite content.

“a technique called "viewport expansion", where we render a page like a very long phone”

Publisher Google Search Central (SEO office hours transcript, March 2023)Annotates Day 2, 11:15 · What is Google friendly JavaScript

Things

Used byrequirement DEV-URL-07glossary term Viewport expansion

DocsSourceD2-C278

For effects that need WebGL, which Googlebot does not support, Google's guide to fixing JavaScript problems suggests skipping the effect or prerendering it with server-side rendering so that the content is accessible to Googlebot.

Publisher Google Search CentralAnnotates Day 2, 11:15 · What is Google friendly JavaScript

Used byrequirement DEV-REN-08

DocsSourceD2-C829

Google's guide to fixing Search-related JavaScript problems says the Web Rendering Service may ignore caching headers and so use outdated JavaScript or CSS, and recommends content fingerprinting, which puts a hash of the content in the file name, as in main.2bb85551.js.

Publisher Google Search CentralAnnotates Day 2, 11:15 · What is Google friendly JavaScript

Used byrequirement DEV-REN-06

Analysis by the author 4

AnalysisD2-C133

Put everything indexing depends on (title, meta description, canonical, robots meta tag, main text and links) in the raw HTML so it is available without rendering, let JavaScript add enhancements only, and check the rendered HTML in URL Inspection for the rest.

Author Ibrahim AnjroAnnotates Day 2, 10:40 · Lightning session D: Rendering and JavaScript

Used byrequirement DEV-REN-01

AnalysisD2-C250

Because Google flattens shadow DOM when it renders, content that Web Fragments places in a shadow root can in principle be indexed with the host page, but only if it appears in the rendered HTML; check that in URL Inspection rather than relying on a library's promise of indexability.

Author Ibrahim AnjroAnnotates Day 2, 10:40 · Lightning session D: Rendering and JavaScript

Used byrequirement DEV-REN-10

Day 3: Serving: Ranking, Search Console, and Performance 7

Shown on screen 1

Said on stage 4

StageConsistent with docsD3-C627

Content that JavaScript adds to a page is typically seen by Google's indexing system within a few hours, and at worst within weeks.

Speaker Gary IllyesIn Day 3, 15:45 · How long does it take to..?Evidence transcript

Used byrequirements DEV-MON-10, DEV-REN-01

  • Extends D2-C172 Day 2: Google's JavaScript SEO basics guide says a page may wait in the render queue for a few seconds but that it…
StageNot in docsD3-C628

Gary Illyes said Google keeps saying it renders every URL on the internet and that he would say this is not true, though it is what he was told; he went on to say that Google's logs show the rendering queue cleared within weeks.

“we keep saying that we render every single URL on the internet. I would say that that's not true”

Speaker Gary IllyesIn Day 3, 15:45 · How long does it take to..?Evidence slide photo, transcript

Things

Used byrequirement DEV-REN-01

  • Extends D2-C256 Day 2: Google renders nearly all of the web by replicating what a browser does, using a real browser's rendering…

Analysis by the author 2

AnalysisD3-C676

The stage doubt that every URL gets rendered sits beside Google's JavaScript guide, which says every page with a 200 status is queued for rendering unless a robots rule blocks indexing: queued is not the same as rendered, so do not rely on rendering for critical content.

Author Ibrahim AnjroAnnotates Day 3, 15:45 · How long does it take to..?

Used byrequirement DEV-REN-01

  • Extends D2-C131 Day 2: Google's JavaScript SEO guide says Googlebot sends every page with a 200 HTTP status code to the rendering…

Across days and sessions 27

  1. Stage D2-C118 Day 2 · Lightning session D: Rendering and JavaScript

    To train Gemini models, Google renders every page just as it does for Search, so a page that renders correctly for Search also works for Gemini training, provided the site allows its content to be used for training.

    extends
    Slide D1-C039 Day 1 · How Search works and where's AI?

    Gemini is not part of Search, but it uses crawlers for data, shares some technologies such as tokenization and deduping, and grounds on the Search index.

  2. Slide D2-C127 Day 2 · Lightning session D: Rendering and JavaScript

    A Google pipeline diagram ran from the crawl queue to the crawler, then through HTML parsing to processing, which passes pages to rendering and gets them back, and then to the index; rendering fetches its JavaScript and CSS through the crawler.

    extends
    Slide D1-C063 Day 1 · How crawling works

    The crawl pipeline runs from a crawl queue to a scheduler to the crawler, which fetches from the internet and passes the fetch reply to indexing.

  3. Stage D2-C128 Day 2 · Lightning session D: Rendering and JavaScript

    Although Google's pipeline diagram shows rendering as part of indexing, Google's rendering is a detached system, kept separate because rendering is time-consuming and computationally expensive.

    extends
    Slide D2-C026 Day 2 · How is HTML interpreted

    A Google pipeline slide placed processing between the crawler and the index and listed six processing steps: HTML parsing, rendering, deduplication, feature extraction, signal extraction and index selection.

  4. Slide D2-C167 Day 2 · Lightning session D: Rendering and JavaScript

    The diagram from Google's JavaScript SEO basics page shows a URL going from the crawl queue to the crawler, the crawled HTML going to processing, then the render queue and the renderer, whose rendered HTML returns to processing before the page reaches the index.

    extends
    Slide D1-C063 Day 1 · How crawling works

    The crawl pipeline runs from a crawl queue to a scheduler to the crawler, which fetches from the internet and passes the fetch reply to indexing.

  5. Docs D2-C169 Day 2 · Lightning session D: Rendering and JavaScript

    Google's JavaScript SEO basics guide says Googlebot extracts links twice, from the HTML response before rendering and again from the rendered HTML, so links injected with JavaScript can be found if they use crawlable <a href> markup.

    extends
    Slide D1-C040 Day 1 · How Search works and where's AI?

    URL discovery works through links: a homepage links to section pages, which link to further pages.

  6. Stage D2-C173 Day 2 · Lightning session D: Rendering and JavaScript

    Google's renderer is a headless Chromium that runs the page's JavaScript.

    extends
    Stage D1-C206 Day 1 · How Search works and where's AI?

    Google renders JavaScript-heavy pages from their HTML, CSS and JavaScript as a browser would, using the latest version of Chromium.

  7. Slide D2-C195 Day 2 · Lightning session D: Rendering and JavaScript

    Content that loads only after a user action such as a click or a scroll is not in the DOM while Google renders the page, so Google cannot index it.

    extends
    Docs D1-C115 Day 1 · session not recorded

    Google's crawlers do not click buttons. Each page in a series needs its own URL and an <a href> link to the next page, should not use page 1 as its canonical, and rel=next and rel=prev are no longer used.

  8. Slide D2-C204 Day 2 · Lightning session D: Rendering and JavaScript

    Blocking JavaScript or API resources in robots.txt is a classic rendering mistake: if Google's renderer cannot fetch a resource, it cannot run it.

    extends
    Slide D1-C064 Day 1 · How crawling works

    The crawler has multiple tasks: fetch from the internet, ensure it doesn't break the internet, and enforce robots.txt policies. Fetched data is sent for indexing.

  9. Stage D2-C259 Day 2 · What is Google friendly JavaScript

    Erin Sparling named server-side or hybrid rendering, fallbacks and not leaving placeholders in the DOM, among other measures, as ways to guard against failed JavaScript rendering.

    extends
    Stage D2-C149 Day 2 · Lightning session D: Rendering and JavaScript

    A search engine's renderer does not wait forever before taking its snapshot, so content from slow internal systems or APIs can be missing and unresolved placeholders can end up in the final snapshot, a community speaker said.

  10. Stage D2-C263 Day 2 · What is Google friendly JavaScript

    Content is missing from the rendered HTML either because the server does not serve it or because the content has still not appeared after some period of time.

    extends
    Stage D2-C149 Day 2 · Lightning session D: Rendering and JavaScript

    A search engine's renderer does not wait forever before taking its snapshot, so content from slow internal systems or APIs can be missing and unresolved placeholders can end up in the final snapshot, a community speaker said.

  11. Stage D2-C268 Day 2 · What is Google friendly JavaScript

    Content that loads only when a user clicks an element is not supported in the way Google renders pages for indexing.

    extends
    Docs D1-C115 Day 1 · session not recorded

    Google's crawlers do not click buttons. Each page in a series needs its own URL and an <a href> link to the next page, should not use page 1 as its canonical, and rel=next and rel=prev are no longer used.

  12. Stage D2-C271 Day 2 · What is Google friendly JavaScript

    Google does not scroll a page when it renders it for indexing, so content that infinite scroll loads on scroll-depth triggers works for users but is never loaded for Google.

    extends
    Stage D1-C114 Day 1 · Q&A

    A Google panelist called pagination one of the trickiest things in web development and said switching to infinite scroll or a load-more button is risky, depending on what you want to achieve, because Googlebot does not click buttons.

  13. Stage D2-C271 Day 2 · What is Google friendly JavaScript

    Google does not scroll a page when it renders it for indexing, so content that infinite scroll loads on scroll-depth triggers works for users but is never loaded for Google.

    extends
    Stage D1-C491 Day 1 · Q&A

    If paginated pages are replaced by a load-more button or infinite scroll without crawlable links to them, Google will not see the further pages at all.

  14. Stage D2-C272 Day 2 · What is Google friendly JavaScript

    Instead of scrolling, Google renders a page in a very tall viewport, around 10,000 pixels high.

    extends
    Slide D2-C199 Day 2 · Lightning session D: Rendering and JavaScript

    An Intersection Observer fires when the observed element enters the viewport, and the viewport Google renders with is tall, so content lazy-loaded this way can load during rendering.

  15. Stage D2-C852 Day 2 · Controlling indexing

    When Google finds a noindex rule in a page's HTML, it drops the page without even processing its JavaScript, so a script cannot switch the page back to indexable, John Mueller said.

    extends
    Slide D2-C108 Day 2 · Controlling indexing

    Removing a robots restriction such as noindex with JavaScript does not work, a slide said.

  16. Stage D2-C853 Day 2 · Controlling indexing

    John Mueller recommended putting robots meta tags directly in a page's HTML exactly as intended, and adding them with JavaScript only where that is not possible, as in a JavaScript web app.

    extends
    Slide D2-C106 Day 2 · Controlling indexing

    A slide said robots meta rules can be added to a page's HTML with JavaScript, but doing so takes more time.

  17. Stage D3-C626 Day 3 · How long does it take to..?

    Google renders pages in two ways: immediately after crawling, or later through a queue-based process that runs elsewhere.

    extends
    Slide D2-C170 Day 2 · Lightning session D: Rendering and JavaScript

    After processing, an indexable page is placed in Google's render queue to wait for rendering.

  18. Stage D3-C627 Day 3 · How long does it take to..?

    Content that JavaScript adds to a page is typically seen by Google's indexing system within a few hours, and at worst within weeks.

    extends
    Docs D2-C172 Day 2 · Lightning session D: Rendering and JavaScript

    Google's JavaScript SEO basics guide says a page may wait in the render queue for a few seconds but that it can take longer, and it gives no upper limit.

  19. Stage D3-C628 Day 3 · How long does it take to..?

    Gary Illyes said Google keeps saying it renders every URL on the internet and that he would say this is not true, though it is what he was told; he went on to say that Google's logs show the rendering queue cleared within weeks.

    extends
    Stage D2-C256 Day 2 · What is Google friendly JavaScript

    Google renders nearly all of the web by replicating what a browser does, using a real browser's rendering engine.

  20. Analysis D3-C676 Day 3 · How long does it take to..?

    The stage doubt that every URL gets rendered sits beside Google's JavaScript guide, which says every page with a 200 status is queued for rendering unless a robots rule blocks indexing: queued is not the same as rendered, so do not rely on rendering for critical content.

    extends
    Docs D2-C131 Day 2 · Lightning session D: Rendering and JavaScript

    Google's JavaScript SEO guide says Googlebot sends every page with a 200 HTTP status code to the rendering queue, whether or not it contains JavaScript, unless a robots meta tag or header tells Google not to index it, and Google uses the rendered HTML to index the page.

  21. Stage D2-C126 Day 2 · Lightning session D: Rendering and JavaScript

    Google renders pages with Chromium, the browser technology that also underlies Chrome, Edge and other Chromium-based browsers.

    repeats
    Stage D1-C206 Day 1 · How Search works and where's AI?

    Google renders JavaScript-heavy pages from their HTML, CSS and JavaScript as a browser would, using the latest version of Chromium.

  22. Slide D2-C262 Day 2 · What is Google friendly JavaScript

    Content that is not in the final DOM after rendering cannot be seen by Google, so it cannot be indexed.

    repeats
    Slide D2-C174 Day 2 · Lightning session D: Rendering and JavaScript

    Whatever is in the DOM at the moment Google's rendering finishes is what likely gets indexed.

  23. Slide D2-C265 Day 2 · What is Google friendly JavaScript

    Blocked resources, one of Google's four common JavaScript indexing problems, means robots.txt disallowing the crawling of critical JavaScript files or API endpoints.

    repeats
    Slide D2-C204 Day 2 · Lightning session D: Rendering and JavaScript

    Blocking JavaScript or API resources in robots.txt is a classic rendering mistake: if Google's renderer cannot fetch a resource, it cannot run it.

  24. Stage D2-C268 Day 2 · What is Google friendly JavaScript

    Content that loads only when a user clicks an element is not supported in the way Google renders pages for indexing.

    repeats
    Slide D2-C195 Day 2 · Lightning session D: Rendering and JavaScript

    Content that loads only after a user action such as a click or a scroll is not in the DOM while Google renders the page, so Google cannot index it.

  25. Stage D2-C271 Day 2 · What is Google friendly JavaScript

    Google does not scroll a page when it renders it for indexing, so content that infinite scroll loads on scroll-depth triggers works for users but is never loaded for Google.

    repeats
    Slide D2-C197 Day 2 · Lightning session D: Rendering and JavaScript

    Lazy loading triggered by a scroll event listener, such as window.addEventListener('scroll', loadMoreProducts), never runs for Googlebot because Googlebot does not scroll.

  26. Stage D2-C274 Day 2 · What is Google friendly JavaScript

    Content loaded as elements enter the viewport, for example with an Intersection Observer, does load when Google renders a page, because Google's rendering viewport is very tall.

    repeats
    Slide D2-C199 Day 2 · Lightning session D: Rendering and JavaScript

    An Intersection Observer fires when the observed element enters the viewport, and the viewport Google renders with is tall, so content lazy-loaded this way can load during rendering.

  27. Stage D2-C296 Day 2 · What is Google friendly JavaScript

    If robots.txt blocks JavaScript that client-side code needs to render, Google cannot render the content that the JavaScript would produce.

    repeats
    Slide D2-C204 Day 2 · Lightning session D: Rendering and JavaScript

    Blocking JavaScript or API resources in robots.txt is a classic rendering mistake: if Google's renderer cannot fetch a resource, it cannot run it.

Built on these claims 15

Developer requirements 15

Sources 11