特定のリファラからのアクセスを他URLにリダイレクト

特定のリファラからのアクセスを別URLに転送する / 403、404を使った転送テク

特定のリファラからのアクセスを他URLにリダイレクト

特定のリファラからのアクセスを転送する方法

ウェブサイトも長年運営していると、コピー、デマ、その他で、嫌な思いをすることもたくさんあると思います。

最悪、In.is みたいな凶悪なスパムに狙われたら、ドメインごと放棄せざるを得ません。

せっかくコツコツ高評価を積み上げて、Googleでも上位表示されるようになったのに、無知なユーザーのせいで、サイトごと閉鎖する羽目になったら最悪ですよね。

私も以前、In.is にやられました。

サイト全体、In.is のフレームの中に取り込むので、新しいURLに転送しても、そのまま引き継がれて、いつまでも汚染され続けます。

そして、それを見た人が、また不用意に In.is ドメインでシェアして、シェアされたURLを見た人が、またシェアして、どんどん拡大していく地獄絵です。

私も、最初、この仕掛けに気付かず、放置していたら、取り返しのつかない事になりました。

しかも、この In.is は、サイト内のアドセンスコードを、In.is 独自のコードに自動的に置き換える為、私のコンテンツが表示されているのに、成果は In.is のものになるという、最低最悪の仕様です。

ニコニコ大百科

