// glossary

Googlebot: How Google's Crawler Finds and Indexes Pages

Googlebot is Google's web crawler. Learn how it discovers, fetches, renders, and indexes pages — plus the practical fixes that get more of your site crawled.

// updated:

Googlebot is the automated program Google uses to discover, fetch, and process web pages so they can be considered for Google Search. It works in three phases — crawling, rendering, indexing — and obeys signals like robots.txt, meta robots, and canonical tags along the way. If a page is broken, blocked, or unrenderable at any of those phases, it never makes the index, which is why understanding Googlebot is foundational to every technical SEO call we make.

Googlebot

Googlebot is Google’s web crawler — a family of user-agents that fetch pages, follow links, and render content, then hand it to Google’s indexing systems for inclusion and ranking in Search.

How Googlebot actually works

Googlebot isn’t one bot hammering your server at random — it’s a pipeline of three distinct stages, each with its own failure modes. Treating it that way is the difference between “we requested indexing and prayed” and actually diagnosing why a URL won’t rank.

Stage 1 — Crawling. Googlebot maintains a queue of known URLs from past crawls, your XML sitemaps, and links found across the web. It requests each URL over HTTP(S), reads the response code, and queues new links. It’s the same mechanic behind how web crawlers work generally — at planetary scale, with Google’s priorities.

Stage 2 — Rendering. Modern Googlebot runs an evergreen, headless Chromium build. After the raw HTML fetch, render-needing pages enter a queue where JavaScript executes and the DOM is built out. The rendered DOM — not just the source HTML — is what gets indexed. Content that only appears after a client-side fetch counts only once rendering completes.

Stage 3 — Indexing. Google parses the rendered page: content, structured data, title and meta tags, canonical signals, hreflang, and links. It decides whether to index, which URL is canonical, and how to represent the page. A noindex seen here pulls the page out — even if it crawled fine.

The trap we see constantly: people optimize for crawling and forget rendering. A page returns a clean 200, shows up in your logs, and still won’t index — because the content Googlebot needs is gated behind JavaScript that never runs.

The Googlebot user-agents

“Googlebot” is shorthand for several distinct crawlers. The two that matter most for organic SEO:

User-agentPrimary jobNotes
Googlebot SmartphoneCrawls/indexes the mobile viewThe default since mobile-first indexing rolled out site-wide; this is what indexes your content
Googlebot DesktopCrawls the desktop viewNow secondary; runs far less often than the smartphone agent
Googlebot Image / VideoMedia discoveryFeeds Google Images and video surfaces
Google-InspectionToolPowers URL Inspection & Rich Results TestIdentifies as Googlebot but is triggered by you in Search Console
Google-ExtendedAI training/grounding controlA robots.txt token to opt out of Gemini/Vertex training — separate from search crawling

Two practitioner-grade points. First: because indexing is mobile-first, if content, structured data, or links exist on desktop but not mobile, Google effectively doesn’t see them. Second: Google-Extended is not Googlebot. Blocking it does not remove you from Search — but in the AI Overviews era it can quietly cut you out of generative answers while saving no crawl. Decide that one deliberately.

What controls Googlebot — the signals that matter

Googlebot reads directives in a specific order. Get the order wrong and you’ll block the very signal you needed Google to see.

  • robots.txt — Checked before fetching. A Disallow stops the crawl. Critical gotcha: a blocked URL can still get indexed (URL-only, no snippet) from external links, because Google never fetched the page to see your noindex. Use robots.txt to manage crawl, not to deindex.
  • Meta robots & X-Robots-Tag — Read after fetching, so the page must be crawlable for these to work. noindex here is the correct deindexing tool. See our deep-dives on meta robots advanced settings and the X-Robots-Tag HTTP header for non-HTML files.
  • Canonical tags — A hint, not a command. Google picks the canonical from a cluster of signals; your rel=canonical is one vote. Conflicting signals cause the duplicate without user-selected canonical status in Search Console.
  • HTTP status codes — 200 gets processed, 3xx redirects are followed (mind redirect chains), 4xx drops the page, and repeated 5xx errors slow crawling and can deindex. Watch for soft 404s, which waste crawl on pages Google should never have queued.

