<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-illyes-webbotauth-cbcp-01" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="cbcp">Crawler best practices</title>
    <seriesInfo name="Internet-Draft" value="draft-illyes-webbotauth-cbcp-01"/>
    <author initials="G." surname="Illyes" fullname="Gary Illyes">
      <organization>Google LLC</organization>
      <address>
        <email>garyillyes@google.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="October" day="22"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 53?>

<t>This document describes best practices 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 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Automatic clients, colloquially referred to as crawlers and bots, are used to
access web resources, including indexing for search engines or, more recently,
training data for new artificial 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>For the purposes of this document, a crawler is an automated
HTTP <xref target="HTTP-SEMANTICS"/> client that retrieves resources across one or more web
sites without direct human initiation of individual requests. A crawler
discovers URIs during retrieval and schedules them for later processing. It
relies on algorithmic prioritization and protocol-level instructions such as the
Robots Exclusion Protocol <xref target="REP"/> to govern its behavior.</t>
      <t>Note that these best practices are intended for crawlers, and are not
necessarily appropriate for all automated clients (all "bots"), particularly
user-directed AI agents, but other (non-crawler) bots may choose to adopt
similar practices. Furthermore, there are valid reasons why some
legitimate crawlers cannot or should not be expected to adopt these
practices. For example, 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 relationship with sites,
they may choose not to follow all of these practices.</t>
      <t>Crawler operators that adopt these voluntary practices are encouraged to
engage with efforts to develop new standards and practices for bots, and to
revisit the recommended best practices as the state of the art evolves.</t>
    </section>
    <section anchor="recommended-best-practices">
      <name>Recommended Best Practices</name>
      <t>The following best practices are already applied by a vast majority of
large-scale crawlers on the Internet. Crawlers <bcp14>SHOULD</bcp14>:</t>
      <ol spacing="normal" type="1"><li>
          <t>Support and respect the Robots Exclusion Protocol.</t>
        </li>
        <li>
          <t>Be easily identifiable through their user agent string.</t>
        </li>
        <li>
          <t>Not interfere with the regular operation of a site.</t>
        </li>
        <li>
          <t>Support caching directives.</t>
        </li>
        <li>
          <t>Expose the ranges they are crawling from in a standardized format.</t>
        </li>
        <li>
          <t>Expose a page that explains how the crawling can be blocked, whether
the page is rendered, and how the crawled data is used.</t>
        </li>
      </ol>
      <section anchor="support-and-respect-the-robots-exclusion-protocol">
        <name>Support and respect the Robots Exclusion Protocol</name>
        <t>Crawlers <bcp14>SHOULD</bcp14> 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="be-easily-identifiable-through-their-user-agent-string">
        <name>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 <tt>User-Agent</tt> <bcp14>SHOULD</bcp14> clearly identify the crawler,
