ページがGoogleにインデックスされない時にどうするか、その観点と手順についてお話しします。基本的な内容はこのGoogleの公式ヘルプで確認できるのですが、確認する際の手順や注意点などが記載されていないため、とても迷われる方が多いと思います。

https://developers.google.com/search/docs/crawling-indexing?hl=ja

私自身、大規模サイトでインデックスにおける問題というのはいくつも経験し、細かな調査を行って改善してきましたが、そういったより多くのサイトでの経験を公開された記事というのはあまり多くありません。
ですので、この記事では私自身の経験から、実際の確認フローの中で何を使って何をチェックするべきなのか、その方法をお伝えします。

Googleがインデックスされない時に考える観点は大きく分けて4つしか存在しません。

1. アクセシビリティ(クローラビリティ)

2. noindexディレクティブ

3. カノニカライゼーション

4. 評価

この4つです。

順に解説していきます。

アクセシビリティ(クローラビリティ)

1つ目のアクセシビリティ(クローラビリティ)というのは、GoogleがURLまたはページ内のコンテンツにアクセスできる状態にあるかどうかを指します。

アクセシビリティ(クローラビリティ)をチェックする時に重要な観点は以下です。

  • URL発見動線があるか

  • URLにアクセスできるか

  • コンテンツにアクセスできるか

具体的には、以下を見ます。

・URL発見動線があるか(クローラビリティ)

第一に、GoogleがURL自体を発見できる状態にあることが必要です。
まずは、「URL自体が発見されたことがあるか」どうかをチェックします。
チェックするページ量が少ない場合には、Googl Search Consoleのカバレッジをチェックします。量が多い場合にはURL Inspection APIを用いて大量のURLを調査することをおすすめします。具体的な見方は公式ヘルプで確認してください。(これも今後ブログにします)

この調査の結果で次何をみるか考えます。

URLが発見されたことがある→URLにアクセスできるかを見る。

URLが発見されたことがない→URLが発見されうるのか調査する。

URLが発見されうるのかを調査するには、以下を調査します。

  1. リンク元ページへのアクセスが可能かどうか

  2. リンク元ページがクロールされているのかどうか、どのくらいの頻度でクロールされているのか

  3. リンク元ページがインデックスされているかどうか

これらはアクセスログを確認することで、精査可能です。

よく中規模以上のサイトで見るのは、2つ目のリンク元ページがクロールされているのかどうか、どのくらいの頻度でクロールされているのかが正確に把握できていないパターンです。
例えば1日30記事が生成されるメディアサイトで記事ページが一部クロールされていない状態だとします。
そしてこれら記事ページのリンク元ページ(URL発見元ページ)は新着一覧ページAのみであり、その新着一覧ページAには最大10件の新着記事ページが表示されるものであるとします。
1日1回Googlebotのクロールが来ている場合、このページでは1日に最大で10URLしか発見されないため、そもそもクロールが足りていないということがここでわかります。
※またこの際、特に大規模なサイトにおいては「潜在的な最大URL発見数(The maximum number of urls which possibly can be discovered)」や「潜在的な最大URL発見率(The maximum discovery rate of urls)」の計算を使用することがひとつ有効な手段となるのですが、これはまたの機会にご紹介します。

・URLにアクセスできるか

GoogleにURL発見されうるかどうかを確認できた場合、次にGoogleがURLにアクセスできるかどうかを確認します。

一番最初にrobots.txtでクロールを拒否していないか、サーバー側でGooglebotのアクセスを除外していないかをチェックしてください。(robots.txtでクロール拒否をしていても、クロールやインデックスがされるパターンがありますがまずはこれをチェックします。)モバイルフレンドリーテストやリッチリザルトでの確認も可能です。

Webサイトのアクセスログを確認することが可能な場合、アクセスログを確認することが一番正確です。アクセスログで返しているステータスも確認してください。400系や500系が返っている場合にはこれを修正する必要があります。
※Google Search Consoleというツールでカバレッジを見ることでも確認可能ですが、アクセスログで見ると実際にはクロールされているのに、GSCカバレッジ上ではURL発見すらされていないことになっている、なんてこともあります。これはGoogle側のミスですが、どうしようもありません。しかし結局のところGSC側でクロールされたと表示されていない状態ではその先のインデックスも見込めないため、アクセスログとGSCカバレッジに差がある場合には、この記事の内容を総合的に調査・対応を行い、ページが明確にクロールされ、そして評価されインデックスされる状態を作り出す必要があります。

・コンテンツにアクセスできるか

URL自体へのアクセスが可能だとわかったら、次にそのページ内のコンテンツにアクセスが可能かどうか確認します。

基本的にSSRを行っている場合にはほとんどのコンテンツにアクセスが可能ですが、CSRで一部Googleによるレンダリングが不可能になっているコンテンツがある場合、そのコンテンツは評価されないため、インデックスがされない可能性があります。
これは主にモバイルフレンドリーテストやリッチリザルトテストで確認することができます。
※モバイルフレンドリーテストやリッチリザルトテストで分かるのは、あくまで「本物のGooglebotがアクセスできるかどうか、レンダリングが可能であるかどうか」に過ぎません。実際にそのコンテンツをGoogleが「レンダリングするかどうか」は全く別の話です。これをこれを理解するにはクロールバジェットという概念や、サイトのタイプによるGoogleの挙動の違いを正確に理解する必要があります。これはまたどこかでお話します。

noindexディレクティブ

これは恐らく多くの人が知っているものかと思います。noindexディレクティブを使用していないかをチェックしてください。

