<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-illyes-aipref-cbcp-02" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="cbcp">Crawler best practices</title>
    <seriesInfo name="Internet-Draft" value="draft-illyes-aipref-cbcp-02"/>
    <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="2025" month="October" day="07"/>
    <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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
bGasiZsb5P3dO/GpjU9II6IM34yW2tYjucQJ+Nwy021+3uplgHjv4avRp4v4
hMXcnhA0Ev/uLLt9T9eHf3di3oKePz6KvaNZbMKz2Lt2GOupyKbrIPsKsmLp
PhHdisK5Njwpp7Fbnlb9wDFus4es4GlKFA5sc2VUktTe+KW84gC3Ue+mhn6y
GobGvY4n7hDUKt8NKyrlHJRtM62bVXbHgTZNgerbQjij0HFXhiRVXWpwI+ZJ
mxoXhWFHIF9ctcgt6DRgFQYRyt1uIzXE0/nOrqUK7W2cZmKv7bzlQWH/PnV8
04liW+3uwr4ljVS1rdV0XcMXdceuou5MfZT1fUbsm53b3tRdI8z0h6QgR6/f
Xl6Nxum3fHPGny9O/vb29OLkGX2+fDl99ar/INoVly/P3r56Nnwadh6fvX59
8uZZ2oyncueRGL2e/jxK2Tg6O786PXszfTXqLouHv0pQT48u3VZjBAPdYHgO
orOek+np8fl//nX4GDj3p4vnx48OD78C1KUvXx7+9TG+UDdJp3FHTV+5DFRd
019y6OILaZ6r2kQkxJgYBxyN6Yo6L/z553+QZ/55JL+e5fXh42/bB2TwzsPO
ZzsP2Wc3n9zYnJx4y6Nbjum9ufN8z9O7+k5/3vne+X3r4dff8cA4Ofzyu29T
DmFIa/j69bjt1arLn7NnZ/1bXno6fTO9uWwnnpT/lUsrVWJ43R+UaKxkMdP8
unIEkgvaEsRvR4mI6uKb0Ryx0aOP7emqX4kI/Q9rDEL21h0AAA==

-->

</rfc>
