User-Agent
war ein user agent ist — the HTTP header crawlers und browsers verwenden zu identifizieren themselves, the robots.txt token vs. the full string, und wie zu überprüfen ein bot ist real.
Sprachen
2 Evidenzsignale auf dieser Seite
- Verknüpfte Quelldatencommon-crawlers.json
- Verknüpftes Live-WerkzeugGooglebot Verifier
ein user agent ist the HTTP header every client — browser, crawler, oder bot — sends zu identifizieren itself. Two things erhalten confused: the full user-agent *string* in the Anfrage header, und the short user-agent *token* (Googlebot, bingbot, Google-Extended) Sie target in robots.txt. The token ist ein substring von the string (RFC 9309); einige tokens, like Google-Extended, haben kein Anfrage string bei alle. The string ist trivially spoofed — Google says its own ist 'häufig spoofed' — so never trust es für access Steuerung. überprüfen Googlebot/Bingbot durch reverse DNS plus ein forward lookup, oder against published IP ranges. und watch the gotchas: AdsBot und Google-Safety ignore `User-agent: *`, version numbers und wildcards in the token line sind ignored, matching ist case-insensitive, und serving different Inhalt zu ein bot UA than zu users ist cloaking.
Evidence for this claim HTTP User-Agent is a request field containing product information supplied by the client; it is descriptive text and not proof of identity. Scope: HTTP semantics for User-Agent. Confidence: high · Verified: IETF RFC 9110: User-Agent Evidence for this claim robots.txt User-agent matching is defined by the Robots Exclusion Protocol and controls crawler access, not authentication or general HTTP content negotiation. Scope: RFC 9309 robots matching behavior. Confidence: high · Verified: IETF RFC 9309: Robots Exclusion ProtocolTL;DR — ein user agent ist ein little line von text every browser und every bot sends mit jede Anfrage zu say “hier’s who I am.” Google’s crawler says es ist Googlebot; Bing’s says bingbot. in
robots.txtSie don’t schreiben the whole line — Sie verwenden ein short name (ein “token”) likeGooglebot. und hier’s the catch: that line ist just text, so anyone kann fake es. The nur real Weg zu know ein bot ist who es claims zu sein ist zu prüfen wo its Anfrage tatsächlich came aus.
war ein user agent ist
Every time Ihre browser loads ein Seite, es sends along ein short text label that says war es ist — something like “I’m Chrome auf ein Mac.” That label ist the user agent, und es travels in ein HTTP header auf every Anfrage. Servers kann lesen es und react zu es.
wichtig catch up front: the client fills in that label itself. Nothing prüft es. es ist ein claim, nicht ein credential — so ein user agent that says “Googlebot” ist nicht the gleich thing als ein Anfrage das ist tatsächlich verified als Googlebot.
Crawlers tun the gleich thing. wenn Googlebot fetches Ihre Seite, es sends ein user agent
that enthält Googlebot. wenn Bingbot fetches es, the user agent enthält
bingbot. das ist wie ein bot announces itself in Ihre server logs.
Der String vs. der Kurzname
dort sind really two things Menschen bedeuten durch “user agent,” und mixing them up causes ein lot von confusion:
- The user-agent string ist the full line in the Anfrage header. Googlebot’s ist long und looks ein lot like ein browser.
- The user-agent token ist the short name Sie verwenden in
robots.txtzu target ein bot — likeGooglebotoderbingbot. The token ist just ein piece von the full string, nicht the whole thing.
So wenn Sie schreiben ein rule in robots.txt, Sie verwenden the short token:
User-agent: Googlebot
Disallow: /private/Sie don’t paste the giant browser-looking string in dort.
Sie kann nicht trust the string
dies ist the one thing zu remember. The user-agent line ist plain text, so anything kann fake es. Any script kann claim zu sein Googlebot in ein single line von code — und plenty tun, zu sneak past blocks. Google itself says the Googlebot header ist “häufig spoofed.”
That bedeutet Sie sollte never entscheiden who erhält access zu Ihre Website based nur auf the user agent. wenn Sie tatsächlich benötigen zu confirm ein visitor ist the real Googlebot (say, Sie sind reading Ihre logs), Sie überprüfen durch checking wo the Anfrage came aus — nicht war es says es ist. The Advanced tab walks durch exactly wie.
ein few gotchas
robots.txtuser-agent names sind case-insensitive —Googlebotundgooglebotsind the gleich.- Blocking everything mit
User-agent: *tut nicht block alle von Google’s bots — its ad crawlers und safety crawler ignore the wildcard. - Showing one version von ein Seite zu ein crawler und ein different one zu real Menschen ist cloaking, und Google treats es als spam.
wollen the full picture — the token tables, every Google und Bing crawler, the exact verification commands, und the cloaking rules — switch zu the Fortgeschritten tab.
Evidence for this claim HTTP User-Agent is a request field containing product information supplied by the client; it is descriptive text and not proof of identity. Scope: HTTP semantics for User-Agent. Confidence: high · Verified: IETF RFC 9110: User-Agent Evidence for this claim robots.txt User-agent matching is defined by the Robots Exclusion Protocol and controls crawler access, not authentication or general HTTP content negotiation. Scope: RFC 9309 robots matching behavior. Confidence: high · Verified: IETF RFC 9309: Robots Exclusion ProtocolTL;DR — ein user agent ist the HTTP Anfrage header any client sends zu identifizieren itself; es ist optional, client-filled metadata, nicht authenticated identity. Its Wert ist the user-agent string. Separate aus that ist the user-agent token (Produkt token) verwendet in
robots.txt— RFC 9309 says es sollte sein ein substring von the string, ein strong convention mit dokumentiert exceptions (Google-Extended hat kein Anfrage string bei alle). Matching ist case-insensitive, version numbers/wildcards in the token line sind ignored, the meisten-specific group wins, und gleich-token groups merge aber never merge mit*. The string ist trivially spoofed — Google calls its own “häufig spoofed” — so überprüfen durch reverse + forward DNS (behind any proxy/CDN, verwenden the real client IP) againstgooglebot.com/google.com/googleusercontent.comfür Google odersearch.msn.comfür Bing, oder match published IP ranges — und even ein verified Anfrage nur proves ein Anfrage arrived, nicht that the Seite war indexed, retrieved, oder verwendet für AI training. AdsBot und Google-Safety ignoreUser-agent: *. Chrome ist auch freezing detail out von browser UA strings (User-Agent reduction); Client Hints sind the structured aber opt-in replacement, und neither substitutes für crawler verification. User-agent adaptation kann sein legitimate, aber deceptively showing crawlers materially different Inhalt kann sein cloaking.
The header, the string, und the token
Three things, und keeping them straight ist meisten von dies topic.
- The header.
User-Agentist ein HTTP Anfrage header. Every client sends es: Ihre browser,curl, ein crawler, ein bot. Per RFC 9110 (the core HTTP semantics standard), es ist ein optional field the client fills in — client-supplied descriptive metadata, nicht ein authenticated identity the server hat verified. - The string. The header’s Wert — ein freeform line describing the software, version, rendering Engine, und sometimes the OS.
- The token. The short identifier verwendet in
robots.txtUser-agent:lines zu target ein crawler —Googlebot,bingbot,Google-Extended.
The relationship ist the part that trips Menschen up. RFC 9309 (the formal Robots
Exclusion Protocol standard) says the token “sollte sein ein substring von the
identification string that the crawler sends… in the case von HTTP, the Produkt token
sollte sein ein substring in the User-Agent header.” das ist ein SHOULD, nicht ein MUST —
ein strong convention the standard recommends, nicht ein hard requirement every crawler ist
mechanically bound zu. Google-Extended (below) ist the clearest Beispiel von ein
dokumentiert exception zu es. Don’t lesen the substring rule als universal just weil
Google follows es für meisten von its own tokens. The token ist part von the string wenn
ein provider tut supply one; Sie target the token in robots.txt und lesen the string
in Ihre logs.
Google’s own framing von wie its bots identifizieren themselves ist nützlich hier: “Google’s
crawlers identifizieren themselves durch three things: the HTTP user-agent Anfrage
header, the Quelle IP address von the Anfrage, und the reverse DNS hostname von the
Quelle IP.” Note that the user-agent ist nur one von the three — the other two sind
wie Sie tatsächlich überprüfen es.
Google-Extended: ein token mit kein string
The cleanest illustration von token ≠ string ist Google-Extended. es controls
whether Google kann verwenden Ihre Inhalt für Gemini training und grounding — und es hat
kein dedicated HTTP Anfrage user-agent string bei alle. The crawling itself ist done
mit existing Googlebot strings; Google-Extended exists nur als ein robots.txt
Steuerung token. Sie’ll never sehen “Google-Extended” in ein Anfrage header in Ihre logs.
The practical consequence: blocking Google-Extended affects nur AI-training verwenden
von Ihre Inhalt — es tut nicht stop Googlebot aus crawling und indexing Sie für
Suche. sie sind separate decisions controlled durch separate tokens. (für the broader
picture von the bots reading Ihre Website, sehen AI crawlers und crawler.)
User-Agent-Strings von Googlebot
Googlebot ist “evergreen” — es läuft auf ein recent version von Chrome, und the Chrome
version in its string Aktualisierungen periodically (es hat since December 2019). das ist warum
the version erscheint als ein W.X.Y.Z placeholder:
Googlebot Smartphone (mobil):
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)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.36Two things zu internalize. erste, don’t hardcode the version — W.X.Y.Z Änderungen,
und matching auf es will break. Match the stable token Googlebot stattdessen. Second,
Sie kann nicht separate mobile aus desktop in robots.txt. Both variants teilen the one
Googlebot token, so ein robots.txt rule applies zu both.
Crawler-Tokens von Google
Google läuft ein whole family von crawlers und fetchers, jede mit its own token. The ones Sie’ll meet meisten:
| Crawler | robots.txt token | Notes |
|---|---|---|
| Googlebot | Googlebot | Suche, Images, Video, News, Discover — mobile + desktop teilen dies token |
| Googlebot Image | Googlebot-Image | Google Images |
| Googlebot Video | Googlebot-Video | Video Suche |
| Googlebot News | Googlebot-News | Uses various Googlebot strings |
| Google StoreBot | Storebot-Google | Shopping |
| Google-InspectionTool | Google-InspectionTool | Powers Suche testing Tools |
| GoogleOther | GoogleOther | intern research/fetching |
| Google-Extended | Google-Extended | robots.txt-nur — Gemini training, kein Anfrage string |
und the ones that break the usual rules — the special-case crawlers that ignore
User-agent: *:
- AdsBot (
AdsBot-Google) und AdsBot Mobile (AdsBot-Google-Mobile) — they don’t obey the wildcard. zu block them Sie must name them explicitly. - AdSense (
Mediapartners-Google) — gleich; ignores the global*. - Google-Safety — verwendet für malware/abuse detection; es ignores robots.txt entirely.
The implication ist the one Menschen miss: User-agent: * tut nicht block AdsBot oder
Google-Safety. wenn Sie “block alle bots” mit ein wildcard und assume AdsBot ist gone,
es ist nicht. (dies ist exactly the kind von surprise that lands ein Seite in indexed though
blocked by robots.txt territory — sehen robots.txt für the full Steuerung story.)
User-Agent-Strings von Bingbot
Bing rebuilt Bingbot’s string in 2022 zu reflect that es renders mit Microsoft Edge. The current strings:
Bingbot Desktop:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/W.X.Y.Z Safari/537.36Bingbot Mobile:
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; bingbot/2.0; +http://www.bing.com/bingbot.htm)The robots.txt token ist just bingbot. The thing zu watch: post-2022, Bingbot’s
string looks almost exactly like ein real Chrome/Edge browser — the nur mitteilen ist the
bingbot/2.0 fragment inside es. wenn Sie haben any logic that filters oder detects bots
durch UA, that ändern matters.
wie robots.txt tatsächlich matches ein token
ein few rules govern welche group von rules ein crawler obeys (per Google’s robots.txt spec und RFC 9309):
- meisten-specific match wins. Google “determines the correct group von rules durch
finding… the group mit the meisten specific user agent that matches the crawler’s
user agent.” ein
Googlebotgroup beats ein*group für Googlebot. - gleich-token groups merge — aber never mit
*. Multiple groups naming the gleich agent sind combined into one. ein specific-agent group und the*group sind nicht merged;*ist nur the fallback wenn nothing specific matches. - Case-insensitive. Field name und Wert both —
Googlebot,googlebot,GOOGLEBOTsind equivalent. - Version numbers und wildcards in the token line sind ignored. Per Google,
“both
googlebot/1.2undgooglebot*sind equivalent zugooglebot.” Sie kann nicht schreibenUser-agent: Googlebot*zu match ein family — the*dort tut nothing.
So ein User-agent: line takes ein token und matches es als ein plain (case-insensitive)
substring von the crawler’s identity — kein version pinning, kein wildcards inside es.
warum Sie kann nicht trust the string — und wie zu überprüfen
The user-agent string ist freeform text. Anything kann festlegen es. One line von curl
will claim zu sein Googlebot, und plenty von Tools und malicious bots tun exactly that zu
slip past blocks. Google says so in its own Googlebot docs: “the HTTP user-agent
Anfrage header verwendet durch Googlebot ist häufig spoofed durch other crawlers.” als I’ve put es
in my Googlebot guide, “viele SEO Tools und einige malicious bots will pretend zu sein
Googlebot. dies may erlauben them zu access Websites that try zu block them.”
So never machen ein access oder Inhalt decision auf the string alone. überprüfen stattdessen.
One prerequisite vor either Methode: erhalten the real Quelle IP. wenn Ihre Website sits
behind ein reverse proxy, load balancer, oder CDN, the address in Ihre Standard access log
may sein the proxy’s IP, nicht the crawler’s — Sie benötigen the original client IP (usually
forwarded in ein header like X-Forwarded-For, configured correctly bei Ihre proxy) oder
neither verification Methode below bedeutet anything.
Methode 1 — reverse + forward DNS (beste für spot prüft). Google’s two steps:
- “ausführen ein reverse DNS lookup auf the accessing IP address aus Ihre logs, Verwendung the
hostcommand. überprüfen that the domain name ist eithergooglebot.com,google.com, odergoogleusercontent.com.” - “ausführen ein forward DNS lookup auf the domain name retrieved in step 1… überprüfen that es ist the gleich als the original accessing IP address aus Ihre logs.”
für Bingbot, the gleich two-step dance, aber the hostname must end in search.msn.com
(nicht ein Bing-branded domain — ein common surprise). Commands sind in the Scripts tab.
Methode 2 — published IP ranges (beste im großen Maßstab). Google tut nicht veröffentlichen ein static allowlist für hardcoding (“these IP address ranges kann ändern”), aber es tut veröffentlichen machine-readable CIDR JSON files Sie kann match against (common-crawlers.json und the broader crawler files). Bing now publishes its ranges too. I erstellt ein Googlebot IP verification tool für exactly dies — paste in IPs und es classifies them. Bing Webmaster Tools hat ein erstellt-in “überprüfen Bingbot” Tool als well.
DNS ist better für ein one-off log prüfen; IP-range matching ist better für verifying bei volume. verwenden whichever fits — aber verwenden one von them. und treat both the expected hostnames und the range files als current als von today, nicht permanent — Google und Bing haben changed these paths vor (the IP-range JSON files moved und waren renamed since dies article war erste written), so re-prüfen the live verification doc wenn ein lookup that verwendet zu arbeiten stops matching.
ein UA match ist nicht proof von downstream outcomes
Even ein fully verified Anfrage — real Googlebot IP, forward-confirmed reverse DNS, everything prüft out — nur proves one thing: that Anfrage reached Ihre server. es ist tempting zu round that up into ein much bigger claim, aber jede von these ist ein separate fact requiring separate Belege:
- Anfrage received — ein Anfrage mit that user agent hit Ihre server. (war log verification tatsächlich proves.)
- Identity confirmed — the Anfrage really came aus the crawler es claims zu sein. (war reverse DNS / IP-range matching adds auf top.)
- Inhalt fetched und rendered — the crawler successfully rendered the Seite (kein errors, kein blocked resources). nicht guaranteed just weil ein Anfrage landed.
- Indexed — the URL made es into the Suche index. ein successful fetch tut nicht guarantee indexing.
- verwendet für retrieval, citation, oder training — für AI crawlers especially (Google-Extended, GPTBot, und the rest), ein crawlen ist nicht proof Ihre Inhalt war retrieved für ein specific Antwort, cited, oder verwendet in model training. diese sind separate, mostly unobservable steps downstream von the crawlen.
ein verified Googlebot hit in Ihre logs ist real signal — just don’t stretch es further than war es tatsächlich zeigt.
Web Bot Auth: wo verification ist heading
in 2026 Google began experimenting mit Web Bot Auth — “ein experimental
cryptographic protocol verwendet zu authenticate Anfragen sent durch bots.” The idea ist zu
“move beyond easily spoofed headers zu ein verified identity und decouple agent
identity aus IP addresses.” Bots cryptographically sign their Anfragen; Websites überprüfen
the signature against Google’s published public keys, und signed Anfragen carry ein
Signature-Agent header. Google’s own caveat matters: “wir don’t sign every Anfrage
von ein particular agent. sein sure that Sie fall back zu the established methods von bot
verification.” So es ist additive, nicht ein replacement — reverse DNS und IP ranges bleiben
Ihre baseline today.
Browsers sind getting harder zu parse aus the UA string too
Everything above ist über crawlers, aber the gleich “don’t over-trust the string” lesson applies zu browsers, und es ist getting stronger. Chrome hat been rolling out User-Agent reduction: freezing oder coarsening parts von its UA string (full browser version, OS version, device model) statt reporting them exactly, so the string kann nicht sein verwendet zu fingerprint ein specific user. Google’s own framing: “The granularity und abundance von detail kann lead zu user identification. The Standard availability von dies Informationen kann lead zu covert tracking.” Practically, that bedeutet UA-string parsing für exact browser/OS/device version — analytics, device detection, bug triage — ist increasingly unreliable und will nur erhalten mehr so.
The replacement Chrome recommends ist User-Agent Client Hints (UA-CH): structured
Daten the browser sends nur wenn ein server explicitly asks für es. Low-entropy hints
(browser brand, major version, mobile flag) go out standardmäßig; high-entropy hints
(exact version, Plattform version, device model) require the server zu opt in via ein
Accept-CH response header erste — ein explicit negotiation, nicht ein broadcast. Two
caveats vor Sie lean auf es: es ist ein Chrome/Chromium-family mechanism, nicht something
every browser sends, und even wo es ist supported, “the Wert may sein blank, nicht
returned, oder populated mit ein varying Wert.” Client Hints solve the browser-string
problem; they sind nicht ein crawler-verification mechanism — Google und Bing still
überprüfen their own crawlers via DNS und IP ranges, nicht Client Hints.
User-agent targeting und cloaking
The tempting move — “detect Googlebot durch its UA und serve es something special” — ist both technically fragile und ein policy violation.
Fragile, weil Google tut nicht crawlen mit one UA. Sie’d haben zu correctly handle Googlebot (mobile und desktop), Google-InspectionTool, AdsBot, GoogleOther, und mehr, aus rotating IPs — practically impossible zu whitelist cleanly.
ein policy violation, weil serving different Inhalt zu ein crawler than zu users ist cloaking: “presenting different Inhalt zu users und Suchmaschinen mit the intent zu manipulate Suche Rankings und mislead users.” The penalty ranges aus algorithmic demotion zu full deindexing. Note the line: legitimate adaptation (responsive layouts, Inhalt negotiation) ist fine — es ist swapping the Inhalt itself zwischen bots und users that crosses into cloaking.
für wo the user agent sits in the bigger pipeline, sehen crawling (the hub) und crawler. für controlling war diese bots sind allowed zu fetch, sehen robots.txt.
AI summary
ein condensed nehmen auf the Advanced version:
- Three things, kept straight: the
User-AgentAnfrage header — optional, client-filled metadata per RFC 9110, nicht authenticated identity; its Wert, the user-agent string; und the token verwendet inrobots.txt. Per RFC 9309 the token sollte sein ein substring von the string — ein strong convention, nicht ein universal rule. - einige tokens haben kein string.
Google-Extendedist the dokumentiert exception: es exists nur als ein robots.txt Steuerung (Gemini training); crawling uses normal Googlebot strings. Blocking es tut nicht affect Suche indexing. - Googlebot/Bingbot strings sind evergreen — the Chrome version zeigt als
W.X.Y.Zund Änderungen; match the stable token (Googlebot,bingbot), never the version. Mobile und desktop Googlebot teilen one token. Post-2022 Bingbot looks like ein real browser except für thebingbot/2.0fragment. - robots.txt matching: meisten-specific group wins; gleich-token groups merge aber never
mit
*; matching ist case-insensitive; version numbers und wildcards in theUser-agent:line sind ignored (Googlebot*=Googlebot). - AdsBot und Google-Safety ignore
User-agent: *— block them durch name oder nicht bei alle. - The string ist trivially spoofed (Google calls its own “häufig spoofed”). erhalten the
real client IP erste (proxies/CDNs kann mask es in Ihre logs), then überprüfen durch
reverse + forward DNS (
googlebot.com/google.com/googleusercontent.com; Bing →search.msn.com) oder published IP ranges — files Google hat renamed/moved vor, so re-prüfen the live doc wenn ein lookup stops matching. Never trust the string für access Steuerung. - ein verified Anfrage still ist nicht proof von everything downstream. Anfrage received, identity confirmed, Inhalt rendered, Seite indexed, und Inhalt retrieved/cited/trained-on sind separate claims needing separate Belege — ein log hit proves the erste, nothing else automatically.
- Web Bot Auth (2026, experimental) signs Anfragen cryptographically — additive, mit DNS/IP still the fallback.
- Browser UA strings sind getting harder zu parse too: Chrome’s User-Agent reduction freezes exact version/OS/device detail out von the string; Client Hints sind the structured, opt-in replacement — aber sie sind Chrome-specific und don’t substitute für crawler verification.
- Serving different Inhalt durch UA ist cloaking — ein spam-policy violation, und fragile weil Google crawls mit viele UAs.
Offizielle Dokumentation
Primary-Quelle documentation aus the Suchmaschinen und the standard.
- Overview of Google crawlers and fetchers (user agents) — the three identification signals und the full crawler Liste.
- Google’s common crawlers — the token + user-agent-string table.
- Google Special-Case Crawlers — AdsBot, Mediapartners-Google, Google-Safety und the
*exceptions. - Verify Requests from Google Crawlers and Fetchers — the two-step DNS Methode und the IP-range files.
- What Is Googlebot — the Googlebot strings und the “häufig spoofed” note.
- How Google Interprets the robots.txt Specification — token matching, case-insensitivity, ignored wildcards.
- Authenticating Requests with Web Bot Auth (Experimental) — the cryptographic signing protocol.
- Updating the user agent of Googlebot (2019) — warum the string zeigt
W.X.Y.Z. - Spam Policies — Cloaking — the definition und the penalty.
Bing / Microsoft
- Announcing user-agent change for Bingbot (Apr 2022) — the current desktop + mobile strings (Fabrice Canel).
- How to Verify that Bingbot is Bingbot (Aug 2012) — the
*.search.msn.comreverse-DNS Methode. - Bing Webmaster Tools — Verify Bingbot — the erstellt-in verification Tool.
The standard
- RFC 9110 — HTTP Semantics, §10.1.5 User-Agent — the core HTTP spec:
User-Agentist ein optional, client-supplied field, nicht authenticated identity. - RFC 9309: Robots Exclusion Protocol — the formal
SHOULD-level definition von the Produkt token als ein substring von the user-agent string. - MDN — User-Agent header — the HTTP syntax von the header itself.
Browser UA strings
- Chrome Privacy Sandbox — User-Agent reduction — war erhält frozen/coarsened in Chrome’s UA string, und warum.
- Chrome for Developers — User-Agent Client Hints — low- vs. high-entropy hints und the
Accept-CHopt-in.
Quotes aus the Quelle
auf-the-record statements aus Google, Bing, und the RFC. jede Link ist ein deep Link that jumps zu the quoted passage auf the Quelle Seite.
Google — wie crawlers identifizieren themselves
- “Google’s crawlers identifizieren themselves durch three things: the HTTP
user-agentAnfrage header, the Quelle IP address von the Anfrage, und the reverse DNS hostname von the Quelle IP.” — Google Suche Central docs. Jump to quote
Google — the string ist spoofed
- “The HTTP user-agent Anfrage header verwendet durch Googlebot ist häufig spoofed durch other crawlers.” — Google Suche Central docs. Jump to quote
Google — verifying durch DNS
- “ausführen ein reverse DNS lookup auf the accessing IP address aus Ihre logs, Verwendung the
hostcommand. überprüfen that the domain name ist eithergooglebot.com,google.com, odergoogleusercontent.com.” Jump to quote - “Google tut nicht post ein public Liste von IP addresses für Website owners zu allowlist weil these IP address ranges kann ändern.” Jump to quote
Google — Abgleich von robots.txt-Tokens
- “alle non-matching text ist ignored (zum Beispiel, both
googlebot/1.2undgooglebot*sind equivalent zugooglebot).” — Google’s robots.txt spec. Jump to quote
Google — Web Bot Auth
- “ein experimental cryptographic protocol verwendet zu authenticate Anfragen sent durch bots.” Jump to quote
- “wir don’t sign every Anfrage von ein particular agent. sein sure that Sie fall back zu the established methods von bot verification.” Jump to quote
Google — Cloaking
- “Cloaking refers zu the practice von presenting different Inhalt zu users und Suchmaschinen mit the intent zu manipulate Suche Rankings und mislead users.” — Google Suche Essentials, Spam Policies. Jump to quote
RFC 9309 — token ist ein substring von the string
- “The Produkt token sollte sein ein substring von the identification string that the crawler sends zu the Dienst. zum Beispiel, in the case von HTTP, the Produkt token sollte sein ein substring in the User-Agent header.” Jump to quote
Patrick Stox — auf spoofing
- “viele SEO Tools und einige malicious bots will pretend zu sein Googlebot. dies may erlauben them zu access Websites that try zu block them.” — aus my Googlebot Leitfaden auf Ahrefs. Read it
Crawler → token → string → überprüfen
The reference table. The token ist war Sie put in robots.txt; the überprüfen
hostname ist war ein genuine Anfrage reverse-resolves zu.
| Crawler | robots.txt token | UA string contains | überprüfen hostname (reverse DNS) |
|---|---|---|---|
| Googlebot (Suche) | Googlebot | Googlebot/2.1 | googlebot.com / google.com / googleusercontent.com |
| Googlebot Image | Googlebot-Image | Googlebot-Image/1.0 | gleich als Googlebot |
| Googlebot Video | Googlebot-Video | Googlebot-Video/1.0 | gleich als Googlebot |
| Google StoreBot | Storebot-Google | Storebot-Google/1.0 | gleich als Googlebot |
| Google-InspectionTool | Google-InspectionTool | Google-InspectionTool/1.0 | gleich als Googlebot |
| GoogleOther | GoogleOther | GoogleOther | varies (sehen Google’s IP files) |
| Google-Extended | Google-Extended | none — robots.txt-nur token | n/a (kein Anfrage string) |
| AdsBot | AdsBot-Google | AdsBot-Google | ignores User-agent: * |
| AdSense | Mediapartners-Google | Mediapartners-Google | ignores User-agent: * |
| Google-Safety | (ignores robots.txt) | Google-Safety | ignores robots.txt entirely |
| Bingbot | bingbot | bingbot/2.0 | search.msn.com |
robots.txt matching rules bei ein glance
| Rule | war es bedeutet |
|---|---|
| meisten-specific group wins | ein Googlebot group beats * für Googlebot |
| gleich-token groups merge | Multiple Googlebot groups combine into one |
…aber never merge mit * | * ist nur the fallback wenn nothing specific matches |
| Case-insensitive | Googlebot = googlebot = GOOGLEBOT |
| Version/wildcards in token ignored | Googlebot/1.2 und Googlebot* both = Googlebot |
Fast facts
- Token = substring von the UA string (RFC 9309). nicht the whole string.
- Mobile und desktop Googlebot teilen one token — Sie kann nicht split them in robots.txt.
- The Chrome version in the string ist
W.X.Y.Z— es Änderungen; never hardcode es. - The UA string ist trivially spoofed — überprüfen durch DNS oder IP, never trust the string.
überprüfen ein bot durch reverse + forward DNS
The user-agent string kann sein faked in one line von curl. Confirm ein bot ist genuine durch
checking the IP es tatsächlich came aus. The pattern ist the gleich für Google und Bing —
nur the expected hostname differs.
erhalten the right IP erste: wenn Anfragen pass durch ein reverse proxy, load balancer, oder CDN vor hitting Ihre server, Ihre Standard logs may zeigen the proxy’s address, nicht the crawler’s. verwenden the true client IP (aus ein correctly configured forwarding header) vor running either prüfen below.
macOS / Linux
# --- Googlebot ---
# 1) Reverse DNS the IP from your logs — must end in googlebot.com, google.com, or googleusercontent.com
host 66.249.66.1
# → 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com
# 2) Forward DNS that hostname back — it must resolve to the same IP
host crawl-66-249-66-1.googlebot.com
# → crawl-66-249-66-1.googlebot.com has address 66.249.66.1
# --- Bingbot ---
# Reverse DNS must end in search.msn.com, then forward-confirm back to the IP
host 157.55.39.1
host <the-hostname-it-returned>Windows
:: Googlebot
nslookup 66.249.66.1
nslookup crawl-66-249-66-1.googlebot.com
:: Bingbot
nslookup 157.55.39.1
nslookup <the-hostname-it-returned>wenn the reverse lookup tut nicht end in the expected domain — googlebot.com /
google.com / googleusercontent.com für Google, search.msn.com für Bing — oder the
forward lookup tut nicht match the original IP, es ist nicht the real bot, kein matter war the
user-agent string says.
Match against published IP ranges (im großen Maßstab)
für verifying lots von hits, skip per-Anfrage DNS und match the IP against the Engine’s published CIDR ranges stattdessen. Google publishes machine-readable JSON:
https://developers.google.com/static/crawling/ipranges/common-crawlers.json
https://developers.google.com/static/crawling/ipranges/special-crawlers.json
https://developers.google.com/static/crawling/ipranges/user-triggered-fetchers.jsonPull the file, erstellen the CIDR festlegen, und testen jede logged IP für membership. (I erstellt ein Googlebot IP verification tool that tut dies für Sie.) Bing publishes its ranges too, und Bing Webmaster Tools hat ein erstellt-in “überprüfen Bingbot” prüfen.
User-Agent-Sanity-Checkliste
vor Sie schreiben UA rules oder act auf ein bot in Ihre logs:
- Sie sind targeting the token in
robots.txt(e.g.Googlebot), nicht pasting the full UA string. - kein version numbers oder
*inside theUser-agent:line — sie sind ignored (Googlebot*tut nothing). - Sie haven’t assumed
User-agent: *blocks AdsBot oder Google-Safety — es tut nicht; name them explicitly wenn Sie benötigen zu. - wenn Sie blocked
Google-Extended, Sie verstehen es nur affects AI-training verwenden — Googlebot still crawls und indexes für Suche. - Sie sind nicht keying access Steuerung oder Inhalt auf the raw UA string — es ist spoofable.
- Any “ist dies really Googlebot?” prüfen goes durch reverse + forward DNS
(
googlebot.com/google.com/googleusercontent.com) oder the published IP ranges — Bing durchsearch.msn.com. - kein version-pinned UA matching anywhere — the Chrome
W.X.Y.Zportion Änderungen. - Sie sind nicht serving different Inhalt zu ein bot UA than zu users (das ist cloaking).
Tools für working mit user agents
Three von my own free Tools abdecken the three tasks Menschen tatsächlich come zu dies topic für: confirming ein claimed bot ist real, seeing welche user agents sind tatsächlich hitting Ihre Website, und checking war AI crawlers sind allowed zu tun.
Googlebot Verifier — the Tool für the exact problem dies article keeps coming back zu: the user-agent string ist just text, so Sie kann nicht trust es auf its own. Paste in ein IP address aus Ihre logs, pick welche crawler es claims zu sein (Googlebot, Bingbot, und others), und es läuft the reverse + forward DNS prüfen und the published-IP-range match für Sie, then returns ein tiered verdict — reverse-DNS confirmed, in published ranges, spoofed, unverifiable, oder nicht ein known crawler. Got ein whole day von hits zu prüfen statt one IP? Paste bis zu 500 IPs oder raw log lines into the bulk box.
Log File Analyzer — für the question “welche user agents sind tatsächlich crawling my Website?” Drop in ein server access log (nginx, Apache, IIS/W3C, oder JSON) und es parses es entirely in Ihre browser, breaking crawlen activity down durch bot und durch section, flagging status-code waste, splitting AI crawlers aus Suche crawlers, und — the part that matters meisten für dies topic — running ein spoofer Bericht that names Anfragen claiming zu sein ein known crawler’s user-agent token ohne the IP zu back es up.
AI-Crawler Access Checker — für the newer
family von tokens that don’t behave like Googlebot oder bingbot. Enter ein URL und
es prüft Ihre robots.txt against every major AI-crawler user-agent token
(GPTBot, ClaudeBot, PerplexityBot, Google-Extended, und mehr), zeigt the exact
rule that wins für jede, und flags whether ein llms.txt exists. nützlich für
confirming ein token like Google-Extended ist doing war Sie think es ist doing —
since, als covered above, es hat kein Anfrage string von its own zu spot in Ihre
logs.
Prompts für user-agent tasks
Two prompts erstellt rund the specific traps dies topic sets — spoofing und
robots.txt token syntax — nicht generic “audit my SEO” filler. Paste Ihre own
Daten into the placeholders.
Prompt 1 — triage ein batch von user-agent strings aus Ihre logs für signs von spoofing
Paste ein column von raw user-agent strings pulled aus Ihre access log (nicht IPs — dies prompt kann nicht überprüfen identity, nur spot inconsistencies in the string itself):
Here is a list of raw User-Agent strings from my server access log, one per
line. For each one:
1. Say which crawler token it claims to be (e.g. Googlebot, bingbot,
GPTBot), or "no recognizable token" if none.
2. Flag anything internally inconsistent for that claimed crawler — e.g. a
claimed Googlebot string missing "compatible; Googlebot" or the
"+http://www.google.com/bot.html" URL, a claimed bingbot string missing
"bingbot/2.0", or a Chrome version that looks hand-typed rather than a
real evergreen build.
3. Remind me that this is a text-pattern check only — it cannot confirm
identity. Real verification requires reverse+forward DNS or matching
against the crawler's published IP ranges.
[paste user-agent strings here]Prompt 2 — prüfen ein robots.txt für token-matching mistakes
Paste Ihre full robots.txt file:
Review this robots.txt file for user-agent token mistakes:
1. Flag any User-agent line that includes a version number or a wildcard
inside the token (e.g. "Googlebot/1.2" or "Googlebot*") — these are
ignored, not matched as a family.
2. Check whether User-agent: * is being relied on to block AdsBot-Google,
AdsBot-Google-Mobile, Mediapartners-Google, or Google-Safety — these
ignore the wildcard and need their own named group if I want them
blocked.
3. Note any duplicate groups for the same token that could be merged, and
confirm token matching here is case-insensitive so I don't need
near-duplicate groups for casing variants.
4. List which named groups exist and which of Google's/Bing's common
crawler tokens (Googlebot, Googlebot-Image, Google-Extended, bingbot)
have no explicit group at all, so I know they're falling through to *.
[paste robots.txt here] testen yourself: user agent
Five quick questions auf the header, the string, the token, und wie zu überprüfen ein bot ist real. Pick ein Antwort für jede, then prüfen.
Resources worth Ihre time
My related writing
- What Is Googlebot & How Does It Work? — the full Googlebot UA strings, verification methods, und my IP verification Tool.
- Indexed, though blocked by robots.txt — wo UA-based blocking und robots.txt blocking collide.
- Robots.txt and SEO: Everything You Need to Know — wie user-agent groups und rules tatsächlich arbeiten.
- Meet the New Web Crawlers: AI Bots Are Closing in on Search Engine Bots — the changing cast von user agents in Ihre logs.
Official / standards
- RFC 9110 — HTTP Semantics, §10.1.5 User-Agent — the base definition: optional, client-supplied metadata.
- RFC 9309: Robots Exclusion Protocol — the formal
SHOULD-level Produkt-token-als-substring definition. - Google’s Overview of crawlers and fetchers und Verify Google crawlers.
- Chrome Privacy Sandbox — User-Agent reduction und User-Agent Client Hints — warum browser UA strings sind getting harder zu parse, und war replaces them.
aus others
- John Mueller — Bots that impersonate Googlebot — auf spoofing und warum reverse DNS ist the Antwort.
- MDN — User-Agent header — the HTTP spec view von the header.
- r/TechSEO — the community für crawl/log debugging.
- Web Bot Auth: Google’s new experimental method to validate authentic bots (Suchmaschine Land, Barry Schwartz, May 2026) — the beste news-desk summary von wie cryptographic bot signing funktioniert und war es bedeutet in der Praxis.
- Google-Agent user agent identifies AI agent traffic in server logs (Suchmaschine Land) — deckt ab the neu user-triggered fetcher that ignores robots.txt und uses Web Bot Auth.
- Google Is Testing New Bot Authorization Standard (Suchmaschine Journal) — broader industry Kontext auf the IETF standard und welche companies (Amazon, Cloudflare, Akamai, OpenAI) sind backing es.
- Announcing future user-agents for Bingbot (Bing Webmaster Blog, Fabrice Canel, Dec 2019) — the original announcement von Bingbot’s shift zu Edge-based rendering vor the 2022 rollout.
- Microsoft list of Bingbot IP addresses released (Suchmaschine Land) — coverage von Bing’s decision zu veröffentlichen IP ranges für bei-scale bot verification.
Änderungsprotokoll
Aktualisiert am 18. Juli 2026.
Redaktionelle Zusammenfassung und aufgezeichnete Änderungsdetails.Änderungsdetails
-
Detaillierte Änderungsangaben sind derzeit auf Englisch verfügbar.
-
Detaillierte Änderungsangaben sind derzeit auf Englisch verfügbar.
-
Detaillierte Änderungsangaben sind derzeit auf Englisch verfügbar.
-
Detaillierte Änderungsangaben sind derzeit auf Englisch verfügbar.
-
Detaillierte Änderungsangaben sind derzeit auf Englisch verfügbar.
Vollständiger Vergleich nicht verfügbar — für diese Version wurde kein früherer Schnappschuss archiviert.