海外向けSEO事例: 国別コンテンツ表示と社内政治を両立させる2つの手順(クローキング判定もなし)
海外向けSEO(グローバルSEO、多言語・多地域SEO)についてランドが解説した先ごろのホワイトボード・フライデー(もっと最近では、ペトラ・クラフト氏がYOUmozで取り上げていた)を見た僕は、僕たちがあるクライアントの仕事で直面した海外向けSEOに関する厄介な問題と、それをどう解決したかについて簡単にコメント欄で説明した。
この「厄介な問題」とは、要は次の問題だ:
人間とロボットに対してそれぞれ別のページを表示させると、検索エンジンからみてクローキングとなる可能性がある。
この懸念の解決策について詳細を知りたいという多くのメッセージやメール、ツイートを受け取った。そこで、これらの要望に応えて、それがどのような問題だったか、そして僕たちが解決策をどのように調査し、どのように実施したかを、詳しく説明しよう
今回取り上げる問題自体はこのクライアント特有のものだと思う。しかし、その意味合いや解決策は似たような状況でも適用できるし、それぞれのニーズに合わせて微調整できるだろう。そうでなければ、この記事はただの興味深い読み物になってしまう!
問題 Googlebotと人間に別のページを見せたいがクローキングにはしたくない
僕たちのクライアントは、英国を拠点にオンラインとオフラインの両方で事業を展開している小売と卸売の世界的な大手ブランドだ。ウェブサイトにはccTLD(国別コードトップレベルドメイン)を使わず、代わりに「.com」のドメイン名に集約してサブドメインを国別に設定して各国向けに配信している。要は、次のようなスタイルだ:
- 英国向け: www.example.com
- ロシア向け: ru.example.com
- 米国向け: us.example.com
ここまではいい。しかし、社内政治の問題が生じる。同社は、英国内の在庫と価格設定を他国の顧客にできる限り見せない方針を取っている。その理由は、世界的な小売や卸売コストの違い、製品ラインの違いなどだ。
このクライアントは以前、IPアドレス検索によってサイトの訪問者がどの国からアクセスしているか検出して正しいサブドメインにリダイレクトしたり、英国内からのアクセスなら本体サイトにとどめたりすることによって、この問題をうまく処理していた。
ユーザーの視点からは完璧に機能していたが、コンサルティングエージェンシーEpiphany Solutionsと組んでSEOキャンペーンを開始したところ、この方法には大きな問題があることがすぐにわかった。
Googlebotは米国ベースのIPアドレスでクロールするため、Googleは常に米国のサブドメイン(us.example.com)にリダイレクトされていたのだ。そのため、本体サイト(www.example.com)にある英国向けページがいずれもインデックスされず、その結果Google.co.ukでブランド名を検索しても結果に表示されない事態になっていたのだ。
当然、問題発生だ。次の2つを満たす必要があったからだ:
- 訪問者に対しては、国別のサブドメインに誘導して、サイト内の他のエリアへのアクセスを制限する(価格や在庫を訪問者に見せないために)。
- Googlebotに対しては、すべてのサブドメイン上のすべてのページへのアクセスを許可する。
これを解決するには、米国を拠点にしているGooglebotにサイト全体をクロールさせつつ、米国(および英国以外)の訪問者をジオターゲティングした適切なサブドメインにリダイレクトする必要があった。
この時点で多くの人が考えていることはわかる……。それは、この問題がクローキングの泥沼にはまりつつあるということだ(うわぁゾッとする!)。
解決策 調べた結果、行き着いたのは「オーバーレイ表示の実装」と「要素の非表示」
僕たちは、にっちもさっちもいかない状況になった。既存のIPアドレスベースのリダイレクトではGoogleにサイト全体を正しくインデックス登録してもらえないが、クライアントのビジネス上のニーズから、Googlebotにサイト全体をクロールさせるためにIPアドレスによるリダイレクトを削除することもできなかったからだ。
そこで、僕たちはどのような選択肢があるのかを調査し、ネット上からアイデアを収集する必要があった。その一環として、Mozのダンカン・モリス氏やGoogle検索セントラルのジョン・ミューラー氏と話したり、リダイレクトの話題やGoogleの許容範囲に関する多くの記事を参照したりした。
残念ながら、モリス氏が提示してくれたアイデアは、JavaScriptのリダイレクトを使った教科書通りのクローキングだった(きっと彼が言いたかったことを僕が誤解していただけに違いない! 多分!)。
マット・カッツ氏が以前、2011年にはGoogleのウェブスパムチームとしてこの種のクローキングを取り締まる予定だと言っていたので、それを考えるとJavaScriptのリダイレクトを使った手法とは、なおさら距離を置いておくほうがいいだろう。
しかし、僕たちは最終的に自分たちのアイデアと、上述した多くの情報源から得た明確な情報をつなぎ合わせて、非常に独創的な素晴らしい解決策に行き着いた。自分で言うのもなんだが!
この解決策は、以下の2つのステップに分けて実施できる:
- ステップ1 オーバーレイ表示の実装
- ステップ2 要素を非表示にする
ステップ1 オーバーレイ表示の実装
まず僕たちは、リダイレクトを削除した。しかしIPアドレス検出機能はそのままにして、訪問者のIPアドレスによって次のように動作を変える機能をJavaScriptで実装した:
訪問者のIPアドレスが英国の場合は何も起こらず、訪問者は以前と同じようにメインサイト(www.example.com)のすべてのコンテンツに自由にアクセスできる。
訪問者が英国以外のIPアドレスでアクセスした場合は、JavaScriptで書かれたプログラムが起動する。このJavaScriptを実行すると、オーバーレイ表示をだす(「lightbox」とも呼ばれる、技術的には「モーダルダイアログボックス」と呼ぶ状態に近いもの)。
オーバーレイに表示する内容は、IPアドレスから判断された訪問者の国に合わせて調整される。たとえば、米国からアクセスした場合のオーバーレイには、歓迎メッセージとともに、USサブドメインへのリンクをクリックするよう誘導する内容を表示する。
オーバーレイはページ全体に表示されるため、訪問者がメインサイト上で何かをクリックするのを防ぎ、オーバーレイ表示上のオプションしか操作できなくなる。ただし、GooglebotはJavaScriptを実行しつつ、オーバーレイ表示の下にあるページ上のすべてのコンテンツを読み取ることもできるため、ウェブサイトのすべてのページを自由にクロールしてインデックス化できる。
しかしこのままでは、
- Googleには、サイトの全ページをクロールすることを許可
- 人間の訪問者には、アクセス対象を制限
という状態のため、クローキングになってしまう。
これを回避するために、ミューラー氏のアドバイスを受けて、オーバーレイ表示のインターフェイスにごく小さな目立たないリンクを組み込んだ。要は、英国以外の訪問者でもオーバーレイ表示を閉じて英国版のウェブサイトに留まれるようにしたのだ。これでGoogleにクローキングだと判定されることはなくなる。やったね!
しかし、まだ問題が残っている。「英国以外からの訪問者がこのリンクを使ってオーバーレイ表示を閉じ、英国向けのページ、ひいては英国向けの価格を閲覧する可能性」だ。前述のように、社内政治の都合上、他国の価格を見せるわけにはいかない。
そこで必要になるのが、解決策のステップ2だ。
ステップ2 要素を非表示にする
IPアドレス検出機能で英国以外のユーザーだとわかっている場合は、訪問者がオーバーレイ表示を閉じたときに、すべての商品ページから価格フィールドと「カゴに入れる」ボタンを削除するようにサイトを変更した。この機能により、英国以外の訪問者に対しては価格をすべて非表示にできるため、海外からの商品購入を防ぐことができる。
訪問者の位置情報に直結する小さな情報をページ上で表示または非表示にする機能は、Googleのマイリー・オイェ氏がこの動画で(クローキングやIPアドレス配信に関するその他の役立つ機能と併せて)推奨している。
実はGoogle自身も、この機能を使っている。訪問者がどの国からアクセスしているかを検出し、その国に合わせたバージョンの検索エンジンに変更できるリンクを表示しているのだ。
以上が、かなりユニークな問題に対する複雑な解決策だ。このサイトは、あらゆる検索エンジンスパイダーから完全にアクセスできるようになり、同時に、英国以外の訪問者は適切なサブドメインに誘導され、英国の商品構成の価格や購入オプションは表示されなくなった。しかも、すべてグーグルのガイドラインに準拠したベストプラクティスだ。
この手法について、あるいはあまり一般的ではない問題に対して独自の海外向けSEOソリューションを実装したことがある人がいたら、ぜひ意見を聞かせてほしい。
ソーシャルもやってます!