*/ public static function all(): array { // The user-agent token stays a protocol literal in every locale — it is // carried inside the translated label only so the two never drift apart // in the UI; translators must leave the token before "(" untouched. $bots = array( array( 'agent' => 'Googlebot', 'label' => __( 'Googlebot (Google search)', 'acez-seo' ) ), array( 'agent' => 'Bingbot', 'label' => __( 'Bingbot (Bing search)', 'acez-seo' ) ), array( 'agent' => 'Google-Extended', 'label' => __( 'Google-Extended (Google AI training — Gemini)', 'acez-seo' ) ), array( 'agent' => 'GPTBot', 'label' => __( 'GPTBot (OpenAI — model training)', 'acez-seo' ) ), array( 'agent' => 'ChatGPT-User', 'label' => __( 'ChatGPT-User (OpenAI — on-demand browsing)', 'acez-seo' ) ), array( 'agent' => 'CCBot', 'label' => __( 'CCBot (Common Crawl — data for many AI models)', 'acez-seo' ) ), array( 'agent' => 'ClaudeBot', 'label' => __( 'ClaudeBot (Anthropic)', 'acez-seo' ) ), array( 'agent' => 'anthropic-ai', 'label' => __( 'anthropic-ai (Anthropic, legacy name)', 'acez-seo' ) ), array( 'agent' => 'Applebot', 'label' => __( 'Applebot (Apple/Siri search)', 'acez-seo' ) ), array( 'agent' => 'Applebot-Extended', 'label' => __( 'Applebot-Extended (Apple AI training)', 'acez-seo' ) ), array( 'agent' => 'Amazonbot', 'label' => __( 'Amazonbot (Amazon/Alexa)', 'acez-seo' ) ), array( 'agent' => 'PerplexityBot', 'label' => __( 'PerplexityBot (Perplexity AI)', 'acez-seo' ) ), array( 'agent' => 'Bytespider', 'label' => __( 'Bytespider (ByteDance/TikTok)', 'acez-seo' ) ), ); /** * Filters the list of known bots offered in the robots.txt editor. * * @param array $bots */ return (array) apply_filters( 'acez_seo_known_bots', $bots ); } }