HOME > Days > アクセス数激減の理由はクローラーの巡回拒否設定にあった

アクセス数激減の理由はクローラーの巡回拒否設定にあった

  • Days

9月後半から約2週間、異常にアクセス数が激減していたのは私がGoogleの検索用クローラーをブロックしていた(403を返してた)せいでした。もう何してんねん私マジで…

果たしてこんな愚かなミスを犯す人が他にもいるのか分からんけどメモがてら残していきます。

この記事の概要

  1. Webサイトが自然検索結果に表示されるには
  2. 検索クローラーをブロックしていたと分かるまで
  3. GoogleクローラーのIPアドレスをブラックリストに入れていた
    アクセスがGoogleクローラーかどうか調べる方法
  4. アクセス数が激減する一般的な理由
  5. 個人的に有意義と感じる不正アクセス対策

1. Webサイトが自然検索結果に表示されるには

スマホやPCからインターネット検索した際に特定のページが検索結果に表示されるにはGoogleやBingといった検索クローラーにそのサイトを巡回してもらう必要があります。そのため、自分がどんなにブログを更新しようがサイトを公開しようが、そのクローラーに認識されていないなら他の人の検索結果には表示されません。
なぜなら、他の人がそのページにアクセスするための通路が無いようなものだからです。

例えるなら、誰も訪問経路を知らない家のような

これが理由で、新しいドメインで初公開したばかりのWebサイトは公開しても即時に検索結果には反映されません。Web制作会社で働いていた時にそれを知らないクライアントから「公開したのに検索結果に出ないじゃないですか!何か不具合が起きてるんじゃないですか?!」と連絡が入ったことがあるのですが、既存サイトからリンクを貼られたりでもしていない限り、通常は反映までに数時間か1日くらいかかります。
少しでも表示を早めたい時はGoogle search consoleからサイトURLを直接送信し、「ここに巡回してくれ~」と自分から手を挙げて優先的に巡回してもらうしかないです。

本当に何か問題が起きていて正常に反映できていない時は、例えばGoogle検索枠に「site:https://sammakko.net」と自分のサイトURLや記事のURLを入力しても検索結果に出ません。この検索方法で自分のサイトやページが表示されているなら問題ないです。

検索クローラーについてはGoogleが解説している「検索が情報を整理する仕組み」ページも分かりやすかったです。

2. 検索クローラーをブロックしていたと分かるまで

昨晩Google search consoleから調べてみると、そもそもそのツールすらも私のブログにアクセスできなくなっていることに気付きました。投稿したブログのURLを巡回用のインデックスに登録しようとすると、「失敗しました: アクセス禁止(403)が原因でブロックされました」と表示されたんです。

そこでGoogle search consoleのヘルプページ「インデックス カバレッジ レポート」に飛ぶと以下のように説明があったので引用します。

アクセスが許可されていないため、ブロックされました(403): ユーザー エージェントが認証情報を提供したものの、アクセス権が付与されませんでした。しかし、Googlebot は認証情報を提供しないため、サーバーは間違ってこのエラーを返しています。このエラーを修正するか、robots.txt または noindex でこのページをブロックする必要があります。

闇雲にセキュリティ対策を強め過ぎたあまりに、本来なら必要なロボット(ここではGoogleクローラー)のアクセスすらも「こいつは私のサイトに来ちゃダメ」と出禁にしていたようです。
※403:「サーバー側がアクセスを拒否している」という意味、404:「そのページは存在しない」という意味

なぜ分かったかというと、セキュリティプラグイン「All In One WP Security & Firewall」で設定している対策を全て無効化したらインデックス登録できるようになったからです。そのため、何の項目が悪影響を与えているのか調べるためにセキュリティ対策の項目を一つ一つONにしてはインデックス登録申請できるか(Googleが巡回できるかどうか)確認していきました。
そして、IPアドレスブラックリストの設定をONにしたところGoogle search console画面で「403」という結果が表示されたため、「こいつやな?!」と発覚したんですな。

Googleのクローラーをブラックリストに登録していた時、少なくとも以下のツールは403応答をされていたようで正常に使えませんでした。

  • Page Speed Insights
    →Google提供のPC・モバイルの表示速度調査ツールでもエラーが出ていました。
  • Google Search Console
    →インデックス登録やクローリング全てができなくなっていました。

私はこのサイトにGoogle Adsenseを入れていないのですが、もしAdsenseも設定していたらそれも表示されなくなっていたと思います。

3. GoogleクローラーのIPアドレスをブラックリストに入れていた

WordPressはCMSの中でも初心者でも操作しやすい上にカスタマイズしやすいので全世界にユーザーがいます。
※CMS:Contents Management System
ページのテンプレートがが自動生成されるので、html記述などをしなくても記事や画像の投稿、複数人による編集などが可能になるツール。誰でも管理・更新しやすいのが最大のメリットで、WordPressはそのツールの一つ。他にはMovable TypeやMTCMSなどがある。
参考ページ:「CMSとは?初心者でもわかるCMSの基礎知識とメリット、導入事例

