Systema Machinae

A living census of the web's bots. First edition.
Bots arrive at Port 443, where they’re supposed to queue at Passport Control. Some don’t. The robots.txt buoy at the harbour mouth states the rules. The island shows which bots read them and which don’t obey. You watch from the promenade. Every creature is a real bot visiting this website.

Bots arrive at Port 443, where they’re supposed to queue at Passport Control. Some don’t. The robots.txt buoy at the harbour mouth states the rules. The island shows which bots read them and which don’t obey. You watch from the promenade. Every creature is a real bot visiting this website.

All species

Pixel drawing of AhrefsBot

AhrefsBot

Chainus slitherus

Made of links. Counts yours as it slithers past.*

robots.txtFOLLOWED
AlignmentInsufficient data
Needs 200 requests and 5 sessions in 30 days.

What it did here†

  • VerifiedPassed Passport Control.
  • UnverifiedSaid they were AhrefsBot and could not be checked, or have not been answered yet. Shown for the species, and not put down to Ahrefs.
  • Failed Passport ControlFiled under Impostor and not on this page at all.

Its record with each rule

Trailing 30 daysVerifiedUnverified
Sessions10
Requests30
Sessions that asked for anything besides robots.txt10
read robots.txt first10
had read it in the 24 hours before00
read it only afterwards00
did not read it00
Sessions that asked for a disallowed path00
Sessions that entered the Pitfall00
having read robots.txt00
Pages taken in the Pitfall and the Climb00
Requests turned back at the vault, with a 40300
Highest Climb level reachedHas not climbedHas not climbed
Private Beach visits while on the guest list00
Turnstile waits kept00
Turnstile waits broken00
Sessions served a page that carries the nofollow link10
followed it00
Requests over the rate limit00
sessions that went over it00

What it asks for‡

Part of the siteVerified requestsUnverified requests
The island, on the home page10
robots.txt, on the buoy10
The sitemap10

Sessions that used this name, by day§

today, log missed 5 1 passed

passed: the operator’s own1

failed: filed under the Impostor0

log not whole

Sessions that used this name on each of the last 30 days, UTC
DayPassed Passport ControlFailed Passport ControlCould not be checkedNot yet answeredRequests by the sessions counted
13 Sep00000
14 Sep00000
15 Sep00000
16 Sep00000
17 Sep00000
18 Sep00000
19 Sep00000
20 Sep00000
21 Sep00000
22 Sep00000
23 Sep00000
24 Sep00000
25 Sep00000
26 Sep00000
27 Sep00000
28 Sep00000
29 Sep00000
30 Sep00000
1 Oct00000
2 Oct00000
3 Oct00000
4 Oct00000
5 Oct00000
6 Oct00000
7 Oct00000
8 Oct, log missed 1300000
9 Oct, log missed 4000000
10 Oct, log missed 2600000
11 Oct, log missed 1500000
12 Oct, so far, log missed 510003

Favourite hours, UTC

20:00 1 verified, 0 unverified

VerifiedUnverified

Landings in each hour of the UTC day, over the last 30 days
HourVerifiedUnverifiedTotal
00:00000
01:00000
02:00000
03:00000
04:00000
05:00000
06:00000
07:00000
08:00000
09:00000
10:00000
11:00000
12:00000
13:00000
14:00000
15:00000
16:00000
17:00000
18:00000
19:00000
20:00101
21:00000
22:00000
23:00000

Where it comes from‡

Verified sessions, the busiest 1
Network ownerCountrySessionsRequests
OVH SASCanada13

What it has cost this site†

TodayLast 7 daysAll time
Requests333
Bytes served42.3 KB42.3 KB42.3 KB

Who it is

AhrefsBot maps the links between sites for Ahrefs, an SEO toolset.

How Ahrefs says to check it

Crawls from published IP ranges. The reverse DNS suffix of its addresses is always ahrefs.com or ahrefs.net. The page asks for the suffix only: the forward lookup is this site being careful. The operator’s documentation

Passport Control

A session that says it is AhrefsBot is checked in the way Ahrefs documents. Passing any one check is enough.

  • Address list A match against the list of addresses the operator publishes. The published list.
  • Reverse DNS Forward-confirmed reverse DNS: the address has a reverse DNS name under the operator’s domain, and that name resolves back to the same address. Names must end in ahrefs.com or ahrefs.net.

Reference

The user agent it sends, and how to address it in robots.txt.

User agent, and how a request is filed under this species

Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)

A string it is known to send. Parts that vary are shown as an ellipsis.

A request is filed under this species when its user-agent string contains the product name AhrefsBot as a whole word, in any mix of capitals. Where a string holds more than one product name, the longest wins, and a named bot wins over a library it is built on.

How to address this bot in robots.txt

The line that addresses it

User-agent: AhrefsBot

An example group. The path is a placeholder.

User-agent: AhrefsBot
Disallow: /a-path/
Allow: /a-path/one-page

This is reference, not advice. Systema Machinae is not a bot-blocking product.

This site’s own robots.txt names it, in the group that keeps the guest list off the Private Beach.

Notes

  1. *The line under the name is a joke about the drawing. It plays on the name and says nothing about how the bot behaves.
  2. †Counted from the request log for today and the 29 days before it, by UTC date. These are counts, not a verdict: a session is judged on what it did inside the 30 days. A landing is the first request of a session. Bytes are the size of the response body, counted whatever the score.
  3. ‡Parts of the site come from a fixed list, so a path is never shown. Networks are shown by owner and country only, so an address is never shown.
  4. §The log missed about 99 requests on 5 of the last 30 days, the most on 9 October (40): the front door took them in and the server did not answer.
  5. What it is and who runs it, under Who it is, is a claim: the operator’s own account where it has published one, and a third party’s where it has not. This site has not tested it.