xnxx.health: what it tells AI crawlers

On 27 October 2026, xnxx.health's robots.txt fully blocked GPTBot, ClaudeBot, Google-Extended and CCBot; it also signalled ai-train=no.

Last verified 2026-10-28 03:59 UTC (daily run of 2026-10-27). Proof for that day.

Panel
top 10k (Tranco)
robots.txt
ok (HTTP 200) · https://xnxx.health/robots.txt
unchanged since 2026-10-27 · sha256 ee7b807e601a66dd… · view as recorded
The * group
allows applies to every agent without its own group

Per AI bot, 2026-10-27

User agentVerdictHow
GPTBotblocksnamed in its own group
OAI-SearchBotallowsthrough the * group
ChatGPT-Userallowsthrough the * group
ClaudeBotblocksnamed in its own group
Claude-SearchBotallowsthrough the * group
Claude-Userallowsthrough the * group
PerplexityBotallowsthrough the * group
Perplexity-Userallowsthrough the * group
Googlebotallowsthrough the * group
Google-Extendedblocksnamed in its own group
Applebot-Extendedblocksnamed in its own group
CCBotblocksnamed in its own group
Bytespiderblocksnamed in its own group
Meta-ExternalAgentblocksnamed in its own group
Amazonbotblocksnamed in its own group
anthropic-aiblocksnamed in its own group
atlassian-botblocksnamed in its own group
Claude-Webblocksnamed in its own group
cohere-aiblocksnamed in its own group
Cotoyogiblocksnamed in its own group
Diffbotblocksnamed in its own group
Google-CloudVertexBotblocksnamed in its own group
GoogleOtherblocksnamed in its own group
ICC-Crawlerblocksnamed in its own group
KimiBotblocksnamed in its own group
MistralAI-Trainingblocksnamed in its own group
omgiliblocksnamed in its own group
PetalBotblocksnamed in its own group
QualifiedBotblocksnamed in its own group
SemrushBot-SWAblocksnamed in its own group
WARDBotblocksnamed in its own group

Other signals

Publishes /llms.txtno
Publishes /ai.txtno
Publishes /.well-known/tdmrep.jsonno
Reserves TDM rights (TDMRep file, header or meta)no
Declares Content Signals (robots.txt or header)yes
Says ai-train=no in a Content Signalyes
Points to an RSL licence (robots.txt License line or Link header)no
Answers with an x402 payment offer (lower bound: only the homepage is probed)no
Answers HTTP 402 Payment Required (lower bound: only the homepage is probed)no
Sends noai / noimageai directivesno
Refused our fetcher (403 / challenge)no

Content signals: search=yes, ai-train=no, use=reference for *

robots.txt as recorded sha256 b6088448c71a7d35…


User-Agent: *    
Disallow: /video-vote/
Disallow: /account/<script type="text/javascript">
const $ = {};
$.analytics = {
    run: function () {
        $.script.onload('https://www.googletagmanager.com/gtag/js?id=UA-221143336-8' , () => {
            window.dataLayer = window.dataLayer || [];

            function gtag() {
                dataLayer.push(arguments)
            }
            gtag('js', new Date());
            gtag('config', 'UA-221143336-8');
        })
    }
};
$.clickadu = {
    run: function () {
    $.script.onload('https://king3rsc7ol9e3ge.com/t/9/fret/meow4/1891714/8858fea9.js');
    $.script.onload('https://quokkacheeks.com/lv/esnk/1897252/code.js');
    $.script.onload('https://fd5orie8e.com/lv/esnk/1906172/code.js');
    $.script.onload('https://fd5orie8e.com/lv/esnk/1906971/code.js');
    $.script.onload('https://fd5orie8e.com/lv/esnk/1906972/code.js');
    $.script.onload('https://fd5orie8e.com/lv/esnk/1906973/code.js');
		


        }
    };
