Slide and stage claims that name it, the ones Google’s documentation does not cover first.
Not in docs 21
Dave Smart said robots.txt is checked for every URL in a redirect chain and crawling stops at the first blocked one; in his example a site redirected through /cart/ with JavaScript to set the local currency and back, and because /cart/ was disallowed the page was reported as blocked.
Dave Smart · Day 1 · Lightning session B: Robots.txt
Dave Smart said this applies to all redirects, not only JavaScript ones; his examples: a redirect through an external authorisation service that is blocked by its own robots.txt, content that moved through several URLs over the years with one of them later blocked, and unexpected redirects, such as one served only to Googlebot's user agent.
Dave Smart · Day 1 · Lightning session B: Robots.txt
A Google panelist said, as a fun fact, that JavaScript was used for the language-consolidation redirects in Google's own site migration, because it was the only option available to the person doing it (the recording does not make fully clear whether the JavaScript performed the redirects or built the mapping).
Day 1 · Q&A
Being able to render and read JavaScript matters whether the client fetching a page is a search crawler or an AI system, Google said.
Erin Sparling · Day 2 · Lightning session D: Rendering and JavaScript
Google described the mission of its rendering as simply executing JavaScript, while the implementation is complex, expensive and difficult.
Erin Sparling · Day 2 · Lightning session D: Rendering and JavaScript
Google said its pipeline needs to ensure that content indexable without JavaScript can pass through without rendering, while content that appears only through JavaScript and CSS takes a longer rendering pass.
Erin Sparling · Day 2 · Lightning session D: Rendering and JavaScript
Switching JavaScript off and on in the browser gives a quick first impression of which content on a page depends on rendering.
Sören Bendig · Day 2 · Lightning session D: Rendering and JavaScript
If the cause of missing JavaScript content is still unclear after checking the network requests, search the source code for a string related to the missing content.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
Natalia Venditto named three typical failure modes by which an embedded app can break the application hosting it: collisions in the global JavaScript scope and module registry, CSS bleed, and fate sharing.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
An iframe, the long-established way to embed an app, isolates both JavaScript and styles but is not part of the page: it is walled off from the host's DOM, navigation and layout, which Natalia Venditto said brings many problems with accessibility, layout and navigation.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
Shadow DOM isolates styles and keeps the embedded content part of the page, but it does not isolate JavaScript: the embedded code still shares the host's JavaScript globals.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
Rewriting everything into one application keeps the result part of the page, but JavaScript and style isolation then have to be done by hand.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
Reframing with Web Fragments was the only approach on the comparison slide ticked for all three criteria (JavaScript isolated, styles isolated, part of the page); its stated catch is that it relies on browser patches today.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
Web Fragments is a lightweight library that puts a hidden iframe in the host page and uses it as an isolated sandbox to run the embedded app's JavaScript, not to render the app.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
Web Fragments reframes the embedded app's DOM by placing it inside a shadow DOM in the host page, while the app's JavaScript runs in the hidden iframe.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
Natalia Venditto said Web Fragments is framework-agnostic and vendor-agnostic and works the same whatever JavaScript framework the embedded app uses.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
Natalia Venditto said ShadowRealm, a JavaScript standard proposal, was at stage 2.7 at the time of the talk, which she glossed as meaning that only implementation is missing.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
Google's slide called content missing from the rendered HTML the most common JavaScript issue for indexing.
Erin Sparling · Day 2 · What is Google friendly JavaScript
Erin Sparling called URL fragments (the part of a URL after #) the next most common JavaScript issue seen, after rendering problems and blocked rendering.
Erin Sparling · Day 2 · What is Google friendly JavaScript
Version 20 of the Screaming Frog SEO Spider, released in May 2024, was the first that could connect the crawler to ChatGPT through custom JavaScript, which let SEOs rewrite image alt text at scale.
Day 2 · Lightning session F: Media
To test LLM-generated alt text before a rollout, a community speaker recommended running the crawler's custom JavaScript in Screaming Frog's List mode on a few chosen URLs and reviewing the generated alt text, instead of crawling the whole site in Spider mode.
Day 2 · Lightning session F: Media
Consistent with docs 18
A community speaker advised against publishing markdown copies of HTML pages for AI agents: the copy is a duplicate (which the speaker also called a possible source of cloaking, an uncertain word in the recordings), and the models are trained to read HTML, CSS and JavaScript.
Carlos Ortega · Day 1 · Lightning session A: Automation and AI
Google cannot extract a link from an a element that only has an onclick handler, because Googlebot does not click, so the JavaScript is never triggered.
Day 2 · How is HTML interpreted
A slide said robots meta rules can be added to a page's HTML with JavaScript, but doing so takes more time.
John Mueller · Day 2 · Controlling indexing
Removing a robots restriction such as noindex with JavaScript does not work, a slide said.
John Mueller · 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.
John Mueller · Day 2 · Controlling indexing
Without its ability to render JavaScript, Google says it would not be able to see most of what is on the web today.
Erin Sparling · 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.
Erin Sparling · Day 2 · Lightning session D: Rendering and JavaScript
Google urged sites to make sure their JavaScript content can be crawled, rendered and indexed, calling this important today and also tomorrow, as AI systems increasingly ground answers to user requests.
Erin Sparling · Day 2 · Lightning session D: Rendering and JavaScript
A community speaker strongly advised putting everything you want cited into the raw, server-side rendered HTML, especially for AI systems that cannot render JavaScript yet.
Sören Bendig · Day 2 · Lightning session D: Rendering and JavaScript
In a navigation example, the main navigation was in the raw HTML and would survive a rendering failure, but the whole sub-navigation was built by JavaScript, so all of its links would be inaccessible to bots if rendering broke.
Sören Bendig · Day 2 · Lightning session D: Rendering and JavaScript
If JavaScript rendering fails, what Google indexes for a page differs from what the page shows once it is rendered.
Erin Sparling · 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.
Erin Sparling · Day 2 · What is Google friendly JavaScript
Google listed four common JavaScript problems for indexing: content not present in the rendered HTML, using # in URLs for content changes, soft 404s and blocked resources.
Erin Sparling · 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.
Erin Sparling · Day 2 · What is Google friendly JavaScript
Google named three causes of content missing from the rendered HTML: JavaScript inaccessible to Googlebot, JavaScript DOM event triggers and disabled browser APIs.
Erin Sparling · Day 2 · What is Google friendly JavaScript
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.
Erin Sparling · Day 2 · What is Google friendly JavaScript
Whether a page can load is really important for canonical selection: a broken certificate, failing JavaScript or a page that cannot be loaded counts against a URL, and the slide also listed meta refresh and security.
Day 2 · Handling web duplication
Content that JavaScript adds to a page is typically seen by Google's indexing system within a few hours, and at worst within weeks.
Gary Illyes · Day 3 · How long does it take to..?
Confirmed by docs 10
Google renders JavaScript-heavy pages from their HTML, CSS and JavaScript as a browser would, using the latest version of Chromium.
Cherry Prommawin · Day 1 · How Search works and where's AI?
A community speaker said AI agents understand a page through a combination of three inputs: a screenshot, the DOM (the HTML plus the changes rendered by JavaScript) and the accessibility tree.
Carlos Ortega · Day 1 · Lightning session A: Automation and AI
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.
John Mueller · Day 2 · Controlling indexing
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.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
Google's renderer is a headless Chromium that runs the page's JavaScript.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
To check whether JavaScript content is affected, open the URL Inspection tool in Search Console or the Rich Results Test and look for that content in the rendered HTML tab.
Rebecca Yu · 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.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
Google's slide defined a soft 404 in a JavaScript application as a page that serves a 'Not Found' message but returns a 200 HTTP status code.
Erin Sparling · Day 2 · What is Google friendly JavaScript
In JavaScript single-page apps, soft 404s typically arise because the server returns the app with a 200 status for every URL, so when the app shows a 'not found' message for a URL that does not exist, no error is reported.
Erin Sparling · 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.
Erin Sparling · Day 2 · What is Google friendly JavaScript
Nothing to verify 11
An audience member asked what happens to thousands of crawled and indexed paginated category and tag pages if they are replaced by a single page with a JavaScript load-more button, and whether the old pages should then redirect to the canonical first page.
From the audience · Day 1 · Q&A
Google framed rendering historically: when Google started, most of the web was plain, semantic HTML it could extract directly, but the modern web is built with JavaScript and much content is generated by JavaScript, so Google had to adapt.
Erin Sparling · Day 2 · Lightning session D: Rendering and JavaScript
After Google's opener, Lightning session D had three community talks: rendering and JavaScript execution blind spots (Sören Bendig), debugging JavaScript rendering for Search (Rebecca Yu) and virtualizing the browser (Natalia Venditto).
Erin Sparling · Day 2 · Lightning session D: Rendering and JavaScript
Because even established brands have these rendering problems and every modern website uses a lot of JavaScript, a community speaker argued that most sites probably have them too and that ignoring rendering is reckless.
Sören Bendig · Day 2 · Lightning session D: Rendering and JavaScript
The second community lightning talk of the rendering block covered debugging JavaScript rendering for Search: how Google renders pages, a step-by-step check, four common mistakes and a worked product page example.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
A community speaker listed four common but often overlooked JavaScript rendering mistakes: non-crawlable link markup, error pages that return HTTP 200 in single-page apps, content behind user interaction, and JavaScript or API resources blocked in robots.txt.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
A community speaker called not hiding content behind user interaction the most important of the four JavaScript rendering mistakes.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
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.
Rebecca Yu · Day 2 · Lightning session D: Rendering and JavaScript
Natalia Venditto, a Principal Software Engineer at Adobe, gave a seven-minute community lightning talk on JavaScript and web standards, built around the Web Fragments library.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
A slide titled Orchestration approaches compared four ways to combine micro-frontends in one page (iframe, Shadow DOM, rewriting everything, and reframing with Web Fragments) on three criteria (JavaScript isolated, styles isolated, part of the page) and named the catch of each.
Natalia Venditto · Day 2 · Lightning session D: Rendering and JavaScript
Websites that rely heavily on JavaScript and rendering have common blind spots, because these features often break in subtle ways, a community speaker said.
Sören Bendig · Day 2 · Lightning session D: Rendering and JavaScript