高度に発達したSEOはプロダクト改善と区別がつかない

高度に発達したSEOは、自然と「データを基盤として仮説を形成し、プロダクトを改善していく」という実践へと近づいていきます。JADEファウンダー長山が、弊社で提案している施策を紹介しながら語ります。

JADEファウンダーの長山です。今日は表題の通り、「高度に発達したSEOはプロダクト改善と区別がつかない」という話をしたいと思います。

きょうの献立

  • 検索インタラクションモデルについて
  • プロダクト改善へのフィードバックとしてSEOを捉える
  • 実際の施策例 (Crawl, Index, Click)

検索インタラクションモデルについて

昨年から弊社では、JADE独自のフレームワークである検索インタラクションモデル (Search Interaction Models; DCIR - QCLS) に基づく発信を何度か行ってきました。このフレームワークに基づいた分析や提案は2021年から行っていましたが、2022年になって、外部に対してより積極的にこのモデルを打ち出す方向性へシフトしました。

blog.ja.dev

もともとこのフレームワークは、SEOを再定義し、その外延を定めるということを目的として作成されました。2020年代に入り、「検索エンジン最適化」という言葉が何を指しているのか、何を目指して、何を行うべきなのか、ということについて、しばしば混乱が見られるということが根底の問題意識でした。検索エンジンのガイドラインに違反しながらもシグナルをハックして順位を上げるような、いわゆるスパム、検索エンジンハックの時代が終わりを告げたあと、それでは何をやるべきなのか、やらなければならないのかということについてコンセンサスを取ることは難しくなりました。SEOは明確なスコープ定義を失い、また、誤解に基づいた、あるいは効果の出ない施策を行うような状況に陥ってしまったのです。

このフレームワークは、

  • 検索エンジン最適化のスコープを明瞭に再定義すること
  • 施策を行う際の考え方の枠組みを提供すること

これらの目的を達成することで、この問題を解決し、適切で、持続可能であり、かつ成長につながる検索エンジン最適化のあり方を提示するものです。

このモデルの詳細については該当記事を参照していただきたいのですが、重要なポイントは、「検索エンジン経由でサイトを訪れるユーザーの体験を改善すること」、すなわち「検索体験最適化」を、「検索エンジンにサイトを正しく理解させること」と並べて重要事項として定義したことです。これまで、検索エンジン最適化の文脈においては、「検索結果における順位を向上させること」が最大の目的であるとされることが多く、「ユーザー行動はランキングシグナルか?」という議題においてのみ、検索ユーザーが登場するような議論の構造になっていました。これを転換させ、そもそも検索体験を向上させることがSEOの目的である、という本質的にユーザーファーストの議論へと移行させました。この転回が非常に重要と考えています。

もちろん、このパラダイムにおいても、まずは検索エンジンにサイトをクロールさせ、インデックスさせることは非常に重要です。またランキングにおいてシグナルが適切な形で評価されるようにサイトを設計することも非常に重要です。しかし、こちらにおいても、フェーズごとに分割したことで、単に「検索における順位」を目的とした議論をする必要がなくなります。「ランキングにとって寄与するか?」という平面的な議論から脱し、より解像度の高い議論を行うことができるようになります。

しばしば「SEO的に良い・悪い」という言葉が利用されますが、解像度が低い表現のため、JADEでは推奨していません。「インデックス率にとって良い」、「ランディング時の体験にとって良い」という表現を使うことで、ある施策が何を目的として行われているのかを考えることができます。

こういったことは、2021年時点で、すでにレベルの高いSEOを行う者の間では常識とはなっていましたが、それを改めて言語化し、体系化し、形式化することで、フレームワークとして教えることができるものへと昇華させた点が新しいといえます。

プロダクト改善へのフィードバックとしてSEOを捉える

