昨日はてぶを見てたらこんな記事があったんですよ。
誰にでも起こりうる…サイトをリアルタイムでミラーリングされて検索上位を奪われたお話[不正コピー、ダメ。ゼッタイ]|ウェビメモ
ハっ、無断転載とかこんな弱小ブログに縁はないわーとか思いながら自分のサイト名でGoogle検索したら、あっさり引っかかったので吹いた。
まずは被害の確認を
気を取り直して被害状況を確認すると
- 画像は直リンクではなく転載サイトのURLになってる
- JSやCSSのリンク先も書き換えられてる
- 見た目自分のサイトだけどヘッダにアダルト広告が出てる
- URLは全然心当たりないものになっている
- AdSenseは元サイトのものが表示される模様
- GAも元サイトにカウントされている模様
と言った感じ。CSSやJS、画像などの付随ファイルのURLが書き換わってたので、てっきり先方サイトに持ってかれてるもんだとこの時点では思ってました。でもAdsense上でよくある、知らないサイトに掲載されてんぞオラみたいな警告もでないのでおかしいなぁとは思ってました。
転載サイトの手口
色々やった結果わかったんですが、アクセスログ見てみると自分が転載サイトにアクセスすると同時に転載サイトと違うIPから同じコンテンツを読み込みに来ている形跡が。全サイト持ってくとサーバー容量とかどうすんだと思ってたんですがなるほど、頭いいね!つまり、転載サイトはアクセスと同時にソースコードから元サーバーへ読みに行き、サイト内リンクを転載サイトのURLへ書き換え、JSやCSSも転載サイトのURLに書き換えて、さらにヘッダへの広告挿入をすると。コンテンツは全部元サーバーにあるやつを都度読みに行ってるわけ。
まどろっこしいこと書いたけど、キャッシュしないで広告挿入するプロキシみたいなもんですかね。画像直接開いてもURLをリライトしてるからぱっと見わかんないんですよ。ちなみに、今回のパクリサイトはxbot.gaってドメイン。他にもgxxx.cfってドメインもありました。
対策
URLがランダムな英数字のパラメータに置換されてるのでJS使って1対1でリダイレクトできないんですよね。どうしようかなーと思ったんだけど、WordPressのパーマリンク関数使えばページが読み込まれたタイミングでそのページの本来のURLを埋め込んでおくことができるので、phpとJavaScriptで書いてショートコード化してHEADに書き込みました。
ブログを丸パクリされてもURLがほぼ同じならリダイレクトでオリジナルページに転送できるよ – はぴらき合理化幻想
こちらを参考に、表示されてるドメインが自分のじゃなかったらパーマリンクにリダイレクト。これなら転載されたサイトのURLが元URLと全然違ってもリダイレクト可能です。
これで人間が見た時はHEADが読み込まれたらリダイレクトするように設定完了。でもGoogleBotはどうなんだろ。JS読めるって話だけどリダイレクトできなかったらやだなーと思ったんだけど、よくよく考えたらcanonicalで自分のURLへ正規化すれば良いことに気づきました。All in one SEO packで設定して解決。と思ったら、こいつcanonicalのURLも自分のサイトに書き換えてやがる…転載元サイトのURLは徹底的に書き換える模様。でもlocation.replaceの中身のURLは書き換えないんですよね。だったらdocument.writeの中身にcanonical入れればいいじゃん!(効果あるのか?)と思い、とりあえずやってみたらdocument.writeの中身のURLも書き換えられたw
とりあえず正規化はいったんあきらめ。location.replaceがGoogleBotに効果あるならリダイレクトされて自然と元サイトに正規化されるだろうし、ダメならダメで、転載サイトがクローキングしてるって判断でインデックス消されてくんないかな…自分のサイトのインデックス消されたら笑うけど。
あと、メッセージボックス出して注意喚起してOK押したら元サイトに遷移ってやってる対策あるけど、あれ意味あるのかな?検索して元サイトのタイトルとスニペット見てるわけだから、ノーウェイトでリダイレクトが最適と思います。不愉快なエロ広告見せなくて済むし。
canonicalとか色々やったけど、これとりあえず転載サイトのIP拒否ったら解決すんじゃね?と思いたち、nginxの設定ファイルにdeny 5.196.163.144 を追加。でも今度はリダイレクトのJSも403になって読み込まれないのでエロ広告が表示されっぱなしで、その下に403!って出てる。あんまユーザビリティ良いとは思えないし、広告が表示されてしまうと転載野郎の利益に繋がるのでIP拒否はヤメ。
まとめ
というわけでまとめですが、前提として上に書いたようなタイプの転載サイトを相手にする場合って話だけ頭に入れといてください。コンテンツダウンロード型の転載サイトとかだとまた違ってくるかと。
- コンテンツは全て元サイトのものを都度読み込んでいるので即時対応が可能。
- JSを使ってリダイレクトして元サイトへ戻すことが可能。
- 画像をウンコにするのもいいけど、ユーザビリティ下げるだけなのでリダイレクトが大人の対応。
- IP拒否は転載サイトにコンテンツを表示しないという観点では有効。ただし、検索エンジンに表示されたタイトルやサイト内容は元サイトのものなので、ユーザビリティ的にはリダイレクトされた方が自然。
- canonicalは場合によっては有効かもしれないが、今回の敵には無効。
- JSでのリダイレクトもリダイレクト先のリンクURLを書き換えられる対策されると無効になる可能性あり
てな感じでしょうか。検索エンジンのことだけを考えるとIP拒否ったらインデックス順位下がると思うのでいいんですが、クリックした人に申し訳ないんですよね。Googleに削除依頼出せばいいんだけど、URL1本ずつ出さないとダメなんですよね。このリダイレクトタイプの転載サイトってサイトコンテンツ全部持ってかれてるように見えるんでCSVで申請でもできないかぎり無理なんすよ。どうしようかと思案中。
スポンサードリンク