AI時代のrobots.txt設計原則
2026年現在、robots.txtはGooglebotだけでなく20種類以上のAIクローラーを個別に制御するファイルに進化しています。設計の原則は「Googleは通す、AIは選別する」です。
推奨:最小限・最大効果のrobots.txt
# 通常の検索クローラーは全許可(省略=全許可)
User-agent: *
Allow: /
# Google検索インデックスは維持
User-agent: Googlebot
Allow: /
# Google AI学習のみ拒否(検索順位に影響なし)
User-agent: Google-Extended
Disallow: /
# 主要AIクローラーをブロック
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: cohere-ai
Disallow: /
# サイトマップ
Sitemap: https://yourdomain.com/sitemap.xml
サイトマップのAI対応
sitemap.xmlにAIクローラーへの情報を追加する拡張仕様が議論されています(現時点では標準化されていません)。現状では通常のsitemap.xmlで問題ありません。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yourdomain.com/</loc>
<lastmod>2026-04-01</lastmod>
<priority>1.0</priority>
</url>
</urlset>
メタタグでのAI制御
robots.txtの代わりに、個別ページのHTMLメタタグでクロール制御することも可能です:
<!-- ページ単位でAI学習を拒否 -->
<meta name="robots" content="noai, noimageai">
<!-- またはGooglebot以外を拒否 -->
<meta name="googlebot" content="index, follow">
<meta name="GPTBot" content="noindex">
Next.jsでのrobots.ts実装
// src/app/robots.ts
import { MetadataRoute } from "next";
export default function robots(): MetadataRoute.Robots {
return {
rules: [
{
userAgent: "*",
allow: "/",
},
{
userAgent: [
"GPTBot", "OAI-SearchBot", "ClaudeBot",
"anthropic-ai", "PerplexityBot", "Google-Extended",
"Bytespider", "CCBot", "cohere-ai",
],
disallow: "/",
},
],
sitemap: "https://yourdomain.com/sitemap.xml",
};
}
定期的な見直しを
新しいAIクローラーは継続的に登場します。AI Access Monitorを使えば、既存のrobots.txtで対応できていない新しいBotを自動検知できます。定期的な見直しのトリガーとして活用してください。