noindexの一行:検索に出ないページはどう決められているか
遊びを見つける執筆にClaudeを使用しています。

ブラウザゲームの遊び場には、検索結果に出てほしいページと、出なくてよいページがあります。作品の紹介ページは見つけてもらいたい一方で、友達を招待するための一時的な対戦部屋のページが検索結果に並んでいたら、少し困ります。この線引きをサイトの側が機械に伝える方法の一つが、HTMLの<head>に書く「noindex」の一行です。 この記事で確かめるのは、その一行が何を頼み、何を頼めないのか、そして「どのページに付けるか」はどんな問いで決まるのかです。アソバースの確認済みの仕様には、どのページにnoindexを付けているかという情報は含まれていません。そのためこの記事では、実際の設定を断定しません。代わりに、確認済みの仕様から「検索に出すか迷うページの種類」を読み取り、読者が自分でページを開いて設定を確かめる手順を示します。
この記事の目次
noindexは「載せないでほしい」というお願いです
noindexは、検索エンジンに「このページを検索結果の索引(インデックス)に入れないでください」と伝える指示です。書き方は主に二つあります。
<meta name="robots" content="noindex">これは、HTMLの<head>の中に置くメタタグです。もう一つは、サーバーがページを返すときにHTTPヘッダーとしてX-Robots-Tag: noindexを付ける方法です。HTMLを持たないPDFや画像にも使えるのが、ヘッダー方式の利点です。
大切なのは、これが「お願い」であって「鍵」ではないことです。noindexを付けたページも、URLを知っている人なら誰でも開けます。検索エンジンが指示を守る前提の仕組みなので、見せたくない情報を守る手段にはなりません。守りたいものはログインなどの認証で守り、noindexは「公開はされているが、検索の入口にはしたくない」ページに使うものです。
もう一つ、反映には時間がかかります。検索エンジンがそのページをもう一度巡回して、noindexに気づいてから索引が更新されます。付けた直後に検索結果から消えなくても、設定が間違っているとは限りません。
robots.txtとは役割が違います
noindexと混同されやすいのが、サイトの入口に置くrobots.txtです。こちらは「このあたりは巡回しないでください」という、巡回(クロール)への指示です。
- noindex、頼む内容:索引に入れないでほしい、守りの強さ:お願い、注意点:巡回できて初めて読まれる
- robots.txt、頼む内容:巡回しないでほしい、守りの強さ:お願い、注意点:外部リンクがあると、URLだけが結果に出ることがある
- ログインなどの認証、頼む内容:権限のない人に見せない、守りの強さ:実際に遮断できる、注意点:作り込みが必要
ここに典型的な落とし穴があります。robots.txtで巡回を止めたページにnoindexを書いても、巡回できないので検索エンジンはその指示を読めません。「索引から外したい」ときは、巡回を許したままnoindexを読ませる必要があります。巡回を止める設定と索引から外す設定は、逆向きに働くことがあるわけです。
付けるかどうかを決める四つの問い
noindexを付けるページは、感覚ではなく問いで決めると迷いが減ります。次の四つで考えてみます。
- そのページは、本人が「公開する」と選んだものですか。
- そのURLは、期限や使い捨ての前提で作られていますか。
- 検索から来た人にとって、そのページ単体で意味がありますか。
- 見せたくない情報を含んでいますか。含むなら、noindexではなく認証の話です。
問い4が「はい」のページは、noindexだけで済ませないことが原則です。noindexは、問い1から3で「検索の入口にしなくてよい」と判断したページに使います。
アソバースの仕様から「迷うページ」を読み取る
確認済みの仕様を、四つの問いに当てはめてみます。ここで述べるのは、仕様から読み取れる「検索に出すか迷う種類のページ」であり、実際にnoindexが付いているかどうかではありません。
- オンライン対戦の部屋:部屋は24時間、部屋と対戦履歴は作成から7日後に削除対象になります。招待はリンクで友達を1人呼ぶ形です。使い捨てを前提としたURLなので、問い2に当たります。
- 公開プロフィール:名前・紹介・SNSなどのURLは、本人が明示的に公開を選んだときだけ表示されます。公開の意思があるかを基準にしている点で、問い1の考え方と重なります。ログイン用メールは公開されません。
- ログイン中の機能:クラウドセーブ、プレイ履歴、あとで遊ぶ、好きな作品は、ログインした本人のための画面です。他の人が検索から来ても意味がないので、問い3に当たります。
- 作品本体の実行ページ:アップロードしたコードは、sandbox付きのiframeで、メインサイトとは別のオリジンから配信されます。紹介の入口と実行の場所が分かれているため、検索にどちらを出したいかは設計上の論点になります。
どれも「検索に出る・出ない」ではなく、「出す理由があるか」から考えられるページです。実際の設定がどうなっているかは、この記事の次の節の手順で、各ページを開いて確かめられます。
自分で確かめる手順
実験の設計書の形で示します。結果は、読者のブラウザの中でだけ分かります。
準備するもの:ブラウザの開発者ツール(多くのブラウザでF12キーまたは右クリックの「検証」)、記録用のメモ。
対象の選び方:種類ごとに1ページずつ選びます。たとえば、トップ、作品の紹介ページ、ランキング、公開プロフィール、ログイン画面などです。ログイン中でないと開けないページは、巡回する側も同じ画面に当たるはずだという点を、記録に添えます。
手順1:メタタグを読む。 開発者ツールのコンソールに次の1行を貼ります。
const m = document.querySelector('meta[name="robots"]');
console.log(m ? m.content : 'robots メタタグなし');手順2:ヘッダーを読む。 続けて次を実行します。
fetch(location.href).then(r => console.log(r.headers.get('x-robots-tag') || 'ヘッダーなし'));手順3:robots.txtを読む。 アドレスバーでサイトのトップの末尾に/robots.txtを付けて開き、対象ページのパスが「巡回しない」対象に含まれていないかを見ます。
手順4:検索側を見る。 検索窓にsite:とドメインを入れて対象ページが出るかを見ます。これは目安であり、正確な一覧ではありません。サイトの持ち主なら、検索エンジンが提供するサイト管理ツールのURL検査のほうが、索引の状態を確実に確認できます。
記録の単位:1ページにつき、メタタグ、ヘッダー、robots.txt、検索結果の4項目を1行にまとめます。検索結果は反映に時間がかかるので、間を数週間空けて、2回見ると確かです。
結果の読み方:
- メタタグかヘッダーにnoindexがあり、robots.txtで止められていなければ、「索引に入れない意図が読める状態」です。
- noindexもなく、検索にも出ていれば、そのページは「出してよい」前提の設計と読めます。
- noindexがあるのに検索結果に出続けるときは、まだ再巡回されていないか、robots.txtで止められて指示が読まれていないかを疑います。
- どちらも見つからないページは、その時点では判断材料が足りません。「この部分は作品を開いて確かめる」と記録して、先へ進みます。
起こりやすい誤りと、自分の作品に応用するとき
よくある失敗は次のとおりです。
- 開発中の確認用ページに付けたnoindexが、公開版にそのまま残ります。本番で作品がいつまでも検索に出ない原因の定番です。
- 見せたくない情報のあるページにnoindexだけを付けて、URLが知られれば誰でも開ける状態を放置します。
- robots.txtで止めたうえでnoindexを書き、指示が読まれません。
- JavaScriptで後からnoindexを差し込みます。検索エンジンによっては処理が遅れたり、反映されなかったりします。最初に返すHTMLに書くほうが確実です。
アソバースに作品を投稿する人は、作品の入口のindex.htmlに何を書くかを、このやり方で見直せます。アップロードした作品は紹介ページとは別の場所で実行されるため、検索にどのページが出るかは、作者が書いたindex.htmlだけでは決まりません。公開後に、自分の作品がどう見つかるかは、手順1から4で確かめるのが確実です。
次の行動
まず、よく使うサイトのページを3種類選び、手順1と2のコンソールの2行を実行してみてください。出てきた結果を「出したいページか、出さなくてよいページか」という四つの問いで読み直すと、noindexの一行が「何を隠すか」より「何を入口にするか」の設定だと分かります。自分の作品を公開している人は、公開版の<head>に確認用の設定が残っていないかも、あわせて見ておくと安心です。
参考資料
- 検索エンジン各社の公式ドキュメント(robotsメタタグ、X-Robots-Tag、robots.txtの解説)