このフレームワークに基づき、本質的にユーザーファーストの議論を行う視点に立つとき、これまで行われてきたSEO施策群を、改めて「何を目的にしたものか」を基調として整理し、また不足しているものを補うことが可能となります。特に、流入時点での体験である Land フェーズに加えて、そこからの回遊体験として Surf フェーズを設計したことは大きなポイントです。この発想を付け加えることで、流入してきたユーザーの体験を、総体的観点から分析し、それをいかにしてよくするかを考えることができるようになります。弊社山田による以下の記事は、そのひとつのあらわれです。

blog.ja.dev

この転換によって、検索エンジンからの評価そのものを、運営しているサービスやサイトに対するフィードバックとして捉えることができるようになります。データに基づき、「プロダクトをより良いものにすること」を通じて、ハックではないグロースを目指すことができるようになるのです。

フレームワークに基づいてどのような指標を観測するかを決め、データを取得してダッシュボードを作り、分析を行なって仮説を形成し、仮説に基づいて改善案をまとめ、それを実施して指標が動いたかを確認する。うまくいかなかったら仮説を訂正し、改善策をさらに練る。このサイクルを回し続けてプロダクトのグロースを目指すことで、狭い意味でのいわゆる「SEO」を超越して改善を行うことができる、とJADEは考えています。

実際の施策例

データを活用してプロダクトを改善する、という時、具体的にどのようなことを行っているか、我々のフレームワークに基づいてフェーズに分け、いくつかご紹介します。

Crawl: クローラーダッシュボードを作成して状態を把握する

JADE が新たなお客さまのサイトに取り掛かるとき、大規模サイト向けにまず行うのがクローラーダッシュボードの作成です。BigQuery にクローラーログを溜め、Materialized View などを用いて高速化した Looker Studio を作成します。これにより、どのような User-Agent から、どのようなパターンのURLにリクエストが来ているのかを分析することが可能になります。

ある例では、外部リンク経由で不必要なパラメーターが付いているURL群に不要なクロールが大量に来ていることがわかり、robots.txt によるブロックを行いました。この結果、インデックス率に影響を与えることなく、不要なクロール数を毎日数百万削減することに成功しました。

インデックスやランキングに影響を与えることなく、毎日数百万クロールを削減

インデックスやランキングに影響を与えることなく、毎日数百万クロールを削減

また、BigQuery ML を用いて UserAgent タイプと URL パターン、HTTPステータスごとにリクエスト数を予測する ARIMA モデルを訓練し、予測されたリクエスト数の信頼区間から大きく外れた値が検出された場合にアラートを出すパイプラインを組む、なども行なっています。突然 50x が増えた、などの事象が起こったとき、より迅速に気づくことが可能になります。より容易にこういった分析を行えるよう、専用のツールを開発しています。

Index: あるディレクトリにおけるインデックス率を調べることでページ群の評価を見る

上記のようなクロール削減施策を行う場合、インデックスやランキングに悪影響を与えないことが重要です。しかし、たとえばあるサブディレクトリ上に存在しているインデックスさせたいURL群のうち、何%が実際にインデックスされているかを把握されている方は多くありません。

そこで JADE では、インデックス率の定点観測のためのツールを開発しました。インデックス率を計測したい対象のサブディレクトリやURLパターンからランダムにURLをサンプリングしてグループを作成すると、自動的にそれらのURLのインデックス状況を確認し、インデックス率をチェックしてくれるツールです。

これにより、「このサブディレクトリのインデックス率を向上させる」といった目標の設定が可能になり、それに向けた施策を行うことができるようになります。こちらのグラフは、集中的に施策を行うことで、開始して6ヶ月ほどであるサブディレクトリのインデックス率が大きく向上した事例です。

集中的に施策を行うことで、ある特定サブディレクトリのインデックス率が向上した事例

集中的に施策を行うことで、ある特定サブディレクトリのインデックス率が向上した事例

