add_filter('robots_txt', function ($output, $public) { if (!$public) { return $output; } // ClaudeBot: targeted — kill the calendar crawl, keep the site crawlable. $rules = "\n# i4a crawler policy\n"; $rules .= "User-agent: ClaudeBot\n"; $rules .= "Disallow: /wp-admin/\n"; $rules .= "Allow: /wp-admin/admin-ajax.php\n"; $rules .= "Disallow: /events/\n"; // SEO / data-broker crawlers we turn away entirely. $blocked = [ 'AhrefsBot', 'SemrushBot', 'SemrushBot-BM', 'MJ12bot', 'DotBot', // Moz 'rogerbot', // Moz (older) 'BLEXBot', 'PetalBot', 'ZoominfoBot', 'PiplBot', ]; foreach ($blocked as $bot) { $rules .= "\nUser-agent: {$bot}\nDisallow: /\n"; } return $output . $rules; }, 10, 2);