developers.google.com

この際、ページのソースコードと、GSCカバレッジの両方を確認し、Googlebotが確実にnoindexディレクティブを認識していない状態であることをチェックしてください。

カノニカライゼーション

URLのアクセシビリティに問題が無いことが確認された場合、カノニカライゼーションの状態を確認します。
カノニカライゼーションとはつまり正規化という意味です。URLの正規化に誤りが無いかを確認します。
正規化の状態をチェックする方法は主にGoogle公式ヘルプに紹介されている以下の内容ですが、その具体的な手順を紹介します。

developers.google.com

まずは、Google Search ConsoleのURL検査で、ユーザーが指定した正規URLとGoogleが選択した正規URLの2つを確認します。ここでユーザーが指定した正規URLに表示されるのはlinkタグやHTTPヘッダーで指定したcanonicalのみですが、Googleが正規URLを選択する際には、以下の情報がすべて影響しうることを加味しチェックを行ってください。

・linkタグやHTTPヘッダーで指定したcanonical

・サイトマップのURL

・内部リンクのURL(まれに外部リンクのURL)

・301リダイレクトなどのHTTPステータス

これらは必ず「Googlebotからどう見えるか」をベースに調査してください。サイトに寄っては、ユーザーエージェントやCookie、リファラーなどで別のコンテンツやステータスを返している場合があるため、自分のPCやスマホのブラウザでチェックしてもそれはGooglebotが見るものとは異なっている可能性があります。
また、GoogleがあるURLにアクセスする際には、モバイル版のページにアクセスすることがほとんどです。そのため、Googlebotに見える表示を確認する際には必ずモバイル版のページを確認してください。(もちろん場合によってはPC版ページがクロールされることもあります。実際のクロール状況はアクセスログのユーザーエージェントでも確認可能ですが、最近はほとんどがモバイル版のログになっていると思います。PC版とモバイル版で別のURLを使用している場合や、ユーザーエージェントで配信コンテンツをわけるような動的配信を行っている場合には特に注意が必要です)

※最近よくご相談頂くのはReactやNext.jsを使用したサイトでのcanonical問題です。これらのライブラリ/フレームワークには使用している場合には技術面のチェックは非常に重要になります。

評価

ここまでの、

1. アクセシビリティ(クローラビリティ)

2. noindexディレクティブ

3. カノニカライゼーション

をすべてクリアし、技術的な問題が無いことを確認できた場合には、あと考えられる原因は「評価」です。

多くのサイトでは、技術的な問題が無いことを確認済みだがクロールされない、インデックスされない、という問題が多発していると思いますが、その原因はほとんどこの評価です。

ひとえに評価といっても、Googleにとってコンテンツの評価軸は多くあるため、その代表的な例を紹介します。

まず、大別すると、以下の2つのパターンがあります。

・手動対策を受けている

・手動対策を受けていない

手動対策を受けている場合には、GSCの警告を確認し、適切に対処してください。

手動対策を受けていない場合には、少し厄介です。

厄介ですが、どの粒度でインデックスに問題があるのかを確認するで、ある程度評価が低いその理由を推測することは可能です。

その粒度とは、

・あるページのみでインデックスに問題がある

・サイト全体でインデックスに問題がある

・あるページ群(ディレクトリやテンプレート)でインデックスに問題がある

サイト全体でインデックスに問題がある場合には、
サイト全体のコンテンツの評価や外部からの評価などが総合的に悪いという可能性があります。運営しているサイトによっては十分ありえるものです。できたばかりのサイトや低品質コンテンツばかりを作成しているサイトではサイトの評価が十分で無いため、コンテンツがインデックスされないといったことが有りえます。

あるページ群(ディレクトリやテンプレート)でインデックスに問題がある場合には、そのグループ全体でどのようなコンテンツを生成しているのか?(UGCで検索パフォーマンスが低いコンテンツである、リダイレクトをしたが評価がうまく移行されていない、Googleで何らかのポリシーに引っかかるコンテンツである、サイト内で特に評価の低い場所に置かれたコンテンツである、などなど)を確認することにより、改善策を見出すことができる可能性があります。
また最近では、ページ群で評価が悪い場合にはそもそもクロールすらされないというパターンも多くなってきています。これはGoogleがクロールリソース削減のため、事前にページ群を何らかの方法で評価し、インデックスしないであろうコンテンツをそもそもクロールしないようにしているためでは無いかと考えられます。

あるページ単体においてのみインデックスがされない場合には、そのページのコンテンツが十分に評価されていないことが原因かもしれません。サイトの別コンテンツと重複コンテンツである場合や、サイト外部のコンテンツと重複したコンテンツである場合にもインデックスに問題が出る可能性があります。

おわりに

基本的なインデックスの問題解決ステップをご紹介しました。それなりにシンプルなサイトの場合にはこれらの手順を行っていけばある程度どこに問題がありそうかは掴めるはずです。しかし、一定以上の規模を持った大型サイトでのインデックス・クロール問題はより複雑で、深い知見と経験が必要になります。クロールバジェットの概念を正確に把握した上で、例えば内部リンク経由クロールのロジックとサイトマップ経由クロールのロジックを組み合わせた施策を行うなど高度な技術が必要になります。

エニカルでは、そのような大規模サイトでのクロール・インデックスに精通したコンサルタントも在籍しており、適切な分析に基づいた施策考案が可能です。もしも大型のサイトでクロール・インデックスに課題を抱えていましたら、ぜひ一度こちらからご相談ください。