XML Sitemap Generaterで通知エラー

検索エンジン用のXMLサイトマップを作る際、私は Google XML Sitemapsというプラグインを使っています。
で、これを使っていると、日本語環境だとBingへのサイトマップ送信時にエラーが発生する事例があります。

これの解決方法ってのは至って簡単な物で、最新版の3.2.9だと

スポンサードリンク

//Ping Bing
if($this->GetOption("b_pingmsn") && !empty($pingUrl)) {
	$sPingUrl="http://www.bing.com/webmaster/ping.aspx?siteMap=" . urlencode($pingUrl);
	$status->StartMsnPing($sPingUrl);
	$pingres=$this->RemoteOpen($sPingUrl);
									  
	if($pingres==NULL || $pingres===false || strpos($pingres," ")===false) {
		trigger_error("Failed to ping Bing: " . htmlspecialchars(strip_tags($pingres)),E_USER_NOTICE);
		$status->EndMsnPing(false,$this->_lastError);
	} else {
		$status->EndMsnPing(true);
	}
}
にある

if($pingres==NULL || $pingres===false || strpos($pingres," ")===false)
の部分を

if($pingres==NULL || $pingres===false || strpos($pingres,'サイトマップを送信いただきありがとうございました。')===false)
のように書き換えればOKでした。
(参考:日本語環境でXML Sitemap Generatorを使用するとBingへの更新通知でエラーが発生する問題の修正)

しかし、最近になってまたエラーが発生しまして、今度はこれでは解決できませんでした。
で、今度はどんな方法で解決したかっていうと

if($pingres==NULL || $pingres===false || strpos($pingres,"Thanks for submitting your Sitemap")===false)
こうするだけ。

どうやら、いつの間にやらサンクスメッセージが英語になっていたようですね。
結果の詳細を覗いてみたら、送信結果にこのメッセージがあったので、もしやと思いやってみたらビンゴでした。
ちなみに、Ask.comへの送信も失敗していましたが、こちらはただのDNSエラーでしたので、送信しないように設定しました。

見る度に気になっていて、ちょっとモヤモヤしていたんですがこれでスッキリしました。
忘れないようにメモメモ。

スポンサードリンク
Pocket

コメントを残す

メールアドレスが公開されることはありません。