[Sitecore][IP Geolocation][Redirect] Sitecore IPジオロケーションをもとにユーザーリダイレクト

概要:

Sitecore IPジオロケーションサービスを使って、国別にユーザを自動的にリダイレクトする

に関するメモ書きです。

もしSitecore IPジオロケーションサービスを使用しているであれば、ユーザの国コードが知ることができますので、それをもとに自動的にリダイレクトします。

国のコードを取得後、リダイレクトするのは簡単ですが、ただ、いくつかの状況を事前考慮しなければなりません。

■USのユーザが日本へ出張し、現地でUSのサイトへアクセスをすると、ジオロケーションにて日本として判断され、常に日本のサイトへリダイレクトしてしまいます。USのユーザですので日本にいながら、USのサイトへアクセスしたい。

■USのユーザがVPNや、RDPでUS以外のサーバーへ接続し、サイトへアクセスすると、ジオロケーションが外国と判定し、US以外のサイトへリダイレクしてしまいます。USのユーザですので日本にいながら、USのサイトへアクセスしたい。

■サイトのサブページへアクセスする際にも国コードをもとにダイレクトされるどうかの判断があり、ユーザーを混乱されないように考慮しなければなりません。

上記の状況を対応するにはなんらかの方法でユーザーにどの国のサイトにてブラウズするという確認を取ることが必要です。よく見かけるのはポップアップウィンドにて、ユーザーが特定の国のサイトにてブラウズするかどうかの確認をとり、

確認を取った時点でクッキーを設定し、ブラウザーが閉じるまで常にこのクッキーを確認し、必要のないリダイレクトを避けます。また、ヘッダーやフッターにある国別のリンクを利用し、クッキーを設定することも見かけます。

 

例えば、メインのサイトがUSサイトであり、日本のユーザーがUSサイトへアクセスすると、ジオロケーションが日本の国コードが判定され、ユーザを日本のサイトへリダイレクトします。

一度USのサイトへリダイレクトされたユーザーがヘッダーやフッターにある国別のリンクをクリックします。例えば、

”US サイト” のリンクをクリックします。この時点でクッキーを設定します。もし国別のドメインが違う場合、別の

国のドメインを設定できない場合は、UrlReferrerを確認し、クッキーを設定することができます。

 

リダイレクトのコードにて、常にこのクッキーを確認します。もし、このクッキーが設定されている場合はリダイレクトしない。

さて、コードを見てみましょう。

最後に、<httpRequestEnd>にてプロセスをパッチすればいい。

ローカルで動作確認する際に Sitecore Analytics Testing Tools を使うのをお勧めします。

簡単にさまざまな国のIPを追加して、IPに基づいてロケーションページがどのように変化するかを確認できます。

clip_image002

2018-10-05_0-42-33