{"id":25662,"date":"2026-09-06T00:46:32","date_gmt":"2026-09-05T21:46:32","guid":{"rendered":"https:\/\/alienroad.com\/google-bilgi-bankasi\/how-google-interprets-the-robots-txt-specification\/"},"modified":"2026-09-06T00:49:53","modified_gmt":"2026-09-05T21:49:53","slug":"how-google-interprets-the-robots-txt-specification","status":"publish","type":"ar_kb","link":"https:\/\/alienroad.com\/google-bilgi-bankasi\/how-google-interprets-the-robots-txt-specification\/","title":{"rendered":"How Google interprets the robots.txt specification"},"content":{"rendered":"<p>\n  Google&#8217;s automated<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/overview-of-google-crawlers-and-fetchers-user-agents\/\">crawlers<\/a> support the<br \/>\n  <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9309.html\" class=\"external-link\">Robots Exclusion Protocol (REP)<\/a>.<br \/>\n  This means that before crawling a site, Google&#8217;s crawlers download and parse the site&#8217;s<br \/>\n  robots.txt file to extract information about which parts of the site may be crawled. The REP<br \/>\n  isn&#8217;t applicable to Google&#8217;s crawlers that are controlled by users (for example, feed<br \/>\n  subscriptions), or crawlers that are used to increase user safety (for example, malware<br \/>\n  analysis).\n<\/p>\n<p>\n  This page describes Google&#8217;s interpretation of the REP. For the original<br \/>\n  standard, check<br \/>\n  <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9309.html\" class=\"external-link\">RFC 9309<\/a>.\n<\/p>\n<h2 id=\"what-is-a-robots.txt-file\" tabindex=\"-1\">What is a robots.txt file<\/h2>\n<p>\n  If you don&#8217;t want crawlers to access sections of your site, you can create a robots.txt file<br \/>\n  with appropriate rules. A robots.txt file is a text file containing rules about which<br \/>\n  crawlers may access which parts of a site. For example, the robots.txt file for example.com<br \/>\n  may look like this:\n<\/p>\n<div><\/div>\n<p>\n  If you&#8217;re new to robots.txt, start with our<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/robots-txt-intro\/\" class=\"external-link\">intro to robots.txt<\/a>. You can also find<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/how-to-write-and-submit-a-robots-txt-file\/\">tips for creating a robots.txt file<\/a>.\n<\/p>\n<h2 id=\"file-location-and-range-of-validity\" tabindex=\"-1\">File location and range of validity<\/h2>\n<p>\n  You must place the robots.txt file in the top-level directory of a site, on a supported<br \/>\n  protocol. The URL for the robots.txt file is (like other URLs) case-sensitive. In case of<br \/>\n  Google Search, the supported protocols are HTTP, HTTPS, and FTP. On HTTP and HTTPS, crawlers<br \/>\n  fetch the robots.txt file with an HTTP non-conditional <code>GET<\/code> request; on FTP,<br \/>\n  crawlers use a standard <code>RETR (RETRIEVE)<\/code> command, using anonymous login.\n<\/p>\n<p>\n  The rules listed in the robots.txt file apply only to the host, protocol, and port number<br \/>\n  where the robots.txt file is hosted.\n<\/p>\n<h2 id=\"examples-of-valid-robots.txt-urls\" tabindex=\"-1\">Examples of valid robots.txt URLs<\/h2>\n<p id=\"tblDesc\">The following table contains examples of robots.txt URLs and what URL paths they&#8217;re valid for.<br \/>\n  Column one contains the URL of a robots.txt file, and column two contains domains that that robots.txt file would and wouldn&#8217;t apply to.<\/p>\n<table class=\"properties responsive\" aria-describedby=\"tblDesc\">\n<thead>\n<tr>\n<th colspan=\"2\">Robots.txt URL examples<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>https:\/\/example.com\/robots.txt<\/code><\/td>\n<td>\n<p>\n          This is the general case. It&#8217;s not valid for other subdomains, protocols, or port<br \/>\n          numbers. It&#8217;s valid for all files in all subdirectories on the same host, protocol,<br \/>\n          and port number.\n        <\/p>\n<p>        <span class=\"compare-yes\">Valid for:<\/span><\/p>\n<ul>\n<li><code>https:\/\/example.com\/<\/code><\/li>\n<li><code>https:\/\/example.com\/folder\/file<\/code><\/li>\n<\/ul>\n<p>        <span class=\"compare-no\">Not valid for:<\/span><\/p>\n<ul>\n<li><code>https:\/\/other.example.com\/<\/code><\/li>\n<li><code>http:\/\/example.com\/<\/code><\/li>\n<li><code>https:\/\/example.com:8181\/<\/code><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/www.example.com\/robots.txt<\/code><\/td>\n<td>\n<p>\n          A robots.txt on a subdomain is only valid for that subdomain.\n        <\/p>\n<p>\n          <span class=\"compare-yes\">Valid for:<\/span><br \/>\n          <code>https:\/\/www.example.com\/<\/code>\n        <\/p>\n<p><span class=\"compare-no\">Not valid for:<\/span><\/p>\n<ul>\n<li><code>https:\/\/example.com\/<\/code><\/li>\n<li><code>https:\/\/shop.www.example.com\/<\/code><\/li>\n<li><code>https:\/\/www.shop.example.com\/<\/code><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/example.com\/folder\/robots.txt<\/code><\/td>\n<td>\n        Not a valid robots.txt file. Crawlers don&#8217;t check for robots.txt files in subdirectories.\n      <\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/www.ex&auml;mple.com\/robots.txt<\/code><\/td>\n<td>\n<p>\n          IDNs are equivalent to their punycode versions. See also<br \/>\n          <a href=\"https:\/\/www.ietf.org\/rfc\/rfc3492.txt\" class=\"external-link\">RFC 3492<\/a>.\n        <\/p>\n<p>        <span class=\"compare-yes\">Valid for:<\/span><\/p>\n<ul>\n<li><code>https:\/\/www.ex&auml;mple.com\/<\/code><\/li>\n<li><code>https:\/\/xn--exmple-cua.com\/<\/code><\/li>\n<\/ul>\n<p>\n          <span class=\"compare-no\">Not valid for:<\/span><br \/>\n          <code>https:\/\/www.example.com\/<\/code>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><code>ftp:\/\/example.com\/robots.txt<\/code><\/td>\n<td>\n<p>\n          <span class=\"compare-yes\">Valid for:<\/span><br \/>\n          <code>ftp:\/\/example.com\/<\/code>\n        <\/p>\n<p>\n          <span class=\"compare-no\">Not valid for:<\/span><br \/>\n          <code>https:\/\/example.com\/<\/code>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/212.96.82.21\/robots.txt<\/code><\/td>\n<td>\n<p>\n           A robots.txt with an IP-address as the hostname is only valid for crawling of that<br \/>\n          IP address as the hostname. It isn&#8217;t automatically valid for all websites hosted on that<br \/>\n          IP address (though it&#8217;s possible that the robots.txt file is shared, in which case it<br \/>\n          would also be available under the shared hostname).\n        <\/p>\n<p>\n          <span class=\"compare-yes\">Valid for:<\/span><br \/>\n          <code>https:\/\/212.96.82.21\/<\/code>\n        <\/p>\n<p>\n          <span class=\"compare-no\">Not valid for:<\/span><br \/>\n          <code>https:\/\/example.com\/<\/code> (even if hosted on <code>212.96.82.21<\/code>)\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/example.com:443\/robots.txt<\/code><\/td>\n<td>\n<p>\n          Standard port numbers (<code>80<\/code> for HTTP, <code>443<\/code> for HTTPS,<br \/>\n          <code>21<\/code> for FTP) are equivalent to their default hostnames.\n        <\/p>\n<p><span class=\"compare-yes\">Valid for:<\/span><\/p>\n<ul>\n<li><code>https:\/\/example.com:443\/<\/code><\/li>\n<li><code>https:\/\/example.com\/<\/code><\/li>\n<\/ul>\n<p>\n          <span class=\"compare-no\">Not valid for:<\/span><br \/>\n          <code>https:\/\/example.com:444\/<\/code>\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/example.com:8181\/robots.txt<\/code><\/td>\n<td>\n<p>\n          Robots.txt files on non-standard port numbers are only valid for content made<br \/>\n          available through those port numbers.\n        <\/p>\n<p>\n          <span class=\"compare-yes\">Valid for:<\/span><br \/>\n          <code>https:\/\/example.com:8181\/<\/code>\n        <\/p>\n<p>\n          <span class=\"compare-no\">Not valid for:<\/span><br \/>\n          <code>https:\/\/example.com\/<\/code>\n        <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"http-status-codes\" tabindex=\"-1\">Handling of errors and HTTP status codes<\/h2>\n<p>\n  When requesting a robots.txt file, the HTTP status code of the server&#8217;s response affects how<br \/>\n  the robots.txt file will be used by Google&#8217;s crawlers. The following table summarizes how<br \/>\n  Googlebot treats robots.txt files for different HTTP status codes.\n<\/p>\n<table class=\"properties responsive\">\n<thead>\n<tr>\n<th colspan=\"2\">Handling of errors and HTTP status codes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td id=\"success\"><code>2xx (success)<\/code><\/td>\n<td>\n        HTTP status codes that signal success prompt Google&#8217;s crawlers to process the robots.txt<br \/>\n        file as provided by the server.\n      <\/td>\n<\/tr>\n<tr>\n<td id=\"redirection\"><code>3xx (redirection)<\/code><\/td>\n<td>\n<p>\n          Google follows at least five redirect hops as defined by<br \/>\n          <a href=\"https:\/\/www.ietf.org\/rfc\/rfc1945.txt\" class=\"external-link\">RFC 1945<\/a> and then<br \/>\n          stops and treats it as a <code>404<\/code> for the robots.txt file. This also applies to any<br \/>\n          disallowed URLs in the redirect chain, since the crawler couldn&#8217;t fetch rules due to<br \/>\n          the redirects.\n        <\/p>\n<p>\n          Google doesn&#8217;t follow logical redirects in robots.txt files (frames, JavaScript, or<br \/>\n          meta refresh-type redirects).\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td id=\"client-error\"><code>4xx (client errors)<\/code><\/td>\n<td>\n<p>\n          Google&#8217;s crawlers treat all <code>4xx<\/code> errors, except <code>429<\/code>, as if a<br \/>\n          valid robots.txt file didn&#8217;t exist. This means that Google assumes that there are no crawl<br \/>\n          restrictions.\n        <\/p>\n<aside class=\"warning\">\n          Don&#8217;t use <code>401<\/code> and <code>403<\/code> status codes for limiting the crawl rate.<br \/>\n          The <code>4xx<\/code> status codes, except <code>429<\/code>, have no effect on crawl rate.<br \/>\n          <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/reduce-the-google-crawl-rate\/\">Learn how to limit your crawl rate<\/a>.<br \/>\n        <\/aside>\n<\/td>\n<\/tr>\n<tr>\n<td id=\"server-error\"><code>5xx (server errors)<\/code><\/td>\n<td>\n<p>\n        If Google finds a robots.txt file but can&#8217;t fetch it, Google follows this behavior:\n      <\/p>\n<ol>\n<li>For the first 12 hours, Google stops crawling the site but keeps trying to fetch the<br \/>\n          robots.txt file.\n        <\/li>\n<li>If Google can&#8217;t fetch a new version, for the next 30 days Google will use the last good<br \/>\n          version, while still trying to fetch a new version. A <code>503 (service unavailable)<\/code><br \/>\n          error results in fairly frequent retrying. If there&#8217;s no cached version available,<br \/>\n          Google assumes there&#8217;s no crawl restrictions.\n        <\/li>\n<li>If the errors are still not fixed after 30 days:\n<ul>\n<li>If the site is generally available to Google, Google will behave as if there is no<br \/>\n              robots.txt file (but still keep checking for a new version).\n            <\/li>\n<li>\n              If the site has general availability problems, Google will stop crawling the site,<br \/>\n              while still periodically requesting a robots.txt file.\n            <\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/td>\n<\/tr>\n<tr>\n<td>Other errors<\/td>\n<td>\n        A robots.txt file which cannot be fetched due to DNS or networking issues, such as<br \/>\n        timeouts, invalid responses, reset or interrupted connections, and HTTP chunking errors,<br \/>\n        is treated as a <a href=\"#server-error\">server error<\/a>.\n      <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"caching\" tabindex=\"-1\">Caching<\/h2>\n<p>\n  Google generally caches the contents of robots.txt file for up to 24 hours, but may cache it<br \/>\n  longer in situations where refreshing the cached version isn&#8217;t possible (for example, due to<br \/>\n  timeouts or <code>5xx<\/code> errors). The cached response may be shared by different crawlers.<br \/>\n  Google may increase or decrease the cache lifetime based on<br \/>\n  <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html\" class=\"external-link\">max-age Cache-Control<\/a><br \/>\n  HTTP headers.\n<\/p>\n<h2 id=\"file-format\" tabindex=\"-1\">File format<\/h2>\n<p>\n  The robots.txt file must be a<br \/>\n  <a href=\"https:\/\/en.wikipedia.org\/wiki\/UTF-8\" class=\"external-link\">UTF-8<\/a> encoded plain text<br \/>\n  file and the lines must be separated by <code>CR<\/code>, <code>CR\/LF<\/code>, or<br \/>\n  <code>LF<\/code>.\n<\/p>\n<p>\n  Google ignores invalid lines in robots.txt files, including the Unicode<br \/>\n  <a href=\"https:\/\/en.wikipedia.org\/wiki\/Byte_order_mark\" class=\"external-link\">Byte Order Mark<\/a><br \/>\n  (BOM) at the beginning of the robots.txt file, and use only valid lines. For example, if the<br \/>\n  content downloaded is HTML instead of robots.txt rules, Google will try to parse the content<br \/>\n  and extract rules, and ignore everything else.\n<\/p>\n<p>\n  Similarly, if the character encoding of the robots.txt file isn&#8217;t UTF-8, Google may ignore<br \/>\n  characters that are not part of the UTF-8 range, potentially rendering robots.txt rules<br \/>\n  invalid.\n<\/p>\n<p>\n  Google enforces a robots.txt file size limit of 500<br \/>\n  <a href=\"https:\/\/en.wikipedia.org\/wiki\/Kibibyte\" class=\"external-link\">kibibytes<\/a> (KiB). Content<br \/>\n  which is after the maximum file size is ignored. You can reduce the size of the robots.txt<br \/>\n  file by consolidating rules that would result in an oversized robots.txt file. For<br \/>\n  example, place excluded material in a separate directory.\n<\/p>\n<h2 id=\"syntax\" tabindex=\"-1\">Syntax<\/h2>\n<p>\n  A valid robots.txt line consists of a field, a colon, and a value. Field names are<br \/>\n  case-insensitive (for example, <code>User-agent<\/code> and <code>user-agent<\/code> are treated the<br \/>\n  same). Spaces are optional, but recommended to improve readability. Space at the beginning and<br \/>\n  at the end of the line is ignored. To include comments, precede your comment with the<br \/>\n  <code>#<\/code> character. Keep in mind that everything after the <code>#<\/code> character will<br \/>\n  be ignored. The general format is<br \/>\n  <code>&lt;field&gt;:&lt;value&gt;&lt;#optional-comment&gt;<\/code>.\n<\/p>\n<p>\n  Google supports the following fields (other fields such as <code>crawl-delay<\/code> aren&#8217;t supported):\n<\/p>\n<ul>\n<li><code>user-agent<\/code>: identifies which crawler the rules apply to.<\/li>\n<li><code>allow<\/code>: a URL path that may be crawled.<\/li>\n<li><code>disallow<\/code>: a URL path that may not be crawled.<\/li>\n<li><code>sitemap<\/code>: the complete URL of a sitemap.<\/li>\n<\/ul>\n<p>\n  The <code>allow<\/code> and <code>disallow<\/code> fields are also called rules (also known as<br \/>\n  directives). These rules are always specified in the form of<br \/>\n  <code>rule: [path]<\/code> where <code>[path]<\/code> is optional. By default, there are no<br \/>\n  restrictions for crawling for the designated crawlers. Crawlers ignore rules without a<br \/>\n  <code>[path]<\/code>.\n<\/p>\n<p>\n  The <code>[path]<\/code> value, if specified, is relative to the root of the website from where<br \/>\n  the robots.txt file was fetched (using the same protocol, port number, host and domain names).<br \/>\n  The path value must start with <code>\/<\/code> to designate the root and the value is<br \/>\n  case-sensitive. Learn more about<br \/>\n  <a href=\"#url-matching-based-on-path-values\">URL matching based on path values<\/a>.\n<\/p>\n<h3 id=\"user-agent\" tabindex=\"-1\"><code>user-agent<\/code><\/h3>\n<p>\n  The <code>user-agent<\/code> line identifies which crawler rules apply to. See<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/overview-of-google-crawlers-and-fetchers-user-agents\/\">Google&#8217;s crawlers and user-agent strings<\/a><br \/>\n  for a comprehensive list of user-agent strings you can use in your robots.txt file.\n<\/p>\n<p>\n  Both the <code>user-agent<\/code> field name and its value are case-insensitive.\n<\/p>\n<h3 id=\"disallow\" tabindex=\"-1\"><code>disallow<\/code><\/h3>\n<p>\n  The <code>disallow<\/code> rule specifies paths that must not be accessed by the crawlers<br \/>\n  identified by the <code>user-agent<\/code> line the <code>disallow<\/code> rule is grouped with.<br \/>\n  Crawlers ignore the rule without a path.\n<\/p>\n<p>\n  Google can&#8217;t index the content of pages which are disallowed for crawling, but it may still<br \/>\n  index the URL and show it in search results without a snippet. Learn how to<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/block-search-indexing-with-noindex\/\" class=\"external-link\">block indexing<\/a>.\n<\/p>\n<p>\n  The field name (<code>disallow<\/code>) is case-insensitive, but its value is case-sensitive.\n<\/p>\n<p>Usage:<\/p>\n<div><\/div>\n<h3 id=\"allow\" tabindex=\"-1\"><code>allow<\/code><\/h3>\n<p>\n  The <code>allow<\/code> rule specifies paths that may be accessed by the designated<br \/>\n  crawlers. When no path is specified, the rule is ignored.\n<\/p>\n<p>\n  The field name (<code>allow<\/code>) is case-insensitive, but its value is case-sensitive.\n<\/p>\n<p>Usage:<\/p>\n<div><\/div>\n<h3 id=\"sitemap\" tabindex=\"-1\"><code>sitemap<\/code><\/h3>\n<p>\n  Google, Bing, and other major search engines support the <code>sitemap<\/code> field in<br \/>\n  robots.txt, as defined by <a href=\"https:\/\/sitemaps.org\" class=\"external-link\">sitemaps.org<\/a>.\n<\/p>\n<p>\n  The field name (<code>sitemap<\/code>) is case-insensitive, but its value is case-sensitive.\n<\/p>\n<p>Usage:<\/p>\n<div><\/div>\n<p>\n  The <code>[absoluteURL]<\/code> line points to the location of a sitemap or sitemap index file.<br \/>\n  It must be a fully qualified URL, including the protocol and host, and doesn&#8217;t have to be<br \/>\n  URL-encoded. The URL doesn&#8217;t have to be on the same host as the robots.txt file. You can<br \/>\n  specify multiple <code>sitemap<\/code> fields, with no limit to the number of sitemaps you can<br \/>\n  include. The sitemap field isn&#8217;t tied to any specific user agent and may be followed by all<br \/>\n  crawlers, provided it isn&#8217;t disallowed for crawling.\n<\/p>\n<p>For example:<\/p>\n<div><\/div>\n<h2 id=\"grouping-of-lines-and-rules\" tabindex=\"-1\">Grouping of lines and rules<\/h2>\n<p>\n  You can group together rules that apply to multiple user agents by repeating<br \/>\n  <code>user-agent<\/code> lines for each crawler.\n<\/p>\n<p>For example:<\/p>\n<div><\/div>\n<p>In this example there are four distinct rule groups:<\/p>\n<ul>\n<li>One group for user agent &#8220;a&#8221;.<\/li>\n<li>One group for user agent &#8220;b&#8221;.<\/li>\n<li>One group for both &#8220;e&#8221; and &#8220;f&#8221; user agents.<\/li>\n<li>One group for user agent &#8220;h&#8221;.<\/li>\n<\/ul>\n<p>\n  For the technical description of a group, see<br \/>\n  <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9309.html#section-2.1-2.4\" class=\"external-link\">section 2.1 of the REP<\/a>.\n<\/p>\n<h2 id=\"order-of-precedence-for-user-agents\" tabindex=\"-1\">Order of precedence for user agents<\/h2>\n<p>\n  Only one group is valid for a particular crawler. Google&#8217;s crawlers determine the correct<br \/>\n  group of rules by finding in the robots.txt file the group with the most specific user agent<br \/>\n  that matches the crawler&#8217;s user agent. Other groups are ignored. All non-matching text is<br \/>\n  ignored (for example, both <code>googlebot\/1.2<\/code> and <code>googlebot*<\/code> are<br \/>\n  equivalent to <code>googlebot<\/code>). The order of the groups within the robots.txt file is<br \/>\n  irrelevant.\n<\/p>\n<p>\n  If there&#8217;s more than one specific group declared for a user agent, all the rules from the<br \/>\n  groups applicable to the specific user agent are combined internally into a single group. User<br \/>\n  agent specific groups and global groups (<code>*<\/code>) are not combined.\n<\/p>\n<h3 id=\"examples\" tabindex=\"-1\">Examples<\/h3>\n<h4 id=\"matching-of-user-agent-fields\" tabindex=\"-1\">Matching of <code>user-agent<\/code> fields<\/h4>\n<div><\/div>\n<p>This is how the crawlers would choose the relevant group:<\/p>\n<table class=\"properties responsive\">\n<thead>\n<tr>\n<th colspan=\"2\">Group followed per crawler<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Googlebot News<\/td>\n<td>\n        <code>googlebot-news<\/code> follows group 1, because group 1 is the most specific group.\n      <\/td>\n<\/tr>\n<tr>\n<td>Googlebot (web)<\/td>\n<td><code>googlebot<\/code> follows group 3.<\/td>\n<\/tr>\n<tr>\n<td>Googlebot Storebot<\/td>\n<td>\n        <code>Storebot-Google<\/code> follows group 2, because there is no specific<br \/>\n        <code>Storebot-Google<\/code> group.\n      <\/td>\n<\/tr>\n<tr>\n<td>Googlebot News (when crawling images)<\/td>\n<td>\n        When crawling images, <code>googlebot-news<\/code> follows group 1.<br \/>\n        <code>googlebot-news<\/code> doesn&#8217;t crawl the images for Google Images, so it only<br \/>\n        follows group 1.\n      <\/td>\n<\/tr>\n<tr>\n<td>Otherbot (web)<\/td>\n<td>Other Google crawlers follow group 2.<\/td>\n<\/tr>\n<tr>\n<td>Otherbot (news)<\/td>\n<td>\n        Other Google crawlers that crawl news content, but don&#8217;t identify as<br \/>\n        <code>googlebot-news<\/code> follow group 2. Even if there is an entry for a related<br \/>\n        crawler, it is only valid if it&#8217;s specifically matching.\n      <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4 id=\"grouping-of-rules\" tabindex=\"-1\">Grouping of rules<\/h4>\n<p>\n  If there are multiple groups in a robots.txt file that are relevant to a specific user agent,<br \/>\n  Google&#8217;s crawlers internally merge the groups. For example:\n<\/p>\n<div><\/div>\n<p>The crawlers internally group the rules based on user agent, for example:<\/p>\n<div><\/div>\n<p id=\"robotstxt-groups-closure\">\n  Rules other than <code>allow<\/code>, <code>disallow<\/code>, and <code>user-agent<\/code> are<br \/>\n  ignored by the robots.txt parser. This means that the following robots.txt snippet is treated<br \/>\n  as one group, and thus both <code>user-agent<\/code> <code>a<\/code> and <code>b<\/code> are<br \/>\n  affected by the <code>disallow: \/<\/code> rule:\n<\/p>\n<div><\/div>\n<p>\n  When the crawlers process the robots.txt rules, they ignore the <code>sitemap<\/code> line.<br \/>\n  For example, this is how the crawlers would understand the previous robots.txt snippet:\n<\/p>\n<div><\/div>\n<h2 id=\"url-matching-based-on-path-values\" tabindex=\"-1\">URL matching based on path values<\/h2>\n<p>\n  Google uses the path value in the <code>allow<\/code> and <code>disallow<\/code> rules as a<br \/>\n  basis to determine whether or not a rule applies to a specific URL on a site. This works by<br \/>\n  comparing the rule to the path component of the URL that the crawler is trying to fetch.<br \/>\n  The path in the rules can be either raw UTF-8 characters or percent-encoded UTF-8 strings<br \/>\n  (per <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc3986.html\" class=\"external-link\">RFC 3986<\/a>).<br \/>\n  As defined in <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9309.html#section-2.2.2\" class=\"external-link\">RFC 9309 Section 2.2.2<\/a>,<br \/>\n  Google&#8217;s crawlers compare rules against URLs using their percent-encoded forms, and automatically<br \/>\n  canonicalize raw UTF-8 rule paths into percent-encoded forms. This means that, for example,<br \/>\n  <code>Disallow: \/foo\/bar\/\u30c4<\/code> and <code>Disallow: \/foo\/bar\/%E3%83%84<\/code> are treated<br \/>\n  identically by the parser.\n<\/p>\n<p>\n  Google, Bing, and other major search engines support a limited form of <i>wildcards<\/i> for<br \/>\n  path values. These wildcard characters are:\n<\/p>\n<ul>\n<li><code>*<\/code> designates 0 or more instances of any valid character.<\/li>\n<li><code>$<\/code> designates the end of the URL.<\/li>\n<\/ul>\n<p>\n  The following table shows how the different wildcard characters affect parsing:\n<\/p>\n<table class=\"properties responsive\">\n<thead>\n<tr>\n<th colspan=\"2\">Example path matches<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>\/<\/code><\/td>\n<td>Matches the root and any lower level URL.<\/td>\n<\/tr>\n<tr>\n<td>\n        <code>\/*<\/code><\/td>\n<td>Equivalent to <code>\/<\/code>. The trailing wildcard is ignored.<\/td>\n<\/tr>\n<tr>\n<td><code>\/$<\/code><\/td>\n<td>Matches only the root. Any lower level URL is allowed for crawling.<\/td>\n<\/tr>\n<tr>\n<td><code>\/fish<\/code><\/td>\n<td>\n<p>\n          Matches any path that starts with <code>\/fish<\/code>. Note that the matching is case-sensitive.\n        <\/p>\n<p><span class=\"compare-yes\">Matches:<\/span><\/p>\n<ul>\n<li><code>\/fish<\/code><\/li>\n<li><code>\/fish.html<\/code><\/li>\n<li><code>\/fish\/salmon.html<\/code><\/li>\n<li><code>\/fishheads<\/code><\/li>\n<li><code>\/fishheads\/yummy.html<\/code><\/li>\n<li><code>\/fish.php?id=anything<\/code><\/li>\n<\/ul>\n<p><span class=\"compare-no\">Doesn&#8217;t match:<\/span><\/p>\n<ul>\n<li><code>\/Fish.asp<\/code><\/li>\n<li><code>\/catfish<\/code><\/li>\n<li><code>\/?id=fish<\/code><\/li>\n<li><code>\/desert\/fish<\/code><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>\/fish*<\/code><\/td>\n<td>\n<p>\n          Equivalent to <code>\/fish<\/code>. The trailing wildcard is ignored.\n        <\/p>\n<p><span class=\"compare-yes\">Matches:<\/span><\/p>\n<ul>\n<li><code>\/fish<\/code><\/li>\n<li><code>\/fish.html<\/code><\/li>\n<li><code>\/fish\/salmon.html<\/code><\/li>\n<li><code>\/fishheads<\/code><\/li>\n<li><code>\/fishheads\/yummy.html<\/code><\/li>\n<li><code>\/fish.php?id=anything<\/code><\/li>\n<\/ul>\n<p><span class=\"compare-no\">Doesn&#8217;t match:<\/span><\/p>\n<ul>\n<li><code>\/Fish.asp<\/code><\/li>\n<li><code>\/catfish<\/code><\/li>\n<li><code>\/?id=fish<\/code><\/li>\n<li><code>\/desert\/fish<\/code><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>\/fish\/<\/code><\/td>\n<td>\n<p>\n          Matches anything in the <code>\/fish\/<\/code> folder.\n        <\/p>\n<p><span class=\"compare-yes\">Matches:<\/span><\/p>\n<ul>\n<li><code>\/fish\/<\/code><\/li>\n<li><code>\/fish\/?id=anything<\/code><\/li>\n<li><code>\/fish\/salmon.htm<\/code><\/li>\n<\/ul>\n<p><span class=\"compare-no\">Doesn&#8217;t match:<\/span><\/p>\n<ul>\n<li><code>\/fish<\/code><\/li>\n<li><code>\/fish.html<\/code><\/li>\n<li><code>\/animals\/fish\/<\/code><\/li>\n<li><code>\/Fish\/Salmon.asp<\/code><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>\/*.php<\/code><\/td>\n<td>\n<p>\n          Matches any path that contains <code>.php<\/code>.\n        <\/p>\n<p><span class=\"compare-yes\">Matches:<\/span><\/p>\n<ul>\n<li><code>\/index.php<\/code><\/li>\n<li><code>\/filename.php<\/code><\/li>\n<li><code>\/folder\/filename.php<\/code><\/li>\n<li><code>\/folder\/filename.php?parameters<\/code><\/li>\n<li><code>\/folder\/any.php.file.html<\/code><\/li>\n<li><code>\/filename.php\/<\/code><\/li>\n<\/ul>\n<p><span class=\"compare-no\">Doesn&#8217;t match:<\/span><\/p>\n<ul>\n<li><code>\/<\/code> (even if it maps to \/index.php)<\/li>\n<li><code>\/windows.PHP<\/code><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>\/*.php$<\/code><\/td>\n<td>\n<p>\n          Matches any path that ends with <code>.php<\/code>.\n        <\/p>\n<p><span class=\"compare-yes\">Matches:<\/span><\/p>\n<ul>\n<li><code>\/filename.php<\/code><\/li>\n<li><code>\/folder\/filename.php<\/code><\/li>\n<\/ul>\n<p><span class=\"compare-no\">Doesn&#8217;t match:<\/span><\/p>\n<ul>\n<li><code>\/filename.php?parameters<\/code><\/li>\n<li><code>\/filename.php\/<\/code><\/li>\n<li><code>\/filename.php5<\/code><\/li>\n<li><code>\/windows.PHP<\/code><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><code>\/fish*.php<\/code><\/td>\n<td>\n<p>\n          Matches any path that contains <code>\/fish<\/code> and <code>.php<\/code>, in that order.\n        <\/p>\n<p><span class=\"compare-yes\">Matches:<\/span><\/p>\n<ul>\n<li><code>\/fish.php<\/code><\/li>\n<li><code>\/fishheads\/catfish.php?parameters<\/code><\/li>\n<\/ul>\n<p>\n          <span class=\"compare-no\">Doesn&#8217;t match:<\/span><\/p>\n<p>          <code>\/Fish.PHP<\/code>\n      <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"order-of-precedence-for-rules\" tabindex=\"-1\">Order of precedence for rules<\/h2>\n<p>\n  When matching robots.txt rules to URLs, crawlers use the most specific rule based on the<br \/>\n  length of the rule path. In case of conflicting rules, including those with wildcards, Google uses<br \/>\n  the least restrictive rule.\n<\/p>\n<p>\n  The following examples demonstrate which rule Google&#8217;s crawlers will apply on a given URL.\n<\/p>\n<table class=\"properties responsive\">\n<thead>\n<tr>\n<th colspan=\"2\">Sample situations<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>https:\/\/example.com\/page<\/code><\/td>\n<td>\n<div><\/div>\n<p>\n          <b>Applicable rule<\/b>: <code>allow: \/p<\/code>, because it&#8217;s more specific.\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/example.com\/folder\/page<\/code><\/td>\n<td>\n<div><\/div>\n<p>\n          <b>Applicable rule<\/b>: <code>allow: \/folder<\/code>, because in case of<br \/>\n          conflicting rules, Google uses the least restrictive rule.\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/example.com\/page.htm<\/code><\/td>\n<td>\n<div><\/div>\n<p>\n          <b>Applicable rule<\/b>: <code>disallow: \/*.htm<\/code>, because the rule path is longer and<br \/>\n          it matches more characters in the URL, so it&#8217;s more specific.\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/example.com\/page.php5<\/code><\/td>\n<td>\n<div><\/div>\n<p>\n          <b>Applicable rule<\/b>: <code>allow: \/page<\/code>, because in case of<br \/>\n          conflicting rules, Google uses the least restrictive rule.\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/example.com\/<\/code><\/td>\n<td>\n<div><\/div>\n<p>\n          <b>Applicable rule<\/b>: <code>allow: \/$<\/code>, because it&#8217;s more specific.\n        <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><code>https:\/\/example.com\/page.htm<\/code><\/td>\n<td>\n<div><\/div>\n<p>\n          <b>Applicable rule<\/b>: <code>disallow: \/<\/code>, because the<br \/>\n          <code>allow<\/code> rule only applies on the root URL.\n        <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Learn specific details about the different robots.txt file rules and how Google interprets the robots.txt specification.<\/p>\n","protected":false},"menu_order":7000,"template":"","meta":{"footnotes":""},"ar_kb_kategori":[708],"ar_kb_etiket":[],"class_list":["post-25662","ar_kb","type-ar_kb","status-publish","has-post-thumbnail","hentry","ar_kb_kategori-crawling-infrastructure-crawling-and-indexing"],"_links":{"self":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/25662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb"}],"about":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/types\/ar_kb"}],"version-history":[{"count":1,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/25662\/revisions"}],"predecessor-version":[{"id":25705,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/25662\/revisions\/25705"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media\/27659"}],"wp:attachment":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media?parent=25662"}],"wp:term":[{"taxonomy":"ar_kb_kategori","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_kategori?post=25662"},{"taxonomy":"ar_kb_etiket","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_etiket?post=25662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}