Web知識のない一般人でも簡単にサイト作成できるのがWordPressの良い所ですが、逆に言うと「セキュリティ知識に疎い初心者が使っている&ネット上に大量にサイトがある」なんて条件はハッカーからしたらウハウハなので、一度公開すればサイトを乗っ取ろうとされたり改変目的でファイルにアクセスされたりと、毎日のように大量に攻撃を受けることになります。
私のような小さな小さなブログサイトですらブログを公開した4~5ヶ月間で1,000件近くの不正アクセスを受けていたので、アクセス数が多いサイトは日々尋常じゃないほど脅威に曝されていると思います。

私のブログに不正アクセスを試みてきたIPアドレスは全部記録に残っているため、「ドメイン/IPアドレス サーチ 【whois情報検索】」というページから調べるとそのIPアドレス利用者なども分かったりします。

Whois情報にはそのドメインやサーバ登録者の住所や名前、電話番号など何から何まで全世界に公開されているので、登録情報によってはその相手が「ビルの何階の何号室に住んでいる」ということまで把握できてしまうんですよね。Google mapで何度か確認したことがあります。
ネットの世界はすごいですな。

不安な人は自分のサイトのドメインを「DOMAINTOOLS」などから検索してみると外部からどのように見えているのか知ることができます。私は「さくらサーバ」を使っているためこのブログドメインのWhois情報の住所や電話番号のデフォルトはサーバ会社のものでしたが、個別に変えたい情報は設定画面から変更することもできました。

私はこのブログを日本以外の国からもアクセス可能にしているため、不正アクセスを試みたIPアドレス結果にはそれこそ色々な国名が並びます。もちろん日本もあるよ。
サーバー側から「日本以外からのアクセスは遮断」と設定すれば攻撃を大幅に減らせると分かっていても、私自身が現在海外にいることもあり、海外滞在者によるアクセスも大切にしたいんです。実際、訪問ユーザーの20%くらいは海外からのアクセスなので。

ただ、執拗な攻撃は遮断したいため、その都度IPアドレス別にブラックリストに登録して私のブログから永久追放してきました。そして私はそのリストにGoogle検索ロボットを放り込んでいたんですな。

Google検索ロボット(クローラー)はIPアドレスを公開していない上に複数存在するそうなので、厳密には「これがGoogle!」とははっきりとは分かりません。ただ、「Which IP addresses does Googlebot use when crawling?」や「The IP Addresses Used by Google」というページにGoogle検索ロボットのIPアドレスがまとまっていたため、これを参考にしながら片っ端からこのIPアドレスをブラックリストから除外していきました。

この作業の後はほとんどのページをGoogle search consoleから正常にインデックス登録できるようになり、2週間ぶりにGoogleの巡回が再開されました。ただ、今まで相当なアクセス数があった記事ですら表示されなくなっていたこの期間は、Twitterなどで宣伝もしていないこの小さなブログにとっては大きな痛手ですね。
再び上位検索結果に表示されるようになればいいけど…

また、「PC用クローラーは巡回できるようになってもスマホ用クローラーは拒否」設定のままだったせいでインデックス登録ができなかったものもあったため、荒療治ではあるのですが最終手段としてこれまでのブラックリスト登録を無効にすることにしました。
GoogleクローラーにはPC用やスマホ用(iOS用、android用なども)、Adsense用…と色々あるようです。

アクセスがGoogleクローラーかどうか調べる方法

Google自身はそのためのツールを公開していないものの、「Googlebot かどうかの確認」ページには確認方法が説明されていました。もしくは、先述の 「ドメイン/IPアドレス サーチ 【whois情報検索】」ページ からも判断できました。

例えばGoogleのIPアドレス「66.249.66.1」を検索すると、Whois情報には以下のようにきちんとGoogleと載っていました。場所はカナダやアメリカの北米が多いようです。

Organization: Google LLC (GOGL)

今後は毎回この方法で確認していかねば…

4. アクセス数が激減する一般的な理由

アクセス数を気にし過ぎるのは心理的に良くないと思い、私はこれまでGoogle AnalyticsやGoogle Search Console画面をそこまで頻繁に確認することはありませんでした。ただ、先月後半は更新や表示確認を全くしていなかったこともあり、10月に入ってから現状確認として久しぶりに結果を見たんです。

それを見るとアクセス数は今までとは比べようもないほど激減しており、特にGoogle Search Consoleでは9月下旬に入るまでは検索結果での表示回数が140~150回/日だったのに対し、直近ではそれが1桁にまで落ちていました。検索クローラーが巡回してきていないことが明白だったんです。
今回、2週間程度でこの異常事態に気付くことができたのは不幸中の幸いかな。

最初は「自分が更新を怠っていたためにGoogleから”情報が古い無意義なサイト”と思われたのかな」と軽く考えていました。ただ、今までは何もしなくても人気のあった記事ですらアクセスが無くなっていたのはさすがに奇妙だなと思い、アクセス数が減る原因などを調べたりしました。

ブログの記事アクセス数が急減するのは主に以下の原因があるようです。

  • Googleのアップデート
    →Googleが原因の時は後日Google Analytics画面に通知が出たりします。過去の有名なものはGoogleが医療や健康系記事に厳しくなったせいでそれらのジャンルを扱っていたブログサイトが軒並み大打撃を受けた時かも
  • 自分のブログの人気記事の順位が下がった
    →他のブログの記事の方が人気になったために自分のブログへの流入も減り、同時に他の記事もアクセスが減る
  • ユーザーのためにならない記事、とGoogleに判断された
    →関連性の高い記事の方が検索上位に表示されるため、無駄なことを書いていると「低品質」の烙印を押されて検索結果順位が下がる

私のブログで1番可能性として高そうだなと思ったのは3番目の「ユーザーのニーズ無視」です。というのも、「私のブログは同人誌に近いんじゃないかと思った時のこと」で書いているように私自身はこのブログに好き勝手に色々な記事を投稿しているため、「何かに特化した有意義なブログ」とは言えないことが自分でも分かっているからです。
でも、これに気付いたからと言って「じゃあ、もっとGoogleに評価されるように方向性変えよう」とは別に思わんかったんやけどな。

ただ、出来る限りの対策はやってみようと思い、robots.txtやsitemapをアップしたりはしました。でも、小規模サイトではsitemapは別に要らないどころか邪魔にすらなる場合があります。
今はブラックリストに登録したIPアドレスが原因だったと分かったので上記2つのファイルは削除しました。
サイトマップの必要性の有無については「検索エンジン向けサイトマップはSEOに逆効果になる場合もある」というページが詳しいです。個人ブログだと内部リンクで十分なんじゃないかと思う。

5. 個人的に有意義と感じる不正アクセス対策

私自身はエンジニアでも何でもないのでサーバやセキュリティ対策など全然詳しくないものの、サイト作成を始めた最初の頃からWordPressにセキュリティプラグインを入れていたおかげで今のところ危険な状態には陥ってないです。

個人的に、セキュリティプラグインによる設定の他には少なくとも以下のことは重要度が高い気がします。

  • WordPressやプラグインの更新
    古いバージョンを使い続けているとセキュリティが薄くなるのでそこに付けこまれるため。
  • ログインURLの変更
    デフォルトだと「サイトドメイン/admin」「サイトドメイン/wp-login」と直接入力すれば管理画面ログインページにアクセスできるので、万が一ハッカーからログインされたらWordPress管理画面から改竄し放題です(それを防ぐためにWordPressの管理画面上でphp編集できなくしておくのも効果的かも)。
    あと、「サイトドメイン?author=1」と入力するとユーザー名もバレる可能性があるため、それも設定から拒否しておく。
  • ユーザー名とパスワードに「admin」「password」を使わずに複雑にする
    ありがちなパスワードだと一気に文字を送り込まれてログインを試みる辞書攻撃で突破されるため。
  • config.phpのディレクトリ変更
    このファイルはデータベース情報が記載されているので1番大事なファイルです。デフォルトでは「wp-admin」「wp-content」「wp-includes」と同じ階層にあるので、それを一つ上の階層に移動させるとURLの直接入力ではconfig.phpにアクセスできなくなります。
  • 定期的なバックアップ
    万が一不正アクセスによって改竄されてもデータを復活できるように。私は毎月USBメモリにバックアップをとるようにしています。

セキュリティ対策についてはカゴヤサーバの「【最低やっておくべき】WordPressのセキュリティ強化対策5つ~初心者向け~」ページも分かりやすいかも。

終わりに

いやあ~、なんとか原因が分かって良かった良かった。もうホンマに焦ったよ。

アクセス数急減の時はGoogleが原因かもしれないから自分で勝手にすぐに対策をしない方がいい、という意見も聞くけど今回の私の場合は早いに越したことがなかった。
昨晩修正したおかげで、今朝には自然検索によるアクセスが戻っていました。

不正アクセスについて関してなら、以前Web制作会社で働いていた時、知らぬ間に不正ファイルを置かれて変なページに飛ばされるようになっていたWordPress製会社HPは見たことがありました。あの時は「何で気付かないんやろか」と思っていたのですが、いざこうして自分でWordPressを運用していると気付かないうちに色々な悪意を向けられていることを実感しますね。

こういうことを考えるとWordPressのブログ運用はどうしてもエンジニア陣の方が強そうだなと思ってしまいます。サーバやファイル管理、効率的なコード記述など全てにおいて圧倒的に知識の量が違い過ぎる。

あと、私のブログが不正乗っ取りなどされずに済んでいるのはとてつもなく優秀な人々が悪意への対抗策を講じてプラグインを作ってくれているからなんだとも改めて感じました。彼らのおかげで私のような素人でものほほんと過ごせてるんやわ。
セキュリティ対策プラグインに限らず、一介の一般人が日常的に何も危機を感じない状態は幸運でも何でもなく、最前線で日夜危険を排除してくれている人々の労力の上に成り立っていると思いますね。
ありがたい。

関連してるかもしれない記事

今回のこともそうだけど、愚かなミス多すぎやろ自分…

タグ: