Googlebot

What Googlebot actually is — Smartphone vs Desktop, evergreen Chromium rendering, user-agent strings, IP-range verification, byte limits, and the crawl-vs-rank distinction.

First published: Jun 24, 2026 · Last updated: Jul 28, 2026 · Advanced
demand #6 in Crawling#14 in How Search Works#75 in Technical SEO#99 on the site
1 evidence signal on this page

Googlebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants that share one robots.txt token: Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop. It runs an evergreen Chromium and renders JavaScript in a separate, later queue (crawl ≠ render). Crawling isn't a ranking factor, and blocking Googlebot in robots.txt isn't the same as deindexing — a blocked URL can still be indexed URL-only. The user-agent is trivially spoofed, so verify with reverse + forward DNS or Google's published IP ranges. 'Googlebot' is really Google Search's slice of a much larger crawling platform.

TL;DR — Googlebot is Google Search’s crawler, split into Smartphone (primary, mobile-first) and Desktop, which share one Googlebot robots.txt token — you can’t target them separately. It runs an evergreen Chromium and renders JavaScript in a separate, later queue (crawl ≠ render). Crawling is required to rank but is not a ranking signal, and a robots-blocked URL can still be indexed URL-only. Verify it by reverse + forward DNS to a Google domain or against Google’s published IP ranges — the user-agent is trivially spoofed. And “Googlebot” is really just the Search-facing slice of a much bigger crawling platform.

Evidence for this claim Googlebot is Google's crawler, with smartphone and desktop crawler types that share the same product token. Scope: Current Googlebot crawler and user-agent documentation. Confidence: high · Verified: Google Search Central: Googlebot Evidence for this claim A claimed Google crawler can be verified using reverse and forward DNS or Google's published IP ranges. Scope: Google's current crawler-verification methods. Confidence: high · Verified: Google Search Central: Verify Googlebot

What Googlebot actually is

Google is precise about the name: “Googlebot is the generic name for two types of web crawlers used by Google Search.” Those two types are Googlebot Smartphone (“a mobile crawler that simulates a user on a mobile device”) and Googlebot Desktop (“a desktop crawler that simulates a user on desktop”).

It is not one little program running on one machine. “Googlebot runs on thousands of machines,” as I describe it in my Googlebot guide, “they determine how fast and what to crawl on websites,” distributed across datacenters worldwide but egressing primarily from US IP addresses. Discovery happens mostly through links — Google finds new URLs “primarily from links embedded in previously crawled pages” — plus sitemaps. (For the full discovery and scheduling picture, that’s the crawling hub’s job.)

Smartphone vs Desktop — and why it’s “smartphone-first”

Under mobile-first indexing, the smartphone crawler is the primary one. Google: “For most sites Google Search primarily indexes the mobile version of the content. As such the majority of Googlebot crawl requests will be made using the mobile crawler, and a minority using the desktop crawler.” Mobile-first indexing has been complete for all sites since October 2023, so the practical rule is: if content isn’t visible to the smartphone agent, it isn’t indexed. Match your content, structured data, metadata, and robots tags across mobile and desktop.

The robots.txt gotcha: “Both crawler types obey the same product token (user agent token) in robots.txt, and so you cannot selectively target either Googlebot Smartphone or Googlebot Desktop using robots.txt.” The only way to differentiate is to read the HTTP user-agent request header in your own server-side logic. (For the mechanics of that header format, see mobile-first indexing and user-agent.)

The user-agent strings

The robots.txt product token for both is just Googlebot. The full UA strings differ:

Googlebot Desktop:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36

Googlebot Smartphone:

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

W.X.Y.Z is a placeholder for the current Chrome version, which moves as Googlebot’s evergreen Chromium is updated. Don’t trust the string on its own, though — it’s trivially spoofed (see verification below).

Evergreen Chromium and the rendering queue

This is the distinction that trips people up most: crawling and rendering are separate steps. Googlebot runs “an evergreen version of Chromium,” and it became evergreen back in May 2019 (jumping from the old Chrome 41 to current stable), which is why it now handles ES6+, IntersectionObserver, Web Components, and modern CSS. But it doesn’t execute your JavaScript the moment it fetches the HTML.

Google: “Googlebot queues all pages with a 200 HTTP status code for rendering, unless a robots meta tag or header tells Google not to index the page. The page may stay on this queue for a few seconds, but it can take longer than that. Once Google’s resources allow, a headless Chromium renders the page and executes the JavaScript.” The rendering service (WRS) behaves like a modern browser but with quirks worth knowing: it’s effectively stateless — local/session storage and cookies are cleared across page loads — it doesn’t fetch images or videos (to save bandwidth), caches aggressively (and may ignore your caching headers), and doesn’t support WebSockets or WebRTC. If your content only appears after a click or a JS-driven navigation that isn’t a real <a href> link, expect rendering trouble. (Depth lives in the rendering sibling.)

Byte limits

Googlebot doesn’t download an unlimited amount per URL. As of Google’s March 2026 Inside Googlebot update, it fetches roughly the first 2 MB of any individual URL (including the HTTP header) and up to 64 MB for a PDF. The figure is a moving target — Google’s own framing is that “this limit is not set in stone and may change over time as the web evolves and HTML pages grow in size,” and earlier docs listed 15 MB (which turned out to be the broader infrastructure default, not Search’s number). The practical point holds regardless: anything past the cutoff simply isn’t fetched — “to Googlebot, they simply don’t exist.” Keep critical content and markup above the bloat.

