<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.35 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-illyes-aipref-cbcp-03" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="cbcp">Crawler best practices</title>
    <seriesInfo name="Internet-Draft" value="draft-illyes-aipref-cbcp-03"/>
    <author initials="G." surname="Illyes" fullname="Gary Illyes">
      <organization>Independent</organization>
      <address>
        <email>synack@garyillyes.com</email>
      </address>
    </author>
    <author initials="M." surname="Kuehlewind" fullname="Mirja Kühlewind">
      <organization>Ericsson</organization>
      <address>
        <email>mirja.kuehlewind@ericsson.com</email>
      </address>
    </author>
    <author initials="A." surname="Kohn" fullname="AJ Kohn">
      <organization>Blind Five Year Old</organization>
      <address>
        <email>aj@blindfiveyearold.com</email>
      </address>
    </author>
    <date year="2026" month="April" day="08"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 44?>

<t>This document describes best pratices for web crawlers.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/garyillyes/cbcp"/>.</t>
    </note>
  </front>
  <middle>
    <?line 49?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Automatic clients, such as crawlers and bots, are used to access web resources,
including indexing for search engines or, more recently, training data for new
artifical intelligence (AI) applications. As crawling activity increases,
automatic clients must behave appropriately and respect the constraints of the
resources they access. This includes clearly documenting how they can be
identified and how their behavior can be influenced. Therefore, crawler
operators are asked to follow the best practices for crawling outlined in this
document.</t>
      <t>To further assist website owners, it should also be considered to create a
central registry where website owners can look up well-behaved crawlers. Note
that while self-declared research crawlers, including privacy and malware
discovery crawlers, and contractual crawlers are welcome to adopt these practices,
due to the nature of their relationsh with sites, they may exempt themselves
from any of the Crawler Best Practices with a rationale.</t>
    </section>
    <section anchor="recommended-best-practices">
      <name>Recommended Best Practices</name>
      <t>The following best practices should be followed and are already applied by a
vast majority of large-scale crawlers on the Internet:</t>
      <ol spacing="normal" type="1"><li>
          <t>Crawlers must support and respect the Robots Exclusion Protocol.</t>
        </li>
        <li>
          <t>Crawlers must be easily identifiable through their user agent string.</t>
        </li>
        <li>
          <t>Crawlers must not interfere with the regular operation of a site.</t>
        </li>
        <li>
          <t>Crawlers must support caching directives.</t>
        </li>
        <li>
          <t>Crawlers must expose the  ranges they are crawling from in a standardized format.</t>
        </li>
        <li>
          <t>Crawlers must expose a page that explains how the crawling can be blocked, whether
the page is rendered, amd how the crawled data is used.</t>
        </li>
      </ol>
      <section anchor="crawlers-must-respect-the-robots-exclusion-protocol">
        <name>Crawlers must respect the Robots Exclusion Protocol</name>
        <t>All well behaved-crawlers must support the REP as defined in
<xref section="2.2.1" sectionFormat="of" target="REP"/> to allow site owners to opt out from crawling.</t>
        <t>Especially if the website chooses not to use a robots.txt file as defined
by the REP, crawlers further need to respect the <tt>X-robots-tag</tt> in the HTTP header.</t>
      </section>
      <section anchor="crawlers-must-be-easily-identifiable-through-their-user-agent-string">
        <name>Crawlers must be easily identifiable through their user agent string</name>
        <t>As outlined in <xref section="2.2.1" sectionFormat="of" target="REP"/> (Robots Exclusion Protocol; REP),