ln.isとは、ツイート内のURLの頭に付いていることがある謎の5文字(※ただし2017年4月から、頭とは限らなくなった…

最終的にどうしたかといえば、In.is に取り込まれた URL を、Google のトップページ に転送するよう仕向けました。(スンマセン)

すると、数週間後には、In.isのURLごと、消えて無くなりました。

Google側で、異常を検知して、対処したのだと思います。

しかし、一番人気だった記事のURLを放棄しなければならなかったこと、

ずっと対処の仕方が分からず、結局、ドメインごと、変更しなければならなくなったこと、等々

被害甚大です。

そして、それは、ネット上で晒し者にされた場合も、同様だと思います。

私みたいに、パニックになって、URLやドメインの放棄に至る前に、

相手にほとんど気付かれることなくブロックする方法をご紹介します。

※ サーバーやサイトの仕様によって、上手く反映されないこともありますので、他サイトの記事も参考にして下さい。末尾に列記しています。

想定
https://old-hoge.com/○○○ の投稿が、https://warumono.zzz/bbs で晒し者にされる。

特定のリファラからのアクセスを別のURLに転送する

warumono.zzzからのアクセスをすべてブロックする方法もありますが、ブロックしたら、したで、騒ぎ出す層もありますので、さりげに別のURLに転送する方法をおすすめします。

.htaccess (WordPressなら# END WordPressの続き)に mod_riwrite を記述。

RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?warumono\.zzz [NC]
RewriteRule ^.*$ http://www.yahoo.co.jp/ [R=301,L]

これでwarumono.zzzからのアクセスは全て、Yahooにリダイレクトされます。

エラーメッセージも表示されないので、野次馬には、自分が転送されたことすら気付かないと思います。

基本、転送先のURLは何でもOKできます。

だからといって、アダルトサイトに飛ばしたり、悪質な転送を仕掛ければ、それはそれで問題ですので、YahooかGoogleあたりに転送するのが無難だと思います。

こちらに詳しい解説がありますので、ぜひご参照下さい。

【mod_rewrite】特定の参照元からのアクセスを拒否もしくはリダイレクトする - 正規表現を使ってURLの書き換え…

新ドメインに変更後、特定の旧URLだけリダイレクトさせたい場合

どうしても新ドメインに変更しなければならなくなった時、

https://old-hoge.com/

https://new-hoge.com/

にサイト全体のリダイレクトを設定しても、問題となった https://old-hoge.com/○○○ を引き継ぐ限り、意味ありません。

今度は、https://new-hoge.com/○○○ として被害に遭うからです。

また、https://old-hoge.com/○○○ が、検索上位に表示されている場合、リダイレクトせずに、ドメインを放棄してしまったら、それまでの評価がご破算になり、大変な損失です。

そんな時は、404エラーページ(404 File is not found)を利用して、特定のURLだけキープしましょう。

まず、被害にあった https://old-hoge.com/○○○ のURLを変更します。

例) https://new-hoge.com/new-○○○

すると、『https://old-hoge.com/diary』は存在しないので、訪問者には404エラー(File not found)が返されます。

この404エラーを、任意のURLに転送設定します。

https://old-hoge.com/ の .htaccess に次のように記載します。

ErrorDocument 404 https://www.google.co.jp/

これで old-hoge.com に存在しないURLのアクセスは全てGoogleに転送されます。

ただし、上記の方法は一般的なリダイレクトと異なり、ジャンプさせるだけなので、評価などは一切引き継がれません。

あくまでトリックとしてご利用下さい。(推奨されるベストな方法ではないです)

ちなみに、正規の ErrorDocument 404 の書き方は次の通りです。

自身に合った記述をして下さい。

ErrorDocument 404 / (old-hoge.comのトップページにリダイレクト)

ErrorDocument 404 /404.html (old-hoge.comディレクトリ直下の404.htmlにリダイレクト)

ErrorDocument 404 /sitemap  (old-hoge.comのsitemapにリダイレクト)

htaccessの書き方でも次のように紹介されています。

# Apache 標準のエラーメッセージを表示する
ErrorDocument 503 default

# 指定した任意のメッセージを表示する
ErrorDocument 403 "Sorry. 403 Forbidden."

# 内部サーバの別の URL にリダイレクトする
ErrorDocument 404 /error/404error.html

# 外部サーバの別の URL にリダイレクトする
ErrorDocument 500 http://example.com/error.html

ちなみに、『ErrorDocument 404』は、500エラーや、その他のエラーにも有効です。

このあたりを参考に、いろいろアレンジしてみて下さい。

murashun.jp

Apache の設定ファイル .htaccess について解説します。.htaccess の書き方から、各ディレクティブ…

ウェブサイトの閲覧中にエラーが発生した時に表示される味気ないエラーページをオリジナルデザインのエラーページに変更する方法…

Qiita

#基本的にはこれでOK `.htaccess`に下記を記述して、ルートディレクトリに`.htaccess`と`erro…

URLを変更したら、損した気分になるかもしれませんが、意外と早く検索結果に反映されます。

被害に遭った時は、無理に引き摺るより、「肉を切らせて、骨を断つ」方式で、大事なURLだけを残して、すっぱり切り捨てた方がいいですよ。

特に、コンテンツごとフレームに読み込む悪質コピーは、新URLにリダイレクトしても、まったく効果がありません。

コピーされたコンテンツからどんどん被害を拡大します。

状況を見ながら、いろいろ試してみて下さい。

ドメインを気軽に取得・変更・放棄してはいけない理由

現在、一般的なドメイン料金は、年額数百円円から、高くても2000円代ぐらいで、気軽に取得する人も多いと思います。

しかし、ドメインの位置付けも、10年前に比べたら大きく様変わりしましたし、サイトの質と規模によっては、個人情報や資産に匹敵するほどの価値を持つことがあります。

ここでは私の体験談を元に、ドメインを気軽に取得・変更・放棄してはいけない理由を列記します。

今後のドメイン運営の参考にして下さい。

アクセスアップは多くのリスクを伴う

長年、ウェブサイトを運営していたら、誰でも、数十万から数百万のアクセスに憧れると思います。

私も旧ドメインで、毎日平均1万前後のアクセスがあり、Search Consoleの平均掲載順位も4位前後で、個人サイトとしては、結構、好成績を上げていました。

しかし、アクセスするのは、”人間だけ”ではありません。

ボットも大量にやって来ます。

GoogleやBAIDUのような検索ボットもいれば、FeedlyのようなRSSサービスのボットもいます。

一方で、リファラースパムを送りつける為にアクセスするボットもいれば、ウェブ上のコンテンツを根こそぎ収集する、スクレイパーやリライトツールのような悪いボットもいます。

そして、Google Analytics だけでは、その動きは見えません。

もしかしたら、彼等の動きは「普通のアクセス」にカウントされ、数字だけを追っている人には、「熱心なファン」にしか見えないと思います。

でも、MATOMOのようなアクセス解析を使えば、全く違った実態が見えてきます。
(参照記事 → 小説サイトにGoogle AnalyticsよりMatomoアクセス解析をおすすめする理由

ちなみに、アクセスが増えて、大勢の目に触れるようになると、どんな弊害が起きるかといえば、批判や嫌がらせのみならず、機械的なトラブルも増えてきます。

先に挙げた In.is も、いわゆる『バズ』がきっかけですし、一度、URLが汚染されたら、自分の手で元に戻すことはできません。

パクリなら、Googleに削除願いが出せますが、In.is みたいに、フレームの中に取り込まれたら、運営者に「解除して下さい」とお願いする他ないのです。でも、そんなこと、出来るわけがないでしょう。

他にも、びっくりしたのが、自サイトのコンテンツとネットショップの販売ページが融合されたことです。

ある時、Search Console の被リンクチェックで、二つのURLから、10万~20万個のリンクが発せられているのに気が付きました。

何かと思って見に行ったら、自サイトのキリスト教に関するコンテンツと、家具屋さんのショップページが、機械的に融合され、一つのWEBページとして、Googleの検索結果に上位表示されていたのです。

私も最初、ネットショップの悪戯かと思いましたが、ショップの公式サイトを見てみると、「本店とは無関係なWEBページが……」という警告が出ています。

ショップもまた被害者だったのです。

当時、この記事は、上位に来てましたから、何らかの方法で機械的に収集されたのでしょう。

最初に私のエッセーが掲載されて、続きに、家具の販売ページが合体しているような感じです。

しかも、テキストだけを抜き取るのではなく、メニューやサイドバーもそっくり取り込んで、大量のリンクを放出してたんですね。

すぐにGoogleに通報して、削除してもらいましたが、恐ろしい話です。

In.is といい、何がターゲットになるか分かりません。

他にも、まとめサイトへの転載はもちろん、リライトもかなりの数が見受けられました。

何故分かるのかといえば、そのネタを出していたのは、うちが最初だからです。

あくまで「仮定の話」としていた医療ネタが、育児系のまとめサイトで、「病院では、こんな問題もあるようです」とリライトして、掲載されていました。

それが一つや二つではなく、一つがやり始めたら、他も真似して、どんどん尾ひれをつけて、広がっていく様相です。

今はGoogleも厳しくなって、私的な医療情報は上位表示されなくなりましたが、WELQやMERYの問題が取り沙汰されていた頃は、やりたい放題だったんですね。

中古ドメインは新しいドメインオーナーに悪用されることもある

ドメインに関しては、十数年前は、「サイト運営も飽きたな~。ドメインも刷新して、気分転換するか!」というノリも通用していました。

でも、今は、新規取得は簡単でも、迂闊に捨てると、後々まで祟られることになります。

GoogleのSearch Sonsoleから移転手続きをしても、検索結果のインデックスはそう簡単には書き換わらないし、消えません。

これは前に使っていたドメインですが、Search Consoleで、移転の手続きをして、旧ドメインの削除願いを出しても、半年以上、インデックスが残り続けて、今も増えたり、減ったりしています。

Novella.blog

そのせいか、ドメインを手放した後、誰かがすぐに買い取って、今では、10倍以上のプレミアムドメインとして取引されています。

novella.blog

このドメインは、検索結果に残っている下位のURLからアクセスすると、自動的にトップページにリダイレクトされ、広告バナーが表示される仕様になっていました。

最近は、フィッシング系のページにリダイレクトされるらしく、ブラウザで警告が出ます。

「こんなドメイン、誰も欲しがらないだろう」と思っていたら、手放した、ほぼ即日に、ネットビジネスの人の手に渡って、金儲けの道具にされているという感じです。

ちなみに、Novella という名称は、海外のWEBでは人気があるようで(『中編小説』の意味)、一般的なドメインは既に取得ズミか、プレミアムドメインになっているのが多いです。

私が欲しかったNOVELLA.ARTも、約9万2千円、その前は12万円でした。

最高値は、NOVELLA.UK の、約67万円。

次いで、NOVELLA.CH の、約30万円です。 チェコの国別ドメインです。

Novella Art

NOVELLA.UK

上記のように、誰でも簡単に取得できる独自ドメインも、モノによっては、サラリーマンの月収以上の価値がありますから、事情通から見れば、たとえ中古でも、美味しい物件なのだと思います。

捨てたドメインでも、一日に10アクセスあれば、1000個で一日一万、3000個で一日3万。

他にも掻き集めれば、月に100万PVは取れますし、何も知らずにリンクを踏んだビジターを、フィッシングなどに誘導することも可能です。

3000個も中古ドメインを購入するとか、莫大な投資に思えますが、年額1000円ぐらいのドメインなら、30万円程度の出費で済みますし、広告表示だけで、月に5万も稼げれば、十分にお釣りがきますからね。多分、それ以上のリターンが期待できるから、既にGoogleで大量にインデックスされている中古ドメイン、もしくは、優良な被リンクを獲得している中古ドメインを大量に買い集める価値があるのだと思います。そこは、個々の審美眼にもよります。

そう考えると、ドメイン変更は、極めて個人的なものですが、旧ドメインにリンクを貼っている他のWEBサイト、もしくは、SNSでのシェアは、違法な広告やフィッシングサイト、アダルト系などへの入り口になりかねません。

まともなサイトが、「WordPressの詳しいカスタマイズ方法はこちら」とリンクを貼っているので、クリックしてみたら、いきなりポルノサイトやフィッシングサイトに飛ばされたら、ユーザーにとっては脅威ですよね。

また、発リンクしている側にも、何らかのペナルティがあるかもしれません。

そして、昨今、数年前の過去記事や、SNSの書き込みに対して、そこまでリンク管理しているサイトオーナーは少数なのです。

このように、ドメインの取得・変更・放棄も「私の勝手」では済まないところもあり、わけあって手放すならば、URLの移転手続きをしっかり行い、せめてインデックス数がゼロになるまでは、保有する必要があるかと思います。

使わないドメインにお金を払い続けるのもバカバカしいかもしれませんが、今は、それくらい、インデックスや被リンクの重要性が高まっており、「後のことは知らん」では通用しなくなっているのも確かです。

気軽に取得できるのが独自ドメインの魅力ですが、「管理や運用は、個人情報並」ということを、現代のネットの常識として受け止める必要があるかもしれないですね。

e-book & note magazine
海洋小説 《曙光》 MORGENROOD 試し読み
なぜあなたの恋は上手くいかないのか

Fatal error: Uncaught Error: Call to undefined function WP_Optimize() in /home/marier/novella.works/public_html/wp-content/plugins/wp-optimize/cache/file-based-page-cache-functions.php:149 Stack trace: #0 [internal function]: wpo_cache('\r\n<!DOCTYPE htm...', 9) #1 /home/marier/novella.works/public_html/wp-includes/functions.php(4552): ob_end_flush() #2 /home/marier/novella.works/public_html/wp-includes/class-wp-hook.php(288): wp_ob_end_flush_all('') #3 /home/marier/novella.works/public_html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters('', Array) #4 /home/marier/novella.works/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #5 /home/marier/novella.works/public_html/wp-includes/load.php(947): do_action('shutdown') #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /home/marier/novella.works/public_html/wp-content/plugins/wp-optimize/cache/file-based-page-cache-functions.php on line 149