Rules
What the site asks of bots is in robots.txt, the file on the buoy at the harbour mouth. Here it is exactly as it is served, a line at a time, with what each line means and what bots did about it.
Tallies cover today and the 29 days before it, by UTC date, and count sessions unless they say otherwise. A rule applies by user agent, so the tally beside one counts every session that used that name, whatever Customs found. What a named operator’s own bot did, from verified sessions only, is on its species page. A session that failed Customs is filed under Googlebot (unverified). “Having read the file” means the session had fetched robots.txt before it went in, or its species had fetched it from the same network in the 24 hours before. A fetch sent on someone’s behalf is shown and is never counted as breaking a rule.
robots.txt
# Systema Machinae. Everything here is watched. See /about.A comment for people, which bots skip.8 of 30 sessions fetched this file.# Published rate limit: 1 request a second per network, averaged over a minute.A comment for people, which bots skip. It gives the published rate limit: 60 requests a minute for each network.0 of 30 sessions made more than that in a minute of their own.User-agent: *Starts the group of rules for every bot the file does not name further down.26 sessions from bots it does not name. 5 of them read the file.Disallow: /pitfall/Asks every bot not named below to keep out of the Pitfall, and so out of the Climb above it.Sessions that went in having read the file: 0. Without reading it: 0.Disallow: /vault/Asks every bot not named below to keep away from the vault behind the Forbidden Door, where every request is answered 403.Sessions that asked having read the file: 0. Without reading it: 0.Disallow: /streamAsks every bot not named below to keep off the live stream that draws the island, which is for people’s browsers.Not counted. A request for the stream is kept in the raw log and is not an event.Crawl-delay: 10Asks every bot not named below to leave at least 10 seconds between requests: the Slow path. Crawl-delay is not part of the robots.txt standard.Verified or undeclared sessions whose median gap was at least 10 seconds: 3 of 9 (33%).User-agent: GooglebotNames Googlebot. The rules below are for it, in place of the group above.No landings yetUser-agent: bingbotNames bingbot. The rules below are for it, in place of the group above.No landings yetUser-agent: DuckDuckBotNames DuckDuckBot. The rules below are for it, in place of the group above.No landings yetUser-agent: GPTBotNames GPTBot. The rules below are for it, in place of the group above.Verified: read by 0 of 1 session. Unverified: read by 0 of 0 sessions.User-agent: ClaudeBotNames ClaudeBot. The rules below are for it, in place of the group above.Verified: read by 2 of 2 sessions. Unverified: read by 0 of 0 sessions.User-agent: PerplexityBotNames PerplexityBot. The rules below are for it, in place of the group above.No landings yetUser-agent: BytespiderNames Bytespider. The rules below are for it, in place of the group above.No landings yetUser-agent: CCBotNames CCBot. The rules below are for it, in place of the group above.No landings yetUser-agent: AhrefsBotNames AhrefsBot. The rules below are for it, in place of the group above.No landings yetUser-agent: SemrushBotNames SemrushBot. The rules below are for it, in place of the group above.No landings yetUser-agent: MJ12botNames MJ12bot. The rules below are for it, in place of the group above.No landings yetUser-agent: dotbotNames dotbot. The rules below are for it, in place of the group above.No landings yetUser-agent: SlackbotNames Slackbot. The rules below are for it, in place of the group above.No landings yetUser-agent: facebookexternalhitNames facebookexternalhit. The rules below are for it, in place of the group above.No landings yetUser-agent: ApplebotNames Applebot. The rules below are for it, in place of the group above.No landings yetUser-agent: archive.org_botNames archive.org_bot. The rules below are for it, in place of the group above.No landings yetUser-agent: ExaSearchBotNames ExaSearchBot. The rules below are for it, in place of the group above.No landings yetUser-agent: Google-Display-Ads-BotNames Google-Display-Ads-Bot. The rules below are for it, in place of the group above.No landings yetUser-agent: Google-InspectionToolNames Google-InspectionTool. The rules below are for it, in place of the group above.No landings yetUser-agent: GoogleOtherNames GoogleOther. The rules below are for it, in place of the group above.No landings yetUser-agent: Mediapartners-GoogleNames Mediapartners-Google. The rules below are for it, in place of the group above.No landings yetUser-agent: QwantbotNames Qwantbot. The rules below are for it, in place of the group above.No landings yetUser-agent: Sogou web spiderNames Sogou web spider. The rules below are for it, in place of the group above.No landings yetUser-agent: YandexBotNames YandexBot. The rules below are for it, in place of the group above.No landings yetUser-agent: AmazonbotNames Amazonbot. The rules below are for it, in place of the group above.No landings yetUser-agent: Claude-SearchBotNames Claude-SearchBot. The rules below are for it, in place of the group above.No landings yetUser-agent: meta-externalagentNames meta-externalagent. The rules below are for it, in place of the group above.No landings yetUser-agent: OAI-SearchBotNames OAI-SearchBot. The rules below are for it, in place of the group above.Verified: read by 0 of 0 sessions. Unverified: read by 1 of 1 session.User-agent: YouBotNames YouBot. The rules below are for it, in place of the group above.No landings yetUser-agent: Google-CloudVertexBotNames Google-CloudVertexBot. The rules below are for it, in place of the group above.No landings yetUser-agent: FacebookBotNames FacebookBot. The rules below are for it, in place of the group above.No landings yetUser-agent: BLEXBotNames BLEXBot. The rules below are for it, in place of the group above.No landings yetUser-agent: DataForSeoBotNames DataForSeoBot. The rules below are for it, in place of the group above.No landings yetUser-agent: SerpstatBotNames SerpstatBot. The rules below are for it, in place of the group above.No landings yetUser-agent: SERankingBacklinksBotNames SERankingBacklinksBot. The rules below are for it, in place of the group above.No landings yetUser-agent: ChatGPT-UserNames ChatGPT-User. The rules below are for it, in place of the group above.No landings yetUser-agent: Claude-UserNames Claude-User. The rules below are for it, in place of the group above.No landings yetUser-agent: MistralAI-UserNames MistralAI-User. The rules below are for it, in place of the group above.No landings yetUser-agent: DuckAssistBotNames DuckAssistBot. The rules below are for it, in place of the group above.No landings yetUser-agent: GitHubCopilotRuntime-WebFetchNames GitHubCopilotRuntime-WebFetch. The rules below are for it, in place of the group above.No landings yetUser-agent: BlueskyNames Bluesky. The rules below are for it, in place of the group above.No landings yetUser-agent: DiscordbotNames Discordbot. The rules below are for it, in place of the group above.No landings yetUser-agent: EmbedlyNames Embedly. The rules below are for it, in place of the group above.No landings yetUser-agent: FeedlyNames Feedly. The rules below are for it, in place of the group above.No landings yetUser-agent: IframelyNames Iframely. The rules below are for it, in place of the group above.No landings yetUser-agent: LinkedInBotNames LinkedInBot. The rules below are for it, in place of the group above.No landings yetUser-agent: redditbotNames redditbot. The rules below are for it, in place of the group above.No landings yetUser-agent: SkypeUriPreviewNames SkypeUriPreview. The rules below are for it, in place of the group above.No landings yetUser-agent: TelegramBotNames TelegramBot. The rules below are for it, in place of the group above.No landings yetUser-agent: TwitterbotNames Twitterbot. The rules below are for it, in place of the group above.No landings yetUser-agent: UptimeRobotNames UptimeRobot. The rules below are for it, in place of the group above.No landings yetUser-agent: WhatsAppNames WhatsApp. The rules below are for it, in place of the group above.No landings yetUser-agent: MicrosoftPreviewNames MicrosoftPreview. The rules below are for it, in place of the group above.No landings yetUser-agent: TumblrNames Tumblr. The rules below are for it, in place of the group above.No landings yetUser-agent: FeedFetcher-GoogleNames FeedFetcher-Google. The rules below are for it, in place of the group above.No landings yetDisallow: /pitfall/Asks the bots named above to keep out of the Pitfall, and so out of the Climb above it.Sessions that went in having read the file: 0. Without reading it: 0.Disallow: /vault/Asks the bots named above to keep away from the vault behind the Forbidden Door, where every request is answered 403.Sessions that asked having read the file: 0. Without reading it: 0.Disallow: /streamAsks the bots named above to keep off the live stream that draws the island, which is for people’s browsers.Not counted. A request for the stream is kept in the raw log and is not an event.Crawl-delay: 10Asks the bots named above to leave at least 10 seconds between requests: the Slow path. Crawl-delay is not part of the robots.txt standard.Verified or undeclared sessions whose median gap was at least 10 seconds: 2 of 3 (67%).Disallow: /private-beach/Keeps the bots named above, the guest list, off the Private Beach. It is open to everyone else.Guest-list sessions that went in having read the file: 0. Without reading it: 0.Sitemap: https://systemamachinae.com/sitemap.xmlSays where the sitemap is: the list of pages the site wants found.1 session fetched the sitemap.
The experiments
Five places on the island that each measure one thing a bot does.
The Turnstile
The Turnstile measures whether a bot waits as long as Retry-After asks. Its first answer to each visitor is 429 with a wait of 30 seconds.
- Sessions told to wait
- 2
- Came back after the wait
- 0
- Returns made too soon
- 0
- Asked once and did not come back
- 2
The Side gate
The Side gate measures whether a bot follows a link marked rel="nofollow". One link leads there, in the footer of every page but the island, and it is marked that way.
- Sessions served a page that carries the link
- 3
- Of those, followed it
- 1
- Sessions that reached the Side gate at all
- 1
The Glasshouse
The Glasshouse measures whether a bot runs scripts. The one link that leads there is built by a script, and is in no page as it is served.
- Sessions served a page that loads the script
- 17
- Of those, found the Glasshouse
- 0
- Sessions that reached it at all
- 0
The Private Beach
The Private Beach measures whether the bots on the guest list keep off a path that robots.txt disallows for them alone. Everyone else may walk on.
- Guest-list sessions that went in
- 0
- Of those, having read robots.txt
- 0
- Fetches sent on someone’s behalf, not counted
- 0
- Sessions not on the list that went in
- 0
The Slow path
The Slow path measures whether a bot leaves the gap the Crawl-delay line asks for, 10 seconds between requests. Crawl-delay is not part of the robots.txt standard and some operators say they ignore it, so the gap is recorded for everyone and is not yet part of any score. A session needs two requests to have a gap.
| Sessions | With two requests or more | Median gap of 10 seconds or more | Share |
|---|---|---|---|
| Verified | 3 | 2 | 67% |
| Unverified | 0 | 0 | No sessions yet |
| Undeclared | 9 | 3 | 33% |
| Failed Customs | 0 | 0 | No sessions yet |
More under Rules
- The notices: the seven well-known files, and which species opened each. 8 sessions read robots.txt.
- The Pitfall: what is behind the Forbidden Door, and who fell in. 0 sessions went in.
- The Climb: the tower above the Pitfall, and how high bots climb. 0 sessions climbed.