未分類
robots.txt構文エラーの修正
問題
Google Search Consoleでrobots.txtの構文エラーが報告された:
エラー - 構文が認識できませんでした (line 29)
Content-signal: search=yes,ai-train=no
原因
CloudflareのAIボット管理機能が、非標準のContent-signalディレクティブをrobots.txtに自動追加していた。
# BEGIN Cloudflare Managed content
User-Agent: *
Content-signal: search=yes,ai-train=no ← これが問題
Allow: /
# END Cloudflare Managed content
比較的新しいディレクティブであるContent-signalは、Google Search Consoleのrobots.txtバリデーターでは認識されない。
解決策
方法1: @nuxtjs/robotsモジュールを使用(採用)
Nuxtでrobots.txtを動的に生成するように変更。
1. モジュールのインストール
pnpm add -D @nuxtjs/robots
2. nuxt.config.tsに設定を追加
export default defineNuxtConfig({
modules: [
"@nuxtjs/robots", // 追加
"@nuxtjs/sitemap",
"@nuxt/content"
],
robots: {
groups: [
{
userAgent: ['*'],
allow: ['/']
}
],
sitemap: 'https://log.eurekapu.com/sitemap.xml'
},
// ...
})
3. 静的robots.txtを削除
rm apps/web/public/robots.txt
これにより、ビルド時にNuxtが標準準拠のrobots.txtを生成する。
方法2: Cloudflareダッシュボードで無効化
Cloudflareの管理画面から設定を変更する方法:
- Cloudflareダッシュボードにログイン
- 対象ドメインを選択
- Security → Bots → Configure bot management
- 「AI Crawlers」または「Content Credentials」の設定を探す
- robots.txtへの自動追加を無効にする
生成されるrobots.txt
修正後、以下の標準準拠のrobots.txtが生成される:
User-agent: *
Allow: /
Sitemap: https://log.eurekapu.com/sitemap.xml