Infrastructure & Networking

What is Googlebot?

Googlebot is Google’s automated web crawling system, the software infrastructure responsible for discovering, fetching, and processing web content for inclusion in Google’s search index. Googlebot continuously crawls the web, following links, processing redirects, reading robots.txt directives, and gathering the signals that Google’s indexing and ranking systems use to understand and evaluate web content. Without Googlebot’s crawl no page can appear in Google Search results, the crawl is the necessary first step in Google’s pipeline from web content to search result.

Googlebot is not a single programme running on a single server, it is a distributed system operating across Google’s infrastructure, simultaneously crawling billions of pages from data centres around the world. Google’s crawl infrastructure processes an enormous volume of web content daily, fetching pages, rendering JavaScript, extracting links, and feeding data to the indexing pipeline that powers Google Search.

The name Googlebot refers to the entire crawling system but is most commonly associated with the identifying user agent string that Googlebot sends with its HTTP requests, Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html). This user agent string allows web server operators to identify Googlebot requests in server logs, configure robots.txt rules specifically for Googlebot, and verify crawler identity through reverse DNS lookup.

For redirect management Googlebot is the primary audience for redirect signals, 301 permanent redirects communicate permanent URL changes to Googlebot, triggering index updates that transfer SEO equity from redirect source URLs to redirect destinations. Understanding how Googlebot discovers, processes, and responds to redirects is foundational to effective redirect management.

Googlebot variants

Googlebot encompasses several specialised crawler variants, each with a specific purpose and user agent string.

Googlebot, main web crawler: the primary crawler for Google Search. Crawls web pages in desktop mode, simulating a desktop browser request. Used for general web crawling and indexing.

User agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Googlebot Smartphone: the mobile crawler, simulates a smartphone browser request. Google uses mobile-first indexing, the smartphone crawler is the primary crawler for most websites. Pages are evaluated based on their mobile experience, the desktop experience is secondary for indexing purposes.

User agent: 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)

Google-InspectionTool: the crawler used by Google Search Console’s URL Inspection tool when a user requests a live URL test. Returns real-time crawl results showing exactly what Googlebot sees when fetching a specific URL.