Worked failure: the canonical exists, but Googlebot never receives it

Imagine a product template returning 2.4 MB of HTML. An application serializes a huge product-state object and recommendation payload near the top of the document; the canonical, product description, structured data, and related-product links do not appear until roughly byte 2,180,000. A browser downloads the whole response, so View Source looks correct. Googlebot Search stops around its documented 2 MB limit, so those later signals do not exist in the fetched resource.

Diagnose the response in byte order, not only in the rendered DOM:

curl -sS -D response-headers.txt -o page.html https://example.com/product
wc -c response-headers.txt page.html
LC_ALL=C grep -abo 'rel="canonical"' page.html
LC_ALL=C grep -abo 'application/ld+json' page.html

The local byte counts are an approximation because delivery intermediaries and response handling can differ, but they answer the useful first question: are critical signals comfortably early, or are they sitting near or beyond the boundary? The fix is to remove or defer oversized inline data and emit essential metadata, primary content, and crawlable links early—not to move the same bloat around and hope the cutoff changes.

How Googlebot fetches — politely

  • Crawl rate is algorithmic and self-throttling. “For most sites, Googlebot shouldn’t access your site more than once every few seconds on average.” It speeds up or backs off based on your server’s health.
  • Status codes are the lever. Returning 429, 500, or 503 tells Googlebot to slow down — but that affects the entire hostname, not just the erroring URLs, and only works for a day or two before sustained errors start dropping pages from the index. John Mueller: “I’d only expect the crawl rate to react that quickly if they were returning 429 / 500 / 503 / timeouts,” and “404s are generally fine & once discovered, Googlebot will retry them anyway.”
  • crawl-delay is ignored. Google does not process the non-standard crawl-delay robots.txt directive at all. (Bing does honor it — one of the real Googlebot/Bingbot divergences.)
  • Crawling tracks crawl demand, not a flat quota — capacity (what your server can take) plus demand (popularity and staleness). For most sites this is a non-issue; it only bites at real scale. The full treatment is in crawl budget.

Verifying it’s really Googlebot

The user-agent header is “often spoofed by other crawlers” — so it alone proves nothing. Google’s crawlers identify themselves three ways: the user-agent header, the source IP, and the reverse-DNS hostname of that IP. Two real verification methods:

  1. Manual (one-off). Reverse-DNS the source IP; confirm it resolves to a hostname ending in googlebot.com, google.com, or googleusercontent.com (the mask looks like crawl-***-***-***-***.googlebot.com); then forward-DNS that hostname and confirm it returns the original IP.
  2. Automatic (at scale). Match the IP against Google’s published CIDR ranges. Google has split these from the old single googlebot.json into several JSON files by crawler category — the Googlebot one is https://www.gstatic.com/ipranges/common-crawlers.json (the legacy googlebot.json URL still redirects to the same data).

Both are in the Scripts tab, for macOS/Linux and Windows. Why bother? Plenty of traffic lies about being Googlebot, so logs that “show Googlebot” can be largely impostors — verify before you trust.

Googlebot is one bot in a fleet

“Googlebot” is genuinely a bit of a misnomer. Gary Illyes, March 2026: “I mean, calling it Googlebot, that’s a misnomer,” and “Googlebot is not our crawler infrastructure.” The infrastructure underneath, in his words, is “software as a service, if you like. SaaS” — a shared platform many Google products draw from. What you see in your logs is the Search slice of it: “When you see Googlebot in your server logs, you are just looking at Google Search.” He also notes there are “dozens, if not hundreds of different crawlers,” most too small to bother documenting.

The named ones you’ll actually meet alongside Googlebot include Googlebot-Image, Googlebot-Video, and Googlebot-News (which share Googlebot’s strings/tokens), Storebot-Google, and Google-InspectionTool (powers the URL Inspection and Rich Results tools). Two behave unusually: AdsBot ignores the global * robots.txt rule (a Disallow: / under User-agent: * still won’t stop it), and Google-Safety ignores robots.txt entirely. The AI-related crawlers — Google-Extended (controls Gemini training; not a ranking signal) and GoogleOther (R&D crawls, offloaded from Googlebot) — exist too, but the AI crawlers sibling covers those in depth, so I’ll point there rather than duplicate.

How to control Googlebot

Three controls, three different effects:

  • robots.txt stops crawling, not indexing. Use it to keep bots out of low-value URL spaces — never as a deindexing tool.
  • noindex stops indexing — but Googlebot must be allowed to crawl the page to see the tag in the first place.
  • Password protection blocks access entirely.

Which brings us to the single most misunderstood Googlebot fact: “There’s a difference between crawling and indexing; blocking Googlebot from crawling a page doesn’t prevent the URL of the page from appearing in search results.” A robots-blocked URL can still get indexed URL-only if something links to it. To actually remove a page, allow crawling and add noindex. I’ve written this up in detail in Indexed, though blocked by robots.txt.

For the wider pipeline Googlebot lives inside — URL discovery, the crawl scheduler, rendering, and the crawl-vs-index-vs-rank distinctions — see the crawling hub and How Search Works.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin an expert quote first.