そもそもの原因はレンタルサーバーの設定
Bingの検索結果ページに弊社サイトが反映されず、数週間 非表示になったり、かと思えば3日だけ表示されたりを繰り返していた問題。
【SEO対策】Bingの検索結果にサイトが表示されない時は
【.htaccess】さくらインターネットでのWWWあり・なしドメイン設定
【Bing】サポートに英語で問い合せる
と、色々と試しては右往左往していました。
すると、Bingのサポートからの回答に
検索結果で403のHTTP応答を受け取っている。
特定のIP範囲のBingbotからの要求のみを受け入れるようにサーバーが構成されている可能性がある
と書いてあったので、弊社がレンタルサーバーを借りているさくらインターネットさんに問い合せてみたところ、割とアッサリ解決しました。
そもそもの原因は 国外IPアドレスフィルタ という、海外からの不正なアクセスを防ぐため、国外IPアドレスからの特定のアクセスを制限するツールの設定がデフォルトで有効になっており、Bingbot(クローラー)が弾かれていたこと。
この設定をコントロールパネルから【無効】に変更して解決しました。
詳しくは さくらインターネットさんの
国外IPアドレスフィルタ マニュアルページをご覧ください。
Googleさんには問題なく表示されていたために、うちのサイトとBingさんとの間の限定された問題だと思い込んでいたので、まさかサーバー側の大元の設定が関係しているとは露ほども考えず
答えに辿り着くまで遠回りしてしまった。
私のこの数ヶ月の右往左往はなんだったんだ…でもまあ色々勉強になったと思って強く生きよう…とちょっと遠い目になりました。
私と同じくレンタルサーバーに自サイトを設置していてBingの検索から村八分になっている方は、もしかすると同じ原因かもしれませんので、私の屍を乗り越えて以下の設定をお試しください。
サーバーコントロールパネルで設定を修正
さくらインターネットのサーバーコントロールパネルを開き、
自分の契約ドメインとパスワードでログイン。
(初期ドメイン名、もしくは自分で設定したドメイン名、どちらでもOK)
左メニュー内の【 国外IPアドレスフィルタ 】をクリック。
デフォルトで【 有効(日本国外IPアドレスからのアクセスを制限する) 】にチェックが入っています。
【 無効(アクセスを制限しない) 】にチェックを入れ【 変更 】をクリック。
これでフィルタが無効になり、海外からのクローラーのアクセスが弾かれることが無くなります。
この状態で、次にクローラーがサイトに来てくれるまでしばらく様子を見てみましょう。
.htaccessで国を指定してアクセス拒否
国外IPアドレスフィルタを無効にすると、自分のサイトにどこの国からもクローラーがやってくる状態になります。
GoogleさんやBingさんだけが来てくれるなら良いのですが、その他にも怪しい海外のクローラーが来るかもしれません。
それはそれで困るので、フィルタ無効でBing検索結果に正常表示されることを確認した後で、来てほしくない国を.htaccessファイルに記述してアクセスを弾くことにしました。
.htaccessファイルが何か、どうやって作るのかは【.htaccess】特定の相手のアクセスを拒否・サイトに制限をかける の記事を、
国ごとのドメインは 世界のドメイン 一覧 をご覧ください。
deny from .cn
deny from .kr
deny from .ro
deny from .hr
deny from .il
上から順に ru(ロシア)、cn(中国)、kr(韓国)、ro(ルーマニア)、hr(クロアチア)、il(イスラエル)となっています。