ロボットインデックス回避
noindex設定を使って、検索エンジンのクローラーをドキュメントサイトから遠ざける。
ステージングサイト、社内ドキュメントポータル、または制作途中のドキュメントビルドを運用している場合、検索エンジンにそれらのページをインデックスされたり、クロールされたりすることは望ましくありません。zudo-docのnoindex設定は、すべてのクローラーをブロックするための単一のスイッチを提供します。
この設定が行うこと
src/でnoindex: trueを設定すると、ビルド時に2つの補完的な動作が有効になります。
robots メタタグ — すべてのレンダリングされたページに以下が追加されます:
<meta name="robots" content="noindex, nofollow">これにより、ページを(リンク経由などで)発見したクローラーに対して、インデックスしないよう、また外部リンクを辿らないよう指示します。
robots.txtの disallow — サイトルートに生成されるrobots.txtには以下が含まれます:User-agent: * Disallow: /これにより、クローラーはサイト配下のすべてのパスをクロールしないよう指示されます。
noindexが有効な場合、robots.txtからSitemap:の行は意図的に省略されます — すべてのクロールを禁止しながらサイトマップを通知することは矛盾するためです。
設定を有効にする方法
プリセットジェネレーター経由(新規プロジェクトへの推奨)
create-zudo-docで新しいプロジェクトをスキャフォールドする際、インタラクティブなセットアッププリセットジェネレーターで "Avoid robots indexing" チェックボックスを選択してください。これにより、生成されたsettings.tsにnoindex: trueが出力されます。
CLIフラグ経由
create-zudo-docのCLIに--noindexを渡します:
npx create-zudo-doc@latest --noindexsettings.ts を直接編集
src/を開いて以下を設定します:
export const settings = {
// ...
noindex: true,
};デフォルトはfalseで、クローラーは許可されます。
注意事項
すでにインデックスされたページは自動的に削除されません
noindexを有効にしても、今後のインデックス化は防げますが、すでに検索エンジンにインデックスされているページが遡及的に削除されることはありません。それらを削除するには、各検索エンジンのツール(例:Google Search ConsoleのURL削除ツール)に削除リクエストを送信する必要があります。
クロール指示とインデックス指示の違い
robots.はクロール指示です — クローラーにページを取得しないよう伝えます。noindexメタタグはインデックス指示です — ページを取得したクローラーに、検索インデックスに追加しないよう伝えます。
これら2つの指示は補完的な関係にあります。Disallowはクロールバジェットへの露出を減らし、noindexはすでに直接リンク経由で取得済みのページに対処します。両方を組み合わせることは、「すべてをブロックする」トグルの標準的なアプローチです。
微妙な点として:robots.txtを遵守するクローラーはページを取得しないため、そのページ内のnoindexメタタグを見ることもありません。実用上これは問題ありません — Disallow: /に従うクローラーはいずれにせよページをインデックスしません。robots.txtを無視するクローラーに対しては、メタタグが安全網として機能します。
noindex有効時はrobots.txtからSitemapの行が省略されます
noindex: trueの場合、zudo-docは意図的にrobots.txtからSitemap:エントリを省略します。すべてのクロールをブロックしながらサイトマップをクローラーに通知することは矛盾したシグナルを送ることになります。インデックス化を再び有効にした場合、Sitemap:行は自動的に復元されます。
関連情報
設定リファレンス —
noindex— 完全な設定リファレンス