Google SEO Test Shows What Happens In 5-Second Rendering Window

0
1
Google SEO Test Shows What Happens In 5-Second Rendering Window


A common belief among many SEOs is that Google’s Web Rendering Service has a five-second rendering window and that anything that happens after that five-second window won’t be included in the version of the page that Google indexes.

The idea started with something Google’s Martin Splitt said on at least two occasions and eventually became widely accepted as true. Dave Smart of Tame the Bots tested the theory and discovered not only that the five-second window isn’t true, but also that Google’s Web Rendering Service can pause and restart the rendering clock.

So who’s right, the SEOs who base their opinions on what Martin Splitt said, or Dave Smart, an SEO in the UK? My money is on Dave Smart, and you’ll shortly understand why.

What SEOs Say

The idea promoted in many SEO blogs is that there’s a five-second window that is the amount of time that Google’s Web Rendering Service (WRS) waits before capturing the rendered Document Object Model (DOM) of a web page.

Google’s Web Rendering Service is a collection of services that do six things:

  1. It receives the HTML that Googlebot crawled.
  2. Fetches the web page’s resources, such as CSS, JavaScript, and images.
  3. Loads the page in a headless Chromium browser.
  4. It next executes the page’s JavaScript.
  5. And then produces a snapshot of the page’s DOM.
  6. At this point it passes that DOM snapshot into Google’s indexing system.

SEOs Have Two Variations Of Five-Second Window Theory

1. Some SEOs say that the rendering process inside Google’s Web Rendering Service has about five seconds to produce the DOM that Google snapshots. They say there is a five-second period during which the page is loaded, JavaScript is executed, and Google captures a snapshot of the rendered DOM for indexing.

2. The second variation is that important content has to appear in the DOM within five seconds because that’s when Google is expected to capture the DOM snapshot.

Some SEOs even claim to have run a test and say they have confirmed that there is indeed a five-second window.

What Did Martin Splitt Say?

Martin Splitt did at least two video presentations within the last seven years in which he introduced the SEO world to the concept of a five-second rendering window.

Here’s what Splitt actually said about that five-second window (at about the 18 minute mark in the video):

“So what do you need to know, what do you need to take away from this?

All websites get rendered no matter if they contain JavaScript or not.

What we see after the rendering, that’s the DOM snapshot that will be taken into indexing. That’s what you care for.

Not the screenshot, not some weird cache on the search results. Don’t use that.

Don’t use like view source. View source doesn’t give you DOM information. Use the testing tools that we provide. They’re actually giving you what came out of rendering.

In median, a page’s rendering queued for five seconds.

So that means before one of these lovely ones picks them up, they’re on median five seconds in there. 90th percentile is a few minutes. So we’re talking minutes, not weeks or months.

Rendering aggressively caches resources, so you don’t need to worry too much about your crawl budget regarding rendering. It doesn’t make that much of a difference.

And if you want to test your stuff, do not do weird stuff. Just use Google Search Console’s Inspect URL. It shows you what happens in rendering, OK?

Don’t be afraid of rendering or JavaScript.”

It’s clear that Splitt is not describing a five-second limit for the Web Rendering Service. He’s describing how long pages wait, on average, in the rendering queue before rendering begins. Once a renderer picks up the page, there is nothing said about a time limit for rendering.

It’s clear that there’s a disconnect between what SEOs think that Splitt said and what he actually said.

Dave Smart’s Web Rendering Services Test

Dave Smart (LinkedIn profile) ran an experiment to test the five-second window theory. He created a test page that intentionally delayed content while recording multiple timing measurements to determine whether Google’s Web Rendering Service (WRS) really did stop rendering after five seconds.

The way the test worked was he created a test page that made POST requests to a PHP script. That PHP script delayed its response by a random three to six seconds before serving content. Smart used two of these API calls in the test, so together they could take between six and twelve seconds to complete.

What The WRS Test Discovered

Smart’s test initially was about testing the five-second window theory, but he ended up with a second finding that was completely unexpected.

At first, the experiment appeared to confirm the five-second window theory because the JavaScript timer ran for five seconds, giving the impression that Google’s Web Rendering Service had a five-second rendering limit.

He wrote:

“Looking at the screenshots, you can see the setInterval() loop ran for 5 seconds, and updated the title element. …So, a rational conclusion would be that the WRS has a 5 second render limit, right?”

But another measurement contradicted that conclusion. The page also made server-side API calls that took between six and twelve seconds to complete, yet Google’s Web Rendering Service still waited for the delayed content and included it in the rendered DOM.

Smart found what seemed to be a paradox, which begged the question: How can Google’s Web Rendering Service wait longer than five seconds if the JavaScript timer only advanced five seconds?

The answer is that Google’s Web Rendering Service uses a virtual clock instead of relying on actual elapsed time. While waiting for network requests (such as server-side API calls), it can pause that virtual clock, allowing more real-world time to pass than the JavaScript timer reports.

Smart explained:

“The WRS does time in its own way. Rather than the hardware clock, like you have on your computer or server, the WRS uses a virtual clock that they can control. This means that they can speed up, slow down, or even pause time for the headless Chrome instance if they choose.

How do we know that 5 seconds is not a limit? Remember those api calls that were made? These are delayed server side, for between 3 and 6 seconds. So the total time for both api calls could be anywhere between 6 and 12 seconds, longer than the famous 5 second limit.”

We Have A Better Understanding Of Web Rendering

The SEO community owes Dave Smart a word of thanks for running this clever experiment and confirming that there is no five-second time limit in relation to Google’s Web Rendering Service. Given that Martin Splitt’s comments also align with Smart’s test results, I think we can confidently close the book on the myth of the five-second render limit.

Watch Martin Splitt At About The 18 Minute Mark

Featured Image by Shutterstock/Cristina Conti