{"id":10344,"date":"2026-09-04T07:20:00","date_gmt":"2026-09-04T05:20:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10344"},"modified":"2026-10-09T23:06:18","modified_gmt":"2026-10-09T21:06:18","slug":"robots-txt-for-search-training-and-assistant-crawlers-what-each-block","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/","title":{"rendered":"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents"},"content":{"rendered":"<p>One file, three audiences that have nothing to do with each other. A search crawler fetches a page so it can be found; a training crawler fetches it so a model can be built from it; an assistant fetches it because someone asked a question a minute ago. The three are told apart only by the name they announce themselves with, and blocking one says nothing about the others.<\/p>\n<p>Which is why the usual instruction &#8211; block the AI crawlers &#8211; is not a decision but three decisions, and two of them cost something that is rarely stated when the line is added.<\/p>\n<figure class=\"lw-diagram\">\n<img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/crawler-tore-en.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Three decisions for three kinds of crawler - search, training and assistants - each with the tokens that belong to it and with what a block prevents and what it costs\"><figcaption>Three decisions in robots.txt. Only the middle one is free of consequences for visibility.<\/figcaption><\/figure>\n<h2>Three Kinds That Do Different Work<\/h2>\n<p>Search crawlers &#8211; <code>Googlebot<\/code>, <code>Bingbot<\/code> and the rest &#8211; build the index that ordinary results come from. Blocking them removes the site from search within weeks, which is why nobody does it on purpose and why it happens by accident: a staging <code>Disallow: \/<\/code> that survives the move to production.<\/p>\n<p>Training crawlers &#8211; <code>GPTBot<\/code>, <code>Google-Extended<\/code>, <code>ClaudeBot<\/code>, <code>CCBot<\/code> and others &#8211; collect material that models are built from. They fetch once and read everything; nothing they take comes back as a visit.<\/p>\n<p>Assistant crawlers &#8211; <code>OAI-SearchBot<\/code>, <code>ChatGPT-User<\/code>, <code>PerplexityBot<\/code> &#8211; fetch a page because a question is being answered right now. What they take often comes back: as a citation, as a link, as the sentence someone reads instead of the search result.<\/p>\n<h2>What Each Block Prevents and Costs<\/h2>\n<table style=\"width:100%;border-collapse:collapse\">\n<thead>\n<tr>\n<th style=\"white-space:nowrap;vertical-align:top\">Blocking<\/th>\n<th>Prevents<\/th>\n<th>Costs<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\">Search<\/td>\n<td>Nothing worth preventing.<\/td>\n<td>The site disappears from Google and Bing.<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\">Training<\/td>\n<td>That new material enters the next model.<\/td>\n<td>Nothing measurable &#8211; not ranking, not visibility.<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top\">Assistants<\/td>\n<td>That the site is quoted in an answer.<\/td>\n<td>Exactly that visibility &#8211; the citation and the link that comes with it.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The middle row is the one that can be decided on principle without paying for it. The bottom row is the one that gets decided by accident, because the crawler names sit next to the training ones in every list that circulates.<\/p>\n<h2>Google-Extended Is Not Googlebot<\/h2>\n<p>The distinction that causes the most hesitation: <code>Google-Extended<\/code> governs whether content is used for training Gemini and the Vertex models and for grounding in Gemini Apps and in Grounding with Google Search on Vertex AI. It has no effect on crawling for Search, on indexing, or on ranking. Blocking it changes nothing about how a page performs in Google, and that is not a claim requiring trust &#8211; it is what the token exists for.<\/p>\n<p>The same separation runs through the other providers. <code>GPTBot<\/code> is training; <code>OAI-SearchBot<\/code> feeds the search index behind the assistant; <code>ChatGPT-User<\/code> is the fetch that happens when a user asks. Blocking all three because the names look similar is the most common way a site quietly leaves the answers it wanted to be in.<\/p>\n<h2>Nothing Works Backwards<\/h2>\n<p>A block applies from the moment it is read. Whatever has already been fetched sits in corpora that were built from it, and those do not consult robots.txt again. A site that has been online for years and adds the lines today has decided about future crawls, not past ones.<\/p>\n<p>That is worth saying plainly because the decision is often framed as removal. It is not removal; it is a fence around what has not been taken yet.<\/p>\n<h2>llms.txt: a Map, Not a Rule<\/h2>\n<p>The file at <code>\/llms.txt<\/code> points readers to content rather than forbidding access, as robots.txt does. This short Markdown document describes the site and identifies its substantive pages, serving as a table of contents for reading without the site&#8217;s navigation.<\/p>\n<p>Two things to be clear about. It is a proposal rather than a standard, and no crawler is obliged to look for it. And it does not restrict anything: a page listed there is not thereby permitted, and a page missing from it is not thereby protected. It costs ten minutes to write and is worth exactly what a good table of contents is worth &#8211; nothing at all if the pages behind it are thin.<\/p>\n<h2>What robots.txt Cannot Do<\/h2>\n<p>It is a request, not a lock. Every crawler decides for itself whether to obey, and the ones that do are the ones that publish a name to be blocked by. Anything that ignores the file is not affected by anything in it.<\/p>\n<p>robots.txt does not keep a page out of search results. A blocked page that others link to can still appear without a description, because the crawler was not allowed to read its content. Keeping a page out of the index requires <code>noindex<\/code>, which the crawler must be allowed to read. Keeping content private requires authentication. robots.txt serves a more limited purpose: directing crawlers that agree to follow its rules.<\/p>\n<h2>Three Details Behind the Names<\/h2>\n<h3>Google-Extended cannot be blocked at the server<\/h3>\n<p>Google-Extended has no user agent string of its own. Google&#8217;s crawler documentation states that crawling is done with the existing Google user agent strings and that the token is used in robots.txt purely in a control capacity. No request ever arrives under that name, so a firewall or server rule matching it catches nothing, and a rule against the agent that actually fetches, Googlebot, takes the site out of Search. For Google&#8217;s training and grounding question, the robots.txt entry is the only lever.<\/p>\n<h3>CCBot feeds a public archive<\/h3>\n<p>CCBot is the crawler of Common Crawl. It identifies itself as <code>CCBot\/2.0<\/code> and follows robots.txt. The crawl data is stored on Amazon S3 and published as an open dataset with as few restrictions as possible. What CCBot fetches therefore does not stay with a single model provider; it is available to anyone who downloads the archive. Blocking the training crawlers of individual providers while CCBot stays open leaves that indirect route in place.<\/p>\n<h3>A name listed twice is merged, not raffled<\/h3>\n<p>Files that grow over years sometimes name the same crawler in two groups. RFC 9309 settles that case: crawlers match the name case-insensitively, and if more than one group matches, their rules are combined into a single group. Within that merged group the longest matching rule decides, as in any other group. Two groups for <code>GPTBot<\/code>, one with <code>Disallow: \/<\/code> and the other with <code>Allow: \/blog\/<\/code>, therefore leave <code>\/blog\/<\/code> open, which may not be what was intended when the blocking group was added. Searching the file for each crawler name shows such duplicates in seconds.<\/p>\n<div class=\"lw-faq\">\n<h2>Questions and answers<\/h2>\n<h3>Does a rule under User-agent: * also apply to a crawler that has its own group in the file?<\/h3>\n<p>No, and this is exactly where adding the AI crawler names tends to go wrong. Under RFC 9309 a crawler follows the group that carries its name, and only if there is no such group does it follow the group under <code>User-agent: *<\/code>. The two are not merged. A separate group for OAI-SearchBot with <code>Allow: \/<\/code>, meant to admit the assistants explicitly, therefore also lifts, for that crawler, every block listed under *, such as the one for the admin area.<\/p>\n<p>Rules meant for everyone have to be repeated in every named group. Within a group the longest matching rule then decides, and on a tie the RFC says Allow should win. That makes it possible to block a site except for one directory without listing every path individually.<\/p>\n<h3>How can a fetch be confirmed as really coming from Googlebot or ChatGPT-User rather than merely using the name?<\/h3>\n<p>Not from the name, because any sender can put whatever it likes in the user agent. What holds up is the origin of the request, and there are two ways to establish it:<\/p>\n<ol>\n<li>Reverse and forward lookup. The hostname for the IP address is looked up; for Google&#8217;s crawlers it ends in googlebot.com, google.com or googleusercontent.com. That hostname then has to resolve back to the same address, otherwise the entry is forged. Google describes this procedure itself.<\/li>\n<li>Published address ranges. Several providers, Google and OpenAI among them, publish the IP ranges of their crawlers as machine-readable lists, split by crawler type. Matching against them can be automated and needs no DNS query per request.<\/li>\n<\/ol>\n<p>For robots.txt this makes no difference: a fetch posing as Googlebot and ignoring the file is not affected by anything in it anyway. The check matters once a block is to be enforced on the server, in a firewall for example. It then belongs in front of every rule that decides by name, so that an exception for genuine search crawlers is not open to anyone who uses that name.<\/p>\n<h3>What happens when robots.txt itself cannot be reached or returns an error?<\/h3>\n<p>That depends on the status code, and the two cases work in opposite directions. Under RFC 9309 a response in the 400 to 499 range counts as a missing file: the crawler may fetch everything. A server error in the 500 to 599 range, or a network failure, counts as a complete block instead; only if that state lasts a long time (the RFC gives 30 days as an example) may the crawler fall back on a cached copy or treat the file as missing.<\/p>\n<p>Two traps in the rest of the setup follow from this. A rule in the server configuration that accidentally catches robots.txt as well and answers it with 403, 404 or 410 lifts every block in the file. An overloaded server that answers robots.txt with 503, on the other hand, keeps the search crawlers away too. And every change only takes effect once the crawler fetches the file again; the RFC recommends not using a cached copy for more than 24 hours.<\/p>\n<h3>Does blocking Google-Extended also affect AI Overviews in Google Search?<\/h3>\n<p>No. AI Overviews are part of Search and draw on what Googlebot has crawled, which Google-Extended does not affect. How much of a page appears there can only be limited through snippet controls such as nosnippet or max-snippet, or prevented altogether with noindex, and both then apply to the ordinary search result as well.<\/p>\n<\/div>\n<div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9309.html\" target=\"_blank\" rel=\"noopener noreferrer\">RFC 9309: Robots Exclusion Protocol<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/search\/docs\/crawling-indexing\/overview-google-crawlers\" target=\"_blank\" rel=\"noopener noreferrer\">Google Search Central: crawlers<\/a><\/li>\n<li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc8615.html\" target=\"_blank\" rel=\"noopener noreferrer\">RFC 8615: Well-Known URIs<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/search\/docs\/crawling-indexing\/google-common-crawlers\" target=\"_blank\" rel=\"noopener noreferrer\">Google Search Central: Google&#8217;s common crawlers<\/a><\/li>\n<li><a href=\"https:\/\/commoncrawl.org\/faq\" target=\"_blank\" rel=\"noopener noreferrer\">Common Crawl: FAQ<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Search, training and assistants read the same file for entirely different reasons. What each block prevents, what it costs, and why Google-Extended has nothing to do with ranking.<\/p>\n","protected":false},"author":1,"featured_media":15146,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[91386,91115],"class_list":["post-10344","post","type-post","status-publish","format-standard","hentry","category-digital-marketing","tag-marketing-cyfrowy-pl","tag-web-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"GPTBot, Google-Extended, OAI-SearchBot: which crawler does what, what a block actually achieves, and why llms.txt is a map rather than a rule.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"GPTBot, Google-Extended, OAI-SearchBot: which crawler does what, what a block actually achieves, and why llms.txt is a map rather than a rule.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-04T05:20:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-09T21:06:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents\",\"datePublished\":\"2026-09-04T05:20:00+00:00\",\"dateModified\":\"2026-10-09T21:06:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/\"},\"wordCount\":1677,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png\",\"keywords\":[\"Digital Marketing\",\"Web Security\"],\"articleSection\":[\"Digital Marketing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/\",\"name\":\"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png\",\"datePublished\":\"2026-09-04T05:20:00+00:00\",\"dateModified\":\"2026-10-09T21:06:18+00:00\",\"description\":\"GPTBot, Google-Extended, OAI-SearchBot: which crawler does what, what a block actually achieves, and why llms.txt is a map rather than a rule.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png\",\"width\":1200,\"height\":630,\"caption\":\"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-marketing\\\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents | Lukas Wojcik","description":"GPTBot, Google-Extended, OAI-SearchBot: which crawler does what, what a block actually achieves, and why llms.txt is a map rather than a rule.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/","og_locale":"en_US","og_type":"article","og_title":"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents | Lukas Wojcik","og_description":"GPTBot, Google-Extended, OAI-SearchBot: which crawler does what, what a block actually achieves, and why llms.txt is a map rather than a rule.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-04T05:20:00+00:00","article_modified_time":"2026-10-09T21:06:18+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents","datePublished":"2026-09-04T05:20:00+00:00","dateModified":"2026-10-09T21:06:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/"},"wordCount":1677,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png","keywords":["Digital Marketing","Web Security"],"articleSection":["Digital Marketing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/","name":"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png","datePublished":"2026-09-04T05:20:00+00:00","dateModified":"2026-10-09T21:06:18+00:00","description":"GPTBot, Google-Extended, OAI-SearchBot: which crawler does what, what a block actually achieves, and why llms.txt is a map rather than a rule.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-10344-three-kinds-of-crawler-one-robots-tx-n.png","width":1200,"height":630,"caption":"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-marketing\/robots-txt-for-search-training-and-assistant-crawlers-what-each-block\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"robots.txt for Search, Training and Assistant Crawlers: What Each Block Prevents"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10344","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=10344"}],"version-history":[{"count":5,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10344\/revisions"}],"predecessor-version":[{"id":22090,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10344\/revisions\/22090"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/15146"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10344"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10344"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}