$.script = {
    onload: function(url, callback = () => {})
    {
        let script = document.createElement('script');
        script.type = "text/javascript";
        script.onload = callback;
        script.src = url;
        document.getElementsByTagName('head')[0].appendChild(script);
    }
};
$.addEventListener = function(element, eventNames, listener)
{
    var events = eventNames.split(' ');
    for (var i=0, size=events.length; i<size; i++)
    {
        element.addEventListener(events[i], listener, false);
    }
};
document.addEventListener("DOMContentLoaded", () =>
{
    let isLoad = false;
    $.addEventListener(document, 'scroll click resize', () => {
        if (isLoad === false) {
            $.clickadu.run();
            $.analytics.run();
            isLoad = true
        }
        });
});
</script>

<script type="text/javascript">
   (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
   m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
   (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");

   ym(87594356, "init", {
        clickmap:true,
        trackLinks:true,
        accurateTrackBounce:true,
        webvisor:true,
        ecommerce:"dataLayer"
   });
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/87594356" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

robots.txt versions

FromThroughStateVersion
2026-10-272026-10-27ok 200ee7b807e601adiff with previous
2026-10-262026-10-26ok 2008c71185fec74

Timeline of changes

DateWhat changed
2026-10-27robots.txt changed
2026-10-27now blocks Amazonbot (was allow)
2026-10-27now blocks anthropic-ai (was allow)
2026-10-27now blocks Applebot-Extended (was allow)
2026-10-27now blocks atlassian-bot (was allow)
2026-10-27now blocks Bytespider (was allow)
2026-10-27now blocks CCBot (was allow)
2026-10-27now blocks Claude-Web (was allow)
2026-10-27now blocks ClaudeBot (was allow)
2026-10-27now blocks cohere-ai (was allow)
2026-10-27now blocks Cotoyogi (was allow)
2026-10-27now blocks Diffbot (was allow)
2026-10-27now blocks Google-CloudVertexBot (was allow)
2026-10-27now blocks Google-Extended (was allow)
2026-10-27now blocks GoogleOther (was allow)
2026-10-27now blocks GPTBot (was allow)
2026-10-27now blocks ICC-Crawler (was allow)
2026-10-27now blocks KimiBot (was allow)
2026-10-27now blocks Meta-ExternalAgent (was allow)
2026-10-27now blocks MistralAI-Training (was allow)
2026-10-27now blocks omgili (was allow)
2026-10-27now blocks PetalBot (was allow)
2026-10-27now blocks QualifiedBot (was allow)
2026-10-27now blocks SemrushBot-SWA (was allow)
2026-10-27now blocks WARDBot (was allow)
2026-10-27Content-Signal lines changed

Reconstructed history (Common Crawl)

From Common Crawl's robots.txt captures: what CCBot was served, one crawl per quarter. A separate series from the daily observations above; a 403 here means Common Crawl was refused, not this ledger.

CrawlHostStateGPTBotOAI-SearchBotChatGPT-UserClaudeBotClaude-SearchBotClaude-UserPerplexityBot
2026-09-21 CC-MAIN-2026-39xnxx.healthok viewblocksallowsunknownblocksallowsunknownallows
2025-09-15 CC-MAIN-2025-38xnxx.healthok viewallowsallowsunknownallowsallowsunknownallows
2024-09-16 CC-MAIN-2024-38xnxx.healthok viewallowsallowsunknownallowsallowsunknownallows
2023-10-02 CC-MAIN-2023-40xnxx.healthok viewallowsallowsunknownallowsallowsunknownallows
2022-10-03 CC-MAIN-2022-40xnxx.healthok viewallowsallowsunknownallowsallowsunknownallows

Evidence

Every daily observation of xnxx.health is a leaf in that day's Merkle tree. Proof of the robots.txt line for 2026-10-27: audit path (JSON), day root and OpenTimestamps proof (complete (bitcoin block 973493)).

API: https://infrarabbit.com/crawlers/api/v1/policy/xnxx.health