When did websites start blocking AI crawlers?

A dated, population-level measurement in 21 epochs — January 2019 to September 2026.

Through January 2021, none of the sites we sampled expressed any AI-era stance in robots.txt: 0.0%, 95% confidence interval 0.0–4.9%, n=74. That remained true across six consecutive epochs spanning January 2019 to June 2023, every one of them at zero, with no interval reaching above 5.3%. The first movement we observe is October 2023, at 3.8% (95% CI 1.3–10.7%, n=78). By September 2026 the figure is 14.1% (95% CI 8.3–23.1%, n=85).

⚠️ Those zeros are an upper bound, not a zero. Nought of 74 sites does not establish that nothing existed; it bounds the rate below about 5%, and a 5% ceiling across the whole web still admits a very large number of sites. The defensible claim is that the practice was too rare to appear in a sample of this size, repeatedly and across years — not that it did not exist. ⚠️ And the series supports the long-run rise only: all 105 pairs of post-2023 epochs have overlapping confidence intervals, so no single step between two rows is supported by this data. The fall from 8.6% to 4.8% between March 2024 and January 2025, for instance, is three sites of movement on an n of about 82, and should be read as noise.

This page exists because the question has a legal form. Where a dispute turns on whether a reservation of rights was machine-readable at the time of use, the test is the technological state of the art at that past date — not today's. The policy literature on machine-readable AI opt-outs names the standards but publishes no adoption figures. These are figures.

The series

Share of sampled sites whose robots.txt names or blocks an AI-era agent. Vantage is held constant — every row is fetched from a single archive source — and Wilson 95% intervals are shown. The cohort is not constant, and a constant vantage is not a constant cohort. The sample moves between 69 and 85 sites as the archive's coverage of our target list varies, so an unknown part of any movement between rows is composition rather than time. We do not offer a fixed-panel series because only 6 of our targets appear in all 22 epochs, which would carry no useful precision. Read the long-run shape, not the rows.

epochobservednrate95% CIblocksnames
CC-MAIN-2019-042019-01-24690.0%0.0–5.3%00
CC-MAIN-2020-052020-01-29710.0%0.0–5.1%00
CC-MAIN-2021-042021-01-28740.0%0.0–4.9%00
CC-MAIN-2022-052022-01-29770.0%0.0–4.8%00
CC-MAIN-2023-062023-02-09780.0%0.0–4.7%00
CC-MAIN-2023-232023-06-10780.0%0.0–4.7%00
CC-MAIN-2023-402023-10-05783.8%1.3–10.7%30
CC-MAIN-2024-102024-03-05818.6%4.2–16.8%70
CC-MAIN-2025-052025-01-26834.8%1.9–11.7%31
CC-MAIN-2025-262025-06-25816.2%2.7–13.6%41
CC-MAIN-2025-382025-09-18793.8%1.3–10.6%30
CC-MAIN-2025-512025-12-17796.3%2.7–14.0%50
CC-MAIN-2026-042026-01-25816.2%2.7–13.6%50
CC-MAIN-2026-082026-02-19814.9%1.9–12.0%40
CC-MAIN-2026-122026-03-17827.3%3.4–15.1%51
CC-MAIN-2026-172026-04-23838.4%4.1–16.4%52
CC-MAIN-2026-212026-05-21829.8%5.0–18.1%44
CC-MAIN-2026-252026-06-188413.1%7.5–21.9%65
CC-MAIN-2026-302026-07-228413.1%7.5–21.9%65
CC-MAIN-2026-342026-08-198215.9%9.5–25.3%67
CC-MAIN-2026-392026-09-168514.1%8.3–23.1%75

One further epoch, CC-MAIN-2024-33 (2024-08-16), is withheld rather than dropped: it covers only 6 sites, too few to state a rate. Reporting it would have implied a precision the sample does not carry; deleting it silently would have hidden a hole.

The absence was durable, not a momentary lapse

A zero in a single year could be an artefact of when one looked. Two things argue it was a settled norm rather than a gap that happened to be open.

First, it held across six consecutive epochs, January 2019 through June 2023, every one of them at zero, with no interval reaching above 5.3%.

Second, we measured separately how often such gaps close on their own. Across roughly 1,992 hosts watched over 31.8 days in 18 capability classes, a gap that is open at one observation is closed at the next at a rate of 0.021% per observation pair (95% CI 0.016–0.028%), and slightly more gaps opened than closed over the window. These declarations do not appear spontaneously. The norm held because nothing was pushing on it.

Method, and what this does not establish

The machine-readable form

The same series, with its caveats attached, is served as JSON at /free/curve — free, no credential, no payment. Agents and scripts should read that rather than parse this page.

If you need this for a matter

A norm-at-a-date assay for a defined population and a specific date is work we do on request: the population stated, the interval attached, the method written down so it can be recomputed by the other side. Write to info@geosensor.tech.

We will say when a question cannot be answered from this record. The commonest case: a class with no dated history. Of the capability classes we measure, only this one has a series reaching back before 2026 — including, notably, the machine-readable AI usage policy class (ai.txt, TDMRep), for which we hold no history at all and will not pretend to.