User agent: Mozilla/5.0 (compatible; Google-InspectionTool/1.0; +http://www.google.com/bot.html)

AdsBot-Google: Google’s crawler for evaluating landing page quality for Google Ads. Crawls URLs used as ad landing pages to assess content quality. AdsBot-Google does not follow the Googlebot user agent rules, it has its own user agent and must be specifically addressed in robots.txt if blocking is intended.

User agent: AdsBot-Google (+http://www.google.com/adsbot.html)

Googlebot-Image: specialised crawler for discovering and indexing images. Follows links and image source URLs, feeding Google Images.

User agent: Googlebot-Image/1.0

Googlebot-Video: specialised crawler for video content discovery and indexing.

Google-Extended: a crawler variant used for training Google’s AI systems, Bard, Vertex AI. Site owners can block Google-Extended in robots.txt to opt out of AI training data collection without affecting Google Search crawling.

How Googlebot crawls

Googlebot’s crawling behaviour follows a systematic process, discovery, prioritisation, fetching, rendering, and processing, each stage feeding into the next.

URL discovery: Googlebot discovers URLs through multiple channels. Link following, parsing crawled pages and extracting hyperlinks, is the primary discovery mechanism. XML sitemaps: submitted through Google Search Console, provide direct URL lists. Google Search Console’s URL Inspection tool allows requesting immediate crawl consideration for specific URLs. Redirect destinations discovered during crawling enter the crawl queue. Previously known URLs are recrawled on a schedule.

Crawl prioritisation: Googlebot does not crawl all discovered URLs with equal frequency. High-priority URLs, important pages on high-authority sites, recently updated content, URLs from submitted sitemaps, are crawled frequently. Low-priority URLs, deep pages on low-authority sites, URLs with few inbound links, are crawled infrequently or not at all.

Crawl budget: the number of URLs Googlebot crawls on a site within a given period, is determined by crawl demand, how important Google considers the site, and crawl rate limit, how fast Google can crawl without affecting server performance. Large sites with limited crawl budgets may have important pages crawled infrequently if crawl budget is wasted on low-value URLs.

HTTP request execution: Googlebot fetches each queued URL by sending an HTTP GET request with its identifying user agent string. The request includes standard HTTP headers, Host, User-Agent, Accept, Accept-Encoding: but typically does not include cookies from previous sessions or personalisation headers.

Googlebot requests arrive from IP addresses in Google’s published crawl IP ranges, verifiable through the reverse DNS process described below. Firewall rules that block unknown IP addresses may inadvertently block Googlebot if Google’s IP ranges are not included in the allow list.

JavaScript rendering: modern web pages rely heavily on JavaScript for content generation. Googlebot uses a rendering infrastructure similar to a headless Chrome browser, executing JavaScript after fetching the initial HTML and processing dynamically generated content. Rendering happens in a second wave, the initial HTML is processed immediately while JavaScript rendering is queued for later processing, potentially hours or days after initial fetch for lower-priority pages.

This rendering delay is important for redirect management, JavaScript-based redirects, window.location assignments, are not processed until the rendering phase. Server-side redirects, HTTP 301 responses, are processed immediately during the fetch phase. Server-side redirects are therefore faster and more reliable for SEO than JavaScript redirects.

Content processing: after fetching and rendering Googlebot extracts:

Text content, the visible text of the page, for indexing. Links, all hyperlinks for queue addition. Canonical tags: the preferred canonical URL. Meta robots directives: noindex, nofollow instructions. Structured data markup, Schema.org, JSON-LD, Microdata. Hreflang annotations: language and regional targeting signals. Redirect signals, following redirect chains and recording redirect relationships.

Googlebot verification

Because user agent strings can be spoofed, any HTTP client can claim to be Googlebot, legitimate Googlebot requests should be verified through reverse DNS lookup before making access decisions based on the Googlebot user agent.

Reverse DNS verification: the process for verifying that a request genuinely originates from Google’s infrastructure:

  1. Perform a reverse DNS lookup on the connecting IP address — host 66.249.66.1 — resolving the IP to a hostname.

  2. Verify the hostname ends in googlebot.com or google.com — legitimate Googlebot hostnames follow patterns like crawl-66-249-66-1.googlebot.com.

  3. Perform a forward DNS lookup on the verified hostname — confirming it resolves back to the original IP address. This forward confirmation prevents spoofing through manipulated reverse DNS records.

Google publishes its crawler IP ranges, operators can also verify Googlebot requests by checking whether the connecting IP falls within Google’s published ranges. The reverse DNS method is definitive, the IP range method is an approximation that requires maintaining an updated list of Google’s ranges.

When verification matters: for most web operators verification of Googlebot identity is not operationally necessary, the consequences of unverified Googlebot identification are minimal. Verification is important when:

Making security decisions based on Googlebot identity, allowing Googlebot to bypass rate limiting or access restrictions. Implementing analytics exclusions, filtering Googlebot traffic from analytics based on user agent requires confidence that the filtered traffic is genuinely Google’s crawler. Serving different content to Googlebot, any content differentiation based on Googlebot identification must be verified to avoid inadvertent cloaking with unverified imposters.

Googlebot and robots.txt

Googlebot respects robots.txt directives, fetching and caching the robots.txt file for each domain before crawling any page on the domain.

Googlebot-specific robots.txt directives: User-agent: Googlebot followed by disallow or allow directives applies specifically to Googlebot’s main web crawler. User-agent: Googlebot-Image applies specifically to the image crawler. User-agent: * applies to all crawlers including Googlebot when no specific Googlebot directive exists.

Robots.txt and redirect source domains: redirect source domains, domains that serve only redirect responses, may configure robots.txt to disallow all crawling, Disallow: /: since there is no content to index. However this is not always appropriate, Googlebot needs to crawl redirect source URLs to process the redirect signals. Blocking Googlebot from crawling a redirect source URL prevents it from discovering and processing the redirect, the redirect signal is never received.

For redirect management the correct approach is typically to allow Googlebot to crawl redirect source domains, enabling redirect signal processing, while configuring canonical tags and redirect responses that communicate the canonical destination clearly.

Googlebot and redirect processing

The most operationally significant aspect of Googlebot for redirect management is how it processes different redirect types and what actions it takes in response.

301 Moved Permanently: the primary redirect signal: when Googlebot encounters a 301 response it understands the redirect as permanent, the source URL has moved to the destination. Googlebot:

Follows the redirect and crawls the destination URL. Records the redirect relationship in Google’s systems. Initiates gradual de-indexing of the source URL, removing it from the search index over subsequent crawl cycles. Transfers link equity accumulated at the source URL to the destination, a process that happens progressively as Googlebot processes the redirect signal.

The 301 processing is not instantaneous, it occurs over days to weeks as Googlebot crawls and recrawls the source URL and processes the redirect signal. Monitoring Google Search Console Coverage reports shows the progression, source URLs transitioning from indexed to redirected status as Googlebot processes the redirect.

302 Found: temporary redirect: when Googlebot encounters a 302 it understands the redirect as temporary. Googlebot follows the redirect and crawls the destination but keeps the source URL indexed, the temporary redirect signals that the source URL will eventually return. Link equity is not transferred from source to destination through a 302, the source URL retains its accumulated equity.

Using 302 redirects for permanent URL changes is a common mistake, the source URLs remain indexed indefinitely and no equity transfer occurs. All permanent redirect configurations should use 301.

Redirect chains: Googlebot follows redirect chains up to a maximum hop count, approximately 5 hops. A chain longer than the maximum is not fully followed, Googlebot may stop following before reaching the final destination. Short redirect chains, 1-2 hops, are reliably processed. Long chains risk incomplete processing and equity dilution at each hop.

Collapsing redirect chains, updating redirect rules to point directly to final destinations rather than through intermediate URLs, ensures reliable processing and maximum equity transfer.

Crawl frequency of redirect sources: Googlebot continues to periodically recrawl redirect source URLs after the initial redirect detection. These recrawls confirm the redirect is still in place, reinforcing the signal. Over time as the redirect persists Googlebot reduces crawl frequency for redirect source URLs, the redirect is well-established and does not need constant reconfirmation. Eventually Googlebot may crawl redirect sources very infrequently, once every few weeks or months.

Optimising sites for Googlebot

Several practices ensure Googlebot can efficiently crawl and process a site’s content, maximising indexation and search visibility.

Accessible redirect chains: ensuring redirect source URLs return correct redirect responses when Googlebot visits them. Redirect management infrastructure must be reliably available, Googlebot requests to redirect sources that return errors rather than redirect responses fail to process the redirect signal.

Server-side over JavaScript redirects: implementing redirects as server-side HTTP responses rather than JavaScript-executed client-side redirects. JavaScript redirects are processed in Googlebot’s rendering phase, potentially hours or days after the initial fetch, while server-side redirects are processed immediately. For SEO-critical redirects server-side 301 responses are the only reliable mechanism.

Fast response times: Google adjusts crawl rate based on server response speed, slow servers receive fewer crawl requests per period. Fast, reliable responses, under 200ms, support higher crawl rates and more thorough indexation.

XML sitemaps with canonical URLs: submitting sitemaps containing canonical destination URLs, not redirect source URLs, guides Googlebot directly to indexable content. Canonical URLs in sitemaps signal which URLs should be indexed, supporting correct canonicalization decisions.

Related terms

Related terms

Ready to keep every link alive?

Ready to keep every link alive?

Ready to keep every link alive?