こんにちは、ANYCULです。
ANYCULは、中〜大規模のデータベース型サイトSEOを得意としており、構造が複雑で多くのSEO会社で対応が難しいようなサイトのトラフィック増加、売上増加のお手伝いをさせて頂いております。
今回は、データベース型サイトにおいて、クロール・インデックスを最適化させるにはどのような知識が必要なのかについて、弊社内で使用している指標とその指標の数式の一部も併せてご紹介します。
Googleのクロール・インデックスは奥が非常に深く、全てを説明することは難しいので、基本的な部分のみを数回に分けてご説明します。
今回はその第一弾で、クロールバジェットに関する正しい基本知識と、新規URLインデックスに関わる基本の数式についてです。
※当記事の内容は、大規模サイトだけではなく、求人サイトやECサイトやポータルサイトといったデータベース型サイトであれば共通する部分もある話ですので、ぜひ最後までお読み頂けたらと思います。
1.クロール・インデックス制御の必要性
WebサイトをGoogleなどの検索エンジンに認識させ、クロールしてもらい、インデックスしてもらう。これはどのようなWebサービスにおいてもまず第一に非常に重要になるプロセスです。
基本的に、数百〜数千ページ程を所有するサイト(いわゆる小規模〜中規模サイト)においては、基礎的なミスがない限り、クロールやインデックスが問題になることはほとんどありません。
しかし、数万〜数百、数千万のユニークページを持つWebサイトでは、これらの問題が起きやすくなり、インデックス率が直接的に流入や売上に影響するケースも多々あります。
2.まず、クロールバジェットを正しく理解する
一般的に、「クロールバジェット」と呼ばれるものがあり、これを理解するところがクロール・インデックス制御のスタートです。
クロールバジェットとは、シンプルにいうと、サイト毎(=サーバー毎)に割り当てられたリクエスト数の上限です。
※2017年に公開されたGoogleの記事「Googlebot のクロールの割り当てについて」では、「クロールバジェット」という言葉は使われていませんでした。しかし現在では、「大規模なサイト所有者向けのクロール バジェット管理ガイド」というものが公開されており、Googleも同じ言葉を用いるようになっています。
クロールバジェットをGoogleは、以下のように説明しています。
Crawl budget is determined by two main elements: crawl capacity limit and crawl demand.(訳:クロール バジェットは、クロール能力の上限とクロールの必要性の 2 つの要素によって決まる。)
これだけでは少し理解が難しいですが、以下のように考えるとイメージしやすいかと思います。
-
クロールの必要性:ホスト名(=サブドメイン)単位で割り当てられる。
-
クロール能力の上限:サーバー単位で割り当てられる。
www.anycul.jpというサイトがあったとします。
まず、www.anycul.jp(ホスト名)に対し、クロールの必要性が計算されます。
クロールの必要性の決定に関わるのは例えば以下のような要素です。
・外部リンク評価
・外部リンクの増加率
・サイト全体のコンテンツ品質評価
・サイトのコンテンツ更新頻度
・流入クエリにおける更新頻度の重要性
・サイトへの指名検索の増加率
そして、Googleが必要なクロール(=サーバーへのリクエスト)を最大限行えるかどうかは、基本的にそのサイトで使用しているサーバーリソースとの兼ね合いになります。
例えば、レスポンススピード、レンダリング時間、レンダリングに必要なリクエスト数、URL構造などの要素が関係し、これらの中でクロールを妨げる要素が多ければ多いほど実際のリクエスト数は減少します。
この話を単純化して計算式に表すと、以下のようになります。
リクエスト数 = (Googleが判断した)サブドメイン毎に必要なクロール数 - クロールを妨げる要素
つまり、サイト単位でのリクエスト数を最適化するには、
-
サブドメイン単位の(Googleが必要と判断する)クロール数を増やす
-
クロールを妨げる要素を減らす
の2つの方法しかありません。
この原則を理解してクロール制御に取り組むことにより、正しいアプローチによる成果を得ることができます。
どのようなクロール・インデックス制御を行うときも、この原則を覚えておくことが正しい分析と最適な施策考案に繋がります。
3.新規URLのインデックス可能性を探る
インデックスに問題がある場合、まずはそもそもインデックスさせたいURLがインデックスされうる状況にあるのか把握する必要があります。
ANYCULではまず以下のように、インデックスの可能性を把握します。
URL潜在的発見率
まず当然ですが、Googleは基本的にサイト内のどこかの既存ページ上で、新たなURLを発見します。この既存ページのことを新規URLの「参照元ページ」と呼びます。
この参照元ページへのクロール量が、1日に生成される(インデックスさせたいページ群の)URL数に対して十分なのか?を把握することによって、まずインデックスさせたい新規URL(群)がGoogleに発見される可能性があるのかどうかを判定することができます。
その判定には、以下のような数式を用います。
潜在的最大URL発見数
潜在的最大URL発見数 = (クロールされた参照元ページのユニークURI数 × 参照元ページ1ページ単位の表示リンク数)
※表示リンク数は、インデックスさせたい新規URL群含む同ディレクトリまたは同テンプレートページへのリンク数を指します。
URL潜在的発見率 = (潜在的最大URL発見数 / 生成されるURL数) × 100
数式を使った具体例
具体的な例で説明します。
例えば、賃貸サイトで「物件詳細ページ」の新規インデックス数を増加させたい場合で、「市区町村の賃貸一覧ページ群」が詳細ページの主な参照元ページであるとします。
下記のように計算を行います。
-
クロールされた参照元ページのユニークURI数(1日) = 800 -
参照元ページ1ページ単位の表示リンク数 = 20URL(東京賃貸一覧ページに20物件分掲載しており、20物件すべての物件詳細ページへのリンクが置かれている)
以上を踏まえ、
-
潜在的最大URL発見数(1日)= 800 × 20 = 16,000URL -
1日に生成される新規URL数は、2,500URLとする。
URL潜在的発見率 = (16,000 / 2,500) ×100 = 640%
このケースでは、1日に生成される物件詳細ページの数に対して、参照元ページ内で発見されうるページ数が6.4倍もあるため、クロール(リクエスト)総数は全く不足していないということがわかります。クロールが不足していないこのケースにおいて、インデックス率が低いのであれば、それはGooglebotのリクエスト数の問題ではなく、その先のどこかに原因があることがこの時点でわかります。
その場合には、新規物件詳細ページへのリクエスト数やリクエストされたユニークURI数、一覧ページ新規URLの出現率、GooglebotからのVisibility安定性や、新規URL出現のタイミング、コンテンツ重複率といった指標を整理して問題を調査していきます。
逆に、もしもクロールが不足していることがわかった場合には、
-
サイト全体のクロールバジェットの調整
-
現クロールバジェット内でのクロールリソース配分調整
といった対策を行う必要性が考えられます。
この数式を用いた実際の調査では、ある1日の数値のみの調査では信頼性が低いため、例えば1週間分のデータを利用して、上記数式を応用して調査をします。その場合、最終的には数値を7で割り、1日分に相当する数値を算出し、その際にクロール頻度という指標も用いて1つの参照元ページが1日に平均何回クロールされるのかも確認して計算します。
また、サイト内でカテゴリ毎やディレクトリ毎に大きな差がある場合には、それらで別々にこのURL潜在的発見率を算出する必要があります。
このURL潜在的発見率は、インデックスの問題を解決するにあたり、まず最初に明らかにしなければならない数値で、特に大規模サイトでは正確な対策を施すために必須となりますので、覚えておいて損はないかと思います。
今回は第一弾として、クロール・インデックス制御の大前提となるクロールバジェットの概念と、インデックスの可能性を探る第一歩となる指標「URL潜在的発見率」について紹介しました。
次回は、もう少し先のステップのお話をしようと思います。
クロール・インデックスに関するテーマのご要望がありましたら、代表小林のX(旧Twitter)にてご連絡頂けると幸いです。