GoogleがJSドキュメント更新!「noindex」の動的制御は無視されるリスクあり

GoogleがJSドキュメント更新!「noindex」の動的制御は無視されるリスクあり

Googleは2025年12月、Google検索セントラルの「JavaScript SEO」に関するドキュメントを更新しました。

今回の更新では、「HTTPステータスコード」や「Canonical(正規化)」をJavaScriptで制御することのリスクについて、より明確な記述が追加されています。

特に、SPA(シングルページアプリケーション)で動的にmetaタグを書き換えているサイトや、JavaScriptでリダイレクト処理を行っているサイトには、インデックス登録に関わる重要な仕様が含まれています。

引用元: Google Search Central

 ドキュメント更新内容

今回更新されたのは、Google検索セントラルの「JavaScript SEO の基本を理解する」内の記述です。

特に注目すべき変更点は以下の2つです。

1. HTTPステータスコードが200以外だとレンダリングされない可能性

Googlebotは通常、クロールしたページを「レンダリングキュー(JSを実行する待ち行列)」に入れます。しかし、今回の更新で以下の注釈が追加されました。

HTTP ステータス コードが 200 以外の場合(例: ステータス コードが 404 のエラーページ)は、レンダリングがスキップされる可能性があります。

これはつまり、「サーバーが最初にエラー(4xx)やリダイレクト(3xx)を返した場合、そのページにあるJavaScriptは実行されないかもしれない」ということです。

2. JavaScriptによるCanonical操作への警告

Canonical(正規URL)タグについても、記述が厳格化されました。

JavaScript を使用して、元の HTML で正規 URL として指定した URL 以外の URL に正規 URL を変更することは避けてください。

JSでCanonicalを動的に書き換えることは技術的には可能ですが、Googleは「元のHTML(サーバーレスポンス時)と一致させること」を強く推奨しています。

 やってはいけない実装パターン

この仕様変更(明確化)により、以下のような実装を行っているサイトは、意図したとおりにインデックスされていないリスクがあります。

 NGパターン1:JSで「noindex」を解除しようとする

「最初はHTMLにnoindexを入れておき、会員限定コンテンツなどの条件判定後にJSでnoindexを削除する」という実装です。 元のHTMLにnoindexがあると、Googlebotはその時点でインデックス不要と判断し、JSを実行するレンダリング処理自体をスキップする可能性があります。結果として、JSによる「削除処理」が行われず、永遠にインデックスされません。

 NGパターン2:JSでCanonicalを書き換える

サーバーから返されるHTMLではAというURLをCanonical指定し、JS実行後にBというURLに書き換える実装です。 Googleはレンダリング前後の矛盾を嫌うため、シグナルが無視されたり、予期せぬURLが正規化されたりする原因になります。

 今すぐやるべき対策

今回の更新は「アルゴリズムの変更」ではなく「仕様の明確化」ですが、これまでのグレーゾーンな実装に釘を刺す形となりました。

  1. 重要なmetaタグはサーバーサイドで出力する
    noindex、canonical、タイトルなどは、JavaScript実行後ではなく、サーバーからの初期レスポンス(HTML)に含めるのが鉄則です。
  2. インデックスさせたいページは必ずステータスコード200を返す
    JSを実行させたいなら、サーバーレスポンス時点で404などを返さないように設定してください。
  3. URL検査ツールで確認する
    Search Consoleの「URL検査」で、実際にGooglebotがレンダリング後のHTMLをどう認識しているかを確認しましょう。

検索エンジンに正しく伝えるためには、サーバーサイドレンダリング(SSR)や静的サイト生成(SSG)の活用が推奨されます。

この記事を書いた人

Author Image

SEO Writer / SEOタイムズ編集部

読者インサイトを分析し、行動につながる構成を設計。E-E-A-Tを重視し、専門家監修と実データで信頼性を担保。コアアップデートやAI検索動向を常にモニタリング。一次情報の検証や実例を用いた有益な情報を発信していきます。