the HTTP request header 'User-Agent' should clearly identify the crawler,
usually by including a URL that hosts the crawler's descrtion. For example:</t>
        <t><tt>User-Agent: Mozilla/5.0 (compatible; ExampleBot/0.1; +https://www.example.com/bot.html)</tt>.</t>
        <t>This is already a widely accepted practice among crawler operators. To remain
compliant, crawler operators must include unique identifiers for their crawlers
in the case-insensitive User-Agent, such as
"contains 'googlebot' and 'https://url/...'". Additionally, the name should clearly
identify both the crawler owner and its purpose as much as reasonably possible.</t>
      </section>
      <section anchor="crawlers-must-not-interfere-with-the-normal-operation-of-a-site">
        <name>Crawlers must not interfere with the normal operation of a site</name>
        <t>Depending on a site's setup (computing resources and software efficiency) and its
size, crawling may slow down the site or even take it offline altogether. Crawler
operators must ensure that their crawlers are equped with back-out logic that
relies on at least the standard signals defined by <xref section="15.6" sectionFormat="of" target="HTTP-SEMANTICS"/>,
preferably also additional heuristics such as a change in the relative response time
of the server.</t>
        <t>Therefore, crawlers should log already visited URLs, the number of requests sent to
each resource, and the respective HTTP status codes in the responses, especially if
errors occur, to prevent repeatedly crawling the same sourceerrors occur, to prevent
repeatedly crawling the same source. Using the same data, crawlers should, on a best
effort basis, crawl the site at times of the day when the site is estimated to have
fewer human visitors.</t>
        <t>Generally, crawlers should avoid sending multle requests to the same resources
at the same time and should limit the crawling speed to prevent server overload, if
possible, following the limits outlined in the REP protocol. Additionally, resources
should not be re-crawled too often. Ideally, crawlers should restrict the depth of
crawling and the number of requests per resource to prevent loops.</t>
        <t>Crawlers should not attempt to bypass authentication or other access restrictions,
such as when login is required, CAPTCHAs are in use, or content is behind a paywall,
unless explicitly agreed upon with the website owner.</t>
        <t>Crawlers should primarily access resources using HTTP GET requests, resorting to
other methods (e.g., POST, PUT) only if there is a prior agreement with the publisher
or if the publisher's content management system automatically makes those calls when
JavaScrt runs. Generally, the load caused by executing JavaScrt should be
carefully considered or even avoided whenever possible.</t>
      </section>
      <section anchor="crawlers-must-support-caching-directives">
        <name>Crawlers must support caching directives</name>
        <t><xref target="HTTP-CACHING"/> HTTP caching removes the need of repeated access from crawlers to
the same URL.</t>
      </section>
      <section anchor="crawlers-must-expose-the-ip-ranges-they-use-for-crawling">
        <name>Crawlers must expose the IP ranges they use for crawling</name>
        <t>To complement the REP, crawler operators should publish the IP ranges they have
allocated for crawling in <xref target="JAFAR"/> format, and keep this information reasonably
up-to-date, according to the specification.</t>
        <t>The object containing the IP addresses must be linked from the page describing the
crawler, and it must also be referenced in the page's metadata for machine
readability. For example:</t>
        <t><tt>
&amp;lt;link rel="help" href="https://example.com/crawlerips.json"&amp;gt;
</tt></t>
      </section>
      <section anchor="crawlers-must-explain-how-the-crawled-data-is-used-and-how-the-crawler-can-be-blocked">
        <name>Crawlers must explain how the crawled data is used and how the crawler can be blocked</name>
        <t>Crawlers must be easily identifiable through their <tt>user-agent</tt> string, and they
should explain how the data they collect will be used. In practice, this is usually
done via the documentation page linked in the crawler's user agent. Additionally,
the documentation page should include a contact address for the crawler owner.</t>
        <t>The webpage should also provide an example REP file to block the crawler and a method
for verifying REP files.</t>
        <t>If the crawler has exempted itself of these best practices, the documentation
page should describe the reason for that.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="JAFAR">
        <front>
          <title>A JSON-Based Format for Publishing IP Ranges of Automated HTTP Clients</title>
          <author fullname="Gary Illyes" initials="G." surname="Illyes">
            <organization>Independent</organization>
          </author>
          <date day="30" month="September" year="2025"/>
          <abstract>
            <t>   This document defines a standardized JSON format for automated HTTP
   client (e.g., web crawlers, AI bots) operators to disclose their IP
   address ranges publicly.  A consistent, machine-readable format for
   IP range publication simplifies the task of identifying and verifying
   legitimate automated traffic, thereby decreasing maintenance load on
   website operators while reducing the risk of inadvertently blocking
   beneficial clients.  This specification codifies and extends common
   existing practices to provide a simple yet extensible format that
   accommodates a variety of use cases.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-illyes-aipref-jafar-00"/>
      </reference>
      <reference anchor="REP">
        <front>
          <title>Robots Exclusion Protocol</title>
          <author fullname="M. Koster" initials="M." surname="Koster"/>
          <author fullname="G. Illyes" initials="G." surname="Illyes"/>
          <author fullname="H. Zeller" initials="H." surname="Zeller"/>
          <author fullname="L. Sassman" initials="L." surname="Sassman"/>
          <date month="September" year="2022"/>
          <abstract>
            <t>This document specifies and extends the "Robots Exclusion Protocol" method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers. Specifically, it adds definition language for the protocol, instructions for handling errors, and instructions for caching.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9309"/>
        <seriesInfo name="DOI" value="10.17487/RFC9309"/>
      </reference>
      <reference anchor="HTTP-SEMANTICS">
        <front>
          <title>HTTP Semantics</title>
          <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
          <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
          <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
          <date month="June" year="2022"/>
          <abstract>
            <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
            <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="97"/>
        <seriesInfo name="RFC" value="9110"/>
        <seriesInfo name="DOI" value="10.17487/RFC9110"/>
      </reference>
      <reference anchor="HTTP-CACHING">
        <front>
          <title>HTTP Caching</title>
          <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
          <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
          <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
          <date month="June" year="2022"/>
          <abstract>
            <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
            <t>This document obsoletes RFC 7234.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="98"/>
        <seriesInfo name="RFC" value="9111"/>
        <seriesInfo name="DOI" value="10.17487/RFC9111"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 211?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
4dnUWBPXt8j79bX4zMYXpBFRhm8GC22rgVzgBHxumOkmP2/0MkC8D/DV4LN5
fMFi7k4IGol/d5bdvKfrwr89MW9Azx8fxa5pFhvxLHbdDGMdFVm3HWRXQVYs
3SeiW1E4V4Yn5TR2y5OyGziGTfaQFTxNidyBbS6NSpKaG7+UVxzgJurt1NBN
Vv3QuNPxxD2CGuXbYUWlnIOyTaa1s8r2ONCkKVB9UwhnFDru0pCksk0NbsQ8
aVPjojBsCeSLqwa5BZ0GrMIgQrnbbqSGeDLb2rVQobmN00zstZ01PCjs3qcO
bztRbKrdXtg3pJGqtrGarmv4ou7QldSdqY+yvq+IfbNzm5u6G4SZ/pAU5ODd
+8urwTD9lqdn/Pni6G/vTy6OXtHnyzeTt2+7D6JZcfnm7P3bV/2nfufh2bt3
R6ev0mY8lVuPxODd5OdBysbB2fnVydnp5O2gvSzu/ypBPT26dFuNEQx0g+E5
iNZ6TqaXh+f/+df+M+Dcny5eHz7d3/8KUJe+fLn/12f4Qt0kncYdNX3lMlBV
RX/JoYsvpHmmKhOREENiHHA0pivqvPDnn/9Bnvnngfx6mlX7z75tHpDBWw9b
n209ZJ/dfnJrc3LiHY/uOKbz5tbzHU9v6zv5eet76/eNh19/xwPjaP/L775N
OYQhrebr18OmV6s2f85enXVveenJ5HRye9lWPCn/S5dWqsTw2j8o0VjJYibZ
TekIJOe0JYjfDhIR1fk3gxliowefmtNVtxIR+h+FIgm11h0AAA==

-->

</rfc>
