クローラビリティ(Crawlability)
クローラビリティとは、検索エンジンのクローラーがページにたどり着き、その内容を読み取れる度合いのことです。ページがリンクされているか、robotsのルールで許可されているか、エラーなく配信されるか、そしてテキストがクローラーの解析するHTMLに存在するかで決まります。
ページは人間の訪問者には表示されていても、クローラーには見えていないことがあります。クローラーはまずリンクやサイトマップを通じてURLを見つけ、それを取得する許可を得て(robots.txt、noindexディレクティブ、HTTPステータスコードがこれを左右します)、そのうえでレスポンスから実際のテキストを抽出する必要があります。このいずれかの手順が失敗すると、内容がどれほど優れていてもインデックスに入りません。クローラビリティはその先のすべての前提条件です。たどり着けず読み取れないページは、ランキングされず、リッチリザルトを獲得できず、何にも引用されません。
現代のストアが静かに足元をすくわれるのは、このレンダリングの段階です。サードパーティのスクリプトから読み込まれるレビューウィジェットやiframeのように、ページの読み込み後にJavaScriptで挿入される内容は、多くの場合、最初のHTMLには存在しません。一部のクローラーはJavaScriptのレンダリングを遅れて実行するか、まったく実行しないため、そうしたレビューはクロールできない状態になります。買い物客には見えていても、クローラーには見えていないのです。iframeは特に厄介です。その中身は別のURL上に存在し、ホストとなるページに帰属させられることがほとんどないからです。
メリノウールのベースレイヤーを販売するShopifyストアを考えてみます。商品ページには平均4.7の星評価がついた240件のレビューが表示されており、これはブラウザがスクリプトを実行した後に星評価と顧客のコメントをページへ書き込むレビューアプリによって読み込まれています。買い物客にはページは完成しているように見えます。しかし、生のレスポンスを取得するクローラーにとって、メインの内容は商品名、価格、そして短い説明文だけです。240件のレビューはドキュメント内に存在しません。ストア運営者はソーシャルプルーフが検索のために働いていると考えていますが、クローラーが見ているレベルでは、それは存在していないのです。
正直な確認方法は、生のHTMLを取得し(ソースを表示するか、curlでリクエストします)、実際のレビューのテキストを検索してみることです。そこに見当たらなければ、クローラーの視点からも見当たりません。これはもはや従来の検索だけの話ではありません。ChatGPT、Perplexity、Google AI OverviewsといったAI回答エンジンは、取得して解析できるテキストから回答を組み立てます。その取得の多くは、各ページをブラウザで完全にレンダリングするのではなく、同じクロール可能なHTMLに依存しています。購入を検討する人が、繰り返し洗濯しても傷まないメリノウールのベースレイヤーはどれかとアシスタントに尋ねたとき、モデルが頼れるのは読み取ることができたレビューの言葉だけです。クライアント側だけで動くウィジェットに閉じ込められたレビューは、その回答に何も寄与しません。
既存のレビューを検索とAIが読み取り、裏づけ、引用できる状態にすること。ここがBeyondReviewsの埋めるギャップです。その内容をサーバー側でレンダリングし、ブラウザだけが実行するスクリプトの中に閉じ込めておくのではなく、クローラーが最初のリクエストで解析するHTMLの中に言葉が収まるようにします。