usually by including a URL that hosts the crawler's description. For example:</t>
        <artwork><![CDATA[
User-Agent: Mozilla/5.0 (compatible; ExampleBot/0.1; +https://www.example.com/bot.html)
]]></artwork>
        <t>This is already a widely accepted practice among crawler operators. To remain
compliant, crawler operators <bcp14>MUST</bcp14> include unique identifiers for their crawlers
in the case-insensitive <tt>User-Agent</tt> header, such as
"contains 'googlebot' and 'https://url/...'". Additionally, the name <bcp14>SHOULD</bcp14>
clearly identify both the crawler owner and its purpose as much as reasonably
possible.</t>
        <t>Crawler operators that use cryptographic authentication <bcp14>SHOULD</bcp14> use a distinct
<tt>Signature-Agent</tt> URL, and therefore a distinct key directory, for each crawler
purpose, as described in <xref section="6.5" sectionFormat="of" target="HTTPSIG-PROTOCOL"/>. This is the
cryptographic counterpart of the purpose identification in the <tt>User-Agent</tt>
header.</t>
      </section>
      <section anchor="do-not-interfere-with-the-normal-operation-of-a-site">
        <name>Do 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 <bcp14>SHOULD</bcp14> ensure that their crawlers are equipped 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 <bcp14>SHOULD</bcp14> 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 source.
Using the same data, crawlers <bcp14>SHOULD</bcp14>, 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 <bcp14>SHOULD</bcp14> avoid sending multiple requests to the same resources
at the same time and <bcp14>SHOULD</bcp14> limit the crawling speed to prevent server overload,
if possible, following the limits outlined in <xref target="REP"/>. Additionally, resources
<bcp14>SHOULD NOT</bcp14> be re-crawled too often. Ideally, crawlers <bcp14>SHOULD</bcp14> restrict the depth
of crawling and the number of requests per resource to prevent loops.</t>
        <t>Crawlers <bcp14>SHOULD NOT</bcp14> 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 <bcp14>SHOULD</bcp14> 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 through client side code (e.g., JavaScript). Generally, the load
caused by executing client side code should be carefully considered or even
avoided whenever possible.</t>
      </section>
      <section anchor="support-caching-directives">
        <name>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="expose-the-ip-ranges-they-use-for-crawling">
        <name>Expose the IP ranges they use for crawling</name>
        <t>To complement the <xref target="REP"/>, crawler operators <bcp14>SHOULD</bcp14> 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 resource containing the IP addresses <bcp14>SHOULD</bcp14> be linked from the page
describing the crawler using the <tt>client-ranges</tt> relation. To facilitate
efficient machine discovery. This relation <bcp14>SHOULD</bcp14> be provided via an HTTP <tt>Link</tt>
header <xref target="HTTP-LINK"/> or as a <tt>&lt;link&gt;</tt> element in the page's HTML metadata
section (as defined in <xref target="HTML"/>). For example:</t>
        <artwork><![CDATA[
<link rel="client-ranges" href="https://example.com/crawlerips.json">
]]></artwork>
      </section>
      <section anchor="explain-how-the-crawled-data-is-used-and-how-the-crawler-can-be-blocked">
        <name>Explain how the crawled data is used and how the crawler can be blocked</name>
        <t>Crawlers <bcp14>SHOULD</bcp14> be easily identifiable through their <tt>user-agent</tt> string, and
they <bcp14>SHOULD</bcp14> 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 <bcp14>SHOULD</bcp14> include a contact address for the
crawler owner.</t>
        <t>The documentation <bcp14>SHOULD</bcp14> also provide an example <xref target="REP"/> file to block the
crawler and a method for verifying <xref target="REP"/> files.</t>
        <t>If the crawler has exempted itself of these best practices, the documentation
page <bcp14>SHOULD</bcp14> describe the reason for that.</t>
        <t>All endpoints hosting identification, documentation, and IP range data must be
publicly and highly available, and served with minimal latency for programmatic
access.</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>The best practices described in this document, as well as opt-out mechanisms
such as <xref target="REP"/> and <tt>X-robots-tag</tt>, are voluntary and do not constitute access
control or content security measures. Malicious or non-conformant clients can
ignore these practices. To restrict access to sensitive resources, website
owners <bcp14>SHOULD</bcp14> employ appropriate security mechanisms at the application or
transport layer, such as HTTP Authentication <xref target="HTTP-SEMANTICS"/>.</t>
      <t>The <tt>User-Agent</tt> header field is unauthenticated and trivially spoofed. Website
operators <bcp14>MUST NOT</bcp14> rely solely on the <tt>User-Agent</tt> string to grant privileged
access or bypass security controls. When verifying a crawler's identity,
website operators <bcp14>SHOULD</bcp14> corroborate the request's source IP address against
the crawler operator's published IP ranges <xref target="JAFAR"/> or use cryptographic
authentication mechanisms where available.</t>
      <t>Endpoints hosting crawler documentation, <tt>client-ranges</tt> link relations
<xref target="HTTP-LINK"/>, and IP range files <xref target="JAFAR"/> <bcp14>SHOULD</bcp14> be served over HTTPS using
Transport Layer Security (TLS) so that consumers can verify the authenticity
and integrity of the published IP ranges before using them in access control
or rate-limiting decisions.</t>
      <t>Even legitimate crawlers can inadvertently degrade website availability or
cause a denial of service if they crawl too aggressively, become trapped in
infinite URI spaces, or trigger expensive server-side or client-side
processing. Implementing the back-out, rate-limiting, and caching practices in
this document mitigates, but does not eliminate, this risk.</t>
      <t>The security considerations of <xref target="HTTP-SEMANTICS"/>, <xref target="HTTP-CACHING"/>,
<xref target="HTTP-LINK"/>, <xref target="REP"/>, and <xref target="JAFAR"/> also apply.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="ROBOTS-TAG">
          <front>
            <title>Robots Exclusion Protocol Extension for URL Level Control</title>
            <author fullname="Gary Illyes" initials="G." surname="Illyes">
              <organization>Google LLC.</organization>
            </author>
            <date day="22" month="October" year="2026"/>
            <abstract>
              <t>   This document extends RFC9309 by specifying additional URL level
   controls through an HTTP response header and, for historical reasons,
   through HTML meta tags originally developed in 1996.  Additionally it
   moves the HTTP response header out of the experimental header space
   (i.e., "X-") and defines the combinability of multiple headers, which
   was previously not possible.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-illyes-repext-04"/>
        </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="HTTP-LINK">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </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="HTTPSIG-PROTOCOL">
          <front>
            <title>HTTP Message Signatures for automated traffic</title>
            <author fullname="Thibault Meunier" initials="T." surname="Meunier">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Sandor Major" initials="S." surname="Major">
              <organization>Google</organization>
            </author>
            <date day="1" month="September" year="2026"/>
            <abstract>
              <t>   This document describes a protocol for identifying automated traffic
   using [HTTP-MESSAGE-SIGNATURES].  The goal is to allow automated HTTP
   clients to cryptographically sign outbound requests, allowing HTTP
   servers to verify their identity with confidence.

   It defines the Signature-Agent header field for in-band key
   discovery, a key directory format based on JWKS, and a well-known URI
   at which that directory is served.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-webbotauth-httpsig-protocol-00"/>
        </reference>
        <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="22" month="October" year="2026"/>
            <abstract>
              <t>   This document defines a standardized JSON format for operators of
   automated HTTP clients (e.g., web crawlers, AI bots) to publicly
   disclose their IP address ranges.  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-webbotauth-jafar-01"/>
        </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="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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="HTML" target="https://html.spec.whatwg.org/">
          <front>
            <title>HTML</title>
            <author>
              <organization>WHATWG</organization>
            </author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <?line 279?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
