Sitecore][IP Geolocation][Redirect] Sitecore GEO IPリダイレクトする際にGooglebotを除外する

概要:

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

メモ書きを書きました。しかし、Googleのサーチエンジンで用いる検索可能なインデックスを作成するために

ウェブ上からドキュメントを収集するGoogleBotを場合を想定していなかった。

今回、簡単にGoogleBotを場外し、また、検証用に使用したツールをメモ書きとしてします。

 

コードを更新

これは意外と簡単、GoogleBotのようなCrawling Botsを場外するコードを追加します。

private bool IsCrawlingBots()
{
	var returnVal = false;
	var CrawlingBots = SandboxSettings.CrawlingBotsExclusions.ToLower().Split(',').ToList();
	if (HttpContext.Current != null && HttpContext.Current.Request != null && HttpContext.Current.Request.UserAgent != null)
	{
		var uaStr = HttpContext.Current.Request.UserAgent.ToLower();
		returnVal = CrawlingBots.Exists(x => uaStr.Contains(x));
	}

	return returnVal;
}

その後、リダイレクトする前に確認をする。

 if (Tracker.Current.Interaction.GeoData.Country != "US" && !IsUserPreferUsSite() && !IsCrawlByBots())

設定にて除外が必要とするBotを設定。

<setting name="CrawlingBotsExclusions" value="googlebot,bingbot,yandexbot,ahrefsbot,msnbot,linkedinbot,exabot,compspybot,yesupbot,paperlibot,tweetmemebot,semrushbot,gigabot,voilabot,adsbot-google,botlink,alkalinebot,araybot,undripbot,borg-bot,boxseabot,yodaobot,admedia bot,ezooms.bot,confuzzledbot,coolbot,internet cruiser robot,yolinkbot,diibot,musobot,dragonbot,elfinbot,wikiobot,twitterbot,contextad bot,hambot,iajabot,news bot","irobot,socialradarbot,ko_yappo_robot,skimbot,psbot,rixbot,seznambot,careerbot,simbot,solbot,mail.ru_bot,spiderbot,blekkobot,bitlybot,techbot,void-bot,vwbot_k,diffbot,friendfeedbot,archive.org_bot,woriobot,crystalsemanticsbot,wepbot,spbot,tweetedtimes bot,mj12bot,who.is bot,psbot,robot,jbot,bbot,bot" />

 

動作確認

まず、以前のメモ書きにて使用していたツールを使用し、リダイレクをします。

 

2018-11-07 Wednesday_1

 

下記のChromeのプラグインUser-Agent Switcherをインストールします。

2018-11-07 Wednesday_2

Chromeのプラグインをインストールされたら、UserAgentをGooglebotへ切り替えすればいい。

正しい動作はGooglebotへ切り替えた際にリダイレクトがされない。

2018-11-07 Wednesday_3

Uncategorized