Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Why your pages are crawled but not indexed

2026年09月25日に「Dev.to」が公開したITニュース「Why your pages are crawled but not indexed」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

WebページがGoogleに「クロールされたがインデックスされていない」場合、原因はコンテンツの質だけでなく、Canonicalタグの不一致、Googlebotとブラウザで取得する内容の差異、JavaScriptレンダリングエラー、リダイレクトチェーンなど様々だ。Search Console APIなどを使い、技術的な問題を特定し解決することが重要となる。

出典: Why your pages are crawled but not indexed | Dev.to公開日:

ITニュース解説

検索エンジンがウェブページを検索結果に表示するためには、まずウェブサイト上のページを「クロール」し、その内容を読み取って「インデックス」と呼ばれるデータベースに登録する必要がある。しかし、Google Search Consoleで「クロール済み - インデックス未登録」というステータスが表示される場合がある。これは、GoogleがURLを読み取ったにもかかわらず、何らかの理由でそのページを検索結果に含めないという意図的な判断を下した状態を指す。この問題は、しばしば「コンテンツの質が低いからだ」と誤解されがちだが、実際にはコンテンツの質だけではない、いくつかの技術的な原因が潜んでいることが多い。

Google Search Consoleのユーザーインターフェースでは、この「クロール済み - インデックス未登録」というステータスがまとめて表示され、具体的な原因が分かりにくい場合がある。より詳細な情報を得るためには、Google Search Console APIを利用するのが有効だ。特に「URL検査API」を使うと、特定のURLについてGoogleがどのように認識しているかをプログラムで確認できる。このAPIは、ウェブサイトの登録済みURLと検査したいURLを指定して呼び出すことで、そのURLが現在どのようなインデックスステータスにあるか、最終クロール日時、そしてGoogleがそのページに設定している正規URL(canonical URL)などの詳細な情報を返してくれる。ただし、APIの利用には制限があるため、多数のURLを一括で検査する場合は、一度に大量のリクエストを送るのではなく、間隔を空けて処理する必要がある。

このAPIから得られる情報の中で、特に注目すべき点は「googleCanonical」と「userCanonical」だ。userCanonicalはウェブサイトの管理者がHTML内のlink rel="canonical"タグで指定した正規URLを指し、googleCanonicalはGoogleが最終的にそのページの正規URLとして選択したものを指す。もしこれらが一致しない場合、Googleはウェブサイト側が指定したcanonicalタグを正しくないと判断し、代わりに別のURLをインデックス対象として選んだことを意味する。これは「クロール済み - インデックス未登録」となる主要な原因の一つであり、canonicalタグの設定を見直すことで解決できることが多い。

canonicalタグに問題がないのにページがインデックスされない場合、次に確認すべきは、Googlebotと通常のブラウザでアクセスした場合に、サーバーが同じコンテンツを返しているかどうかである。ウェブサイトによっては、キャッシュの仕組みやボット保護のルールによって、Googlebotなどのクローラーには異なるHTMLを返したり、内容の一部を省略したりすることがある。このような差異は意図せず発生することもある。この問題を特定するには、コマンドラインツール(例えばcurl)を使って、Googlebotのユーザーエージェントを装ってページにアクセスした場合と、通常のウェブブラウザのユーザーエージェントでアクセスした場合とで、それぞれサーバーが返すHTTPステータスコードやHTMLの内容(特にtitleタグのような重要な要素)を比較する必要がある。HTTPステータスコードが両方とも200 OK(成功)であったとしても、内部のコンテンツが異なっている場合があり、この手の問題はログにエラーが出ないため発見が難しい。

さらに、JavaScriptを使ってコンテンツを動的にレンダリングしているウェブページでは、別の問題が発生することがある。Googlebotはまず初期のHTMLを取得し、その後JavaScriptを実行して最終的なページ(DOM)を構築する。このJavaScriptの実行中にエラーが発生したり、外部の依存関係がタイムアウトしたり、クローラーのレンダリング環境でブロックされるようなクライアントサイドの処理があったりすると、Googlebotが最終的に見るページの内容が、通常の訪問者が見るページよりも不完全なものになってしまうことがある。この場合も、初期のHTML取得やJavaScriptの実行自体は成功するため、サーバーは200 OKを返し、ログにもエラーとして記録されないことが多い。この問題を特定する唯一の方法は、クローラーがページをレンダリングするのと同様の方法でDOMを生成し、その結果を通常のブラウザで表示されるDOMと比較することだ。

最後に、リダイレクトチェーンの長さも問題の原因となることがある。あるURLにアクセスした際に、最終的な目的地に到達するまでに複数回のリダイレクト(転送)を挟むことがある。2、3回程度の短いリダイレクトチェーンであれば通常は問題なくインデックスされることが多いが、リダイレクトの回数が増えると、Googleがウェブサイト全体をクロールするために使える「クロールバジェット」(クロール頻度や量)を余計に消費してしまう可能性がある。また、リダイレクトの途中でcanonicalの設定が意図せず変更されたり、HTTPステータスコードが予期せぬものになったりするリスクも増える。これもコマンドラインツールを使って、指定したURLが何回のリダイレクトを経て最終的なURLにたどり着くかを追跡することで確認できる。

これらの技術的なチェックは、「クロール済み - インデックス未登録」という問題を解決する上で非常に重要である。ウェブサイトのコンテンツの質を改善する前に、まずCanonicalタグが正しく設定されているか、Googlebotと通常のブラウザで同じコンテンツが見えているか、JavaScriptが意図通りにレンダリングされているか、リダイレクトチェーンが適切かといった、ページそのものの「構造的な事実」を確認する必要がある。これらの技術的な側面を先に検証せず、いきなりコンテンツの質の問題だと決めつけて改善作業に着手することは、誤った仮説に基づいて時間やリソースを無駄にする可能性が高い。システムエンジニアを目指す上で、このような技術的な診断能力を身につけることは、ウェブサイトの健全性を保つために不可欠なスキルとなるだろう。

関連コンテンツ

関連IT用語