ここ半年ほど開発を行っていますが、徐々に機能が増えてきており、「すでに生成されているXMLサイトマップからランダムサンプリングを行なってインデックス率を確認する」などが可能になっています。

こちらは今年中に Public Beta として公開する予定です。

あるURLグループを対象にクロール率・インデックス率のチェックが行えるツール(画面は開発中のものです)

あるURLグループを対象にクロール率・インデックス率のチェックが行えるツール(画面は開発中のものです)

Click: データを基盤としたアプローチで最適な title を決定する

よりよい title を探索したいとき、A/B テストを行いたくなります。しかし、検索結果にどのような title が表示されるかを完全にコントロールすることはできないため、大規模なテストを行った際の結果の検証は容易ではありません。一部のサブディレクトリのみ title を変更するなどして簡単なテストを行うことはできますが、サブディレクトリによってユーザーの反応は異なる可能性があり、テストの結果をそのまま全体に適用することはできません。

大規模なサイトを対象に JADE で実施した例では、層化サンプリングを行い対象を分けた上で、CausalImpact を利用してデータの検証を行いました。当初は通常の乱数関数を利用してグループ化を行う予定でしたが、生成されたグループを多様な角度から検証してみると、グループ間のトラフィックの差が大きいことがわかりました。そこで、ある程度テストグループ間のトラフィックが同じくらいに収まるように、トラフィックの大きさで層化を行なってグルーピングを行いました。

層化サンプリングを行いグループ間のトラフィックの差異を小さくする

層化サンプリングを行いグループ間のトラフィックの差異を小さくする

あるタイミングで、グループごとに title の生成パターンを変更します。全てのページが Google にインデックスしなおされるのは少しタイムラグがあるので、クロールログを Looker Studio で可視化しながら、各グループの URL がクロールされるかを確認します。事前に行った施策によりクローラーの回りかたは十分に安定していることがわかっていたのでこのケースでは問題がありませんでしたが、クローラーの周り方が不安定である場合、あるいはクローラーの状況を把握していない場合は、そちらの分析と対処を先に行うようにしましょう。また、ページで指定した title が利用されないような状態になってしまっている場合、そちらの原因分析と対処を先に行わなければなりません。

介入を開始後、1週間ほどしてから、それぞれのグループを対象に CausalImpact を走らせ、Click がどうなっているかを確認しました。こちらがその結果です。Treatment グループの累積 Clicks がテイクオフしていることがわかります。

介入を行わない Control グループの累積 Clicks。予測の範囲内にとどまっている。

介入を行った Treatment グループの累積 Clicks。予測を越えたパフォーマンスを出している。

介入を行った Treatment グループの累積 Clicks。予測を越えたパフォーマンスを出している。

JADE では、この方式を用いることで、安定的に、大規模サイトにとって最適な title を発見することができるようになりました。ある例では、3種類の Treatment グループを作成し並列テストを行うことで、CTR が 20% 向上するものを発見できました。

 

titleテストの結果

titleテストの結果

プロダクト改善の支援を通じて、インターネットを良くする

「SEOとは何か」ということが議論になるようになってきました。JADEでは、SEOとは、真摯にユーザーに向き合うことで、マーケティングとエンジニアリングの境界を越え、プロダクトを総合的に良くしていくことに他なりません。検索エンジンと検索ユーザーの動向という地盤を正確に捉え、そこに対して的確に施策という肥料を与えることで、グロースという果実はしっかりと実ります。リンクやコンテンツといったシグナルを人工的に大量投与するだけで成果に繋がる時代は終わったのです。

JADE のコンサルティングでは、「データの最大活用」と「適切な戦略」をベースに、単なるハックに止まらない、事業成長につながる形での自然なグロースを目指すためにお客様をご支援しています。弊社でご支援させていただいているお客様は、素晴らしい価値を持ったサイトやサービスを運営されている方ばかりです。そういった素晴らしいプロダクトがより成長することで、インターネットはもっと良い場所になると考えています。