Crawl budget: who actually needs to care

Crawl budget is the number of URLs Googlebot will fetch on your site in a given window. It’s governed by two things: crawl capacity (how much your server can handle without slowing down or erroring) and crawl demand (how much Google wants your URLs, driven by popularity and freshness).

Here’s the honest take most guides skip: for sites under ~10k URLs, crawl budget is rarely your problem. If a small site isn’t indexing, it’s almost always a quality, rendering, or directive issue — not budget. Budget becomes a real lever on large catalogs, faceted-navigation sites, and anything generating infinite parameter URLs.

Wastes crawl budgetProtects crawl budget
Faceted/parameter URL explosionCanonicalization + parameter discipline
Long redirect chainsSingle-hop 301s
Soft 404s and thin contentPruning or noindexing low-value pages
Orphaned content Google can’t reachStrong internal links + clean sitemaps
Slow server responses / 5xx spikesFast, stable hosting

Budget optimization is never “make Google crawl more.” It’s “make Google spend its crawl on the URLs that earn money” — a site structure and pruning job, not a magic robots.txt line.

How to verify and monitor Googlebot

Anyone can spoof the Googlebot user-agent — scrapers do it constantly. So verification matters.

  1. Confirm it’s really Googlebot. Run a reverse DNS lookup on the requesting IP; it should resolve to a googlebot.com or google.com host, and a forward lookup must match. Or check the IP against Google’s published crawler ranges.
  2. Read Search Console Crawl Stats. Total requests, response codes, file types, and Googlebot type — your first stop when crawling looks off.
  3. Use URL Inspection. It shows the crawled status, the rendered HTML (vital for catching JS problems), and the canonical Google chose versus the one you declared.
  4. Analyze server logs. The ground truth. Logs reveal exactly which URLs Googlebot hits, how often, and what status it gets — the only way to spot crawl waste on a large site.

This crawl/render diagnosis is core to how we run technical SEO inside our AI SEO services and programmatic SEO builds — at scale, the gap between “crawled” and “indexed” is where traffic leaks out.

Frequently Asked Questions

What is Googlebot in simple terms?

Googlebot is Google’s web crawler — an automated bot that visits web pages, reads their content, follows links to find more pages, and sends what it finds to Google’s index. Pages it can’t crawl or render won’t appear in Google Search, making Googlebot access the foundation of getting found.

How do I check if Googlebot is crawling my site?

Open Google Search Console and review Crawl Stats for request volume and response codes, or use URL Inspection on a specific page. For deeper detail, analyze server logs to see exactly which URLs Googlebot requests and what status codes it receives. Verify suspect IPs with reverse DNS.

Does Googlebot render JavaScript?

Yes. Googlebot uses an evergreen, headless Chromium engine to execute JavaScript and build the DOM in a second rendering stage after the initial HTML fetch. But rendering is queued and resource-heavy, so critical content and links served only via client-side JavaScript can be delayed or missed if rendering fails.

How is Googlebot different from Google-Extended?

Googlebot crawls and indexes pages for Google Search. Google-Extended is a separate robots.txt token that controls whether your content is used to train and ground Google’s AI models like Gemini. Blocking Google-Extended does not remove you from Search, but it can exclude you from AI Overviews answers.

Can I block Googlebot from specific pages?

Yes, but pick the right tool. Use robots.txt Disallow to stop crawling, and a noindex meta robots tag or X-Robots-Tag header to remove a page from the index. Never use robots.txt alone to deindex — a blocked page can still be indexed URL-only from external links Google can’t suppress.

// related services

Put this knowledge to work

// ready to put it all together?

Founder-led SEO.
No dashboard theater.

Book a call →

// or send a message

Tell us
about your site.

Drop your URL and we’ll give you an honest read — no pitch, no obligation. Prefer to talk live? Book a call →

// 30 min · intro, founder-to-founder

Book a call