Pagespeed APIでスクリーンショットを取得の記事でも、クリックランキングでディレクトリ型検索エンジンdtnだけ異常値がでていると書きましたが、今日見てみてもやはり異常値がでておりましたので調べてみることにしました。

同じ集計期間でdtnディレクトリだけ800弱に!?

クリックランキングのデータ取得時には、リファラ、ホスト名なども一緒に保存していたのですが、リファラがNULLの大量データが連続して入っている時間があることに気が付きました。多分これが原因のようです。

リファラがNULLのデータが連続

となると、数年前にリニューアルした際に見直したクリックカウント付近の動きが怪しい感じです。

以前のクリックカウントの収集方法では、URLのパラメータ渡しを使ってクリックされたリンクIDの確認をしておりました。?と&をつけたURLで値を渡す感じですね。

<a href="https://www.dtn.jp/search/rank.php?MODE=OUT&LINK_ID=98&LINK_URL=https://www.dtn.jp/>ディレクトリ型検索エンジンdtn</a>

リンククリックの取得自体に問題はないものの、この方法ではパラメータ取得用のrank.phpをどうしても経由することになるので、rank.php側でheader()を使って301リダイレクトをかけたとしても、直リンクの方が外部リンクとしては良いのではないかとは思い、ディレクトリをリニューアルしたタイミングでリンク方式も見直しておりました。

ということで、現状のものは<a>タグで直接リンクを貼りつつ、jQueryでカウントアップを別途取得する感じになっています。Yahoo!カテゴリでも昔やっていた方式ですね。

<a href="https://www.dtn.jp/" class="click-count" id="98" d_code="98">ディレクトリ型検索エンジンdtn</a>

フロント側の取得方法はこんな感じで変えていたのですが、jQueryで取得したIDを受け取り、DB側に更新をかけるPHPは以前のものをそのまま流用してしまっており、しかも、URLリンクでGETはもう使わないからということで、諸々用意していたアクセスチェック関連のプログラムをかなり省いてしまっていたので、このrank.phpに対してbotが大量アクセスを投げていたものがそのままカウントアップに反映されていたようです。失礼致しました。

ということで、再度修正をかけまして、無事dtnディレクトリのクリックカウントがやたら出てくることはなくなりました。

無事ディレクトリdtnが常に出てこなくなりました

ところで、リファラが取れなかったり、ホスト名が取れなかったbotのアクセスですが、クリックカウントに反映されていることからGETのデータを持たせてあるようですが、何故かそのサイトはID=98(ディレクトリ型検索エンジンdtn)を持ってどれもアクセスしてきていたようです。

どうやらSEO解析系のクローラーがそのパターンだったようですが、中でも突出して多かったものがMJ12botでした。お行儀悪いのは相変わらずですが、こんな過疎サイトまで収集にやたら訪れるというのも凄い話です。MJ12の名前を使うウイルスのbotもあるとかですので、全部が全部本物というわけでもなさそうですが。

ちなみに、MJ12のサイトを見ると、クローラーが集めたデータをSite Explorer(有料)というもので見れるようですが、無料お試しができるというので見てみると、被リンクの増減を過去/現在で見れるとかで、どれだけ世界中のリンクデータ収集してるのやらと思ってしまいます。それにしても、お金払って外部リンクの増減を見て何か意味があるのやら…

有料の会員プランに加入していないと見れないものばかり

MJ12はあのMajestic12(マジェスティック12)から付けてるのでしょうが、お陰で昔TVでやっていた矢追純一のUFOスペシャルを久々に思い出してしまいました。心霊番組以上にあれ怖かったなぁ。

昭和のオカルト番組といえばこれでしょう

bot避けをかけたクリックランキングの状況はこちらで確認できます。ランキング集計をするSQLのINTERVALを一か月程度にしていたので、異常値分はそのうち消えると思います。

スポンサーリンク