WordPressで無断転載防止のための自記事リダイレクトスクリプト
実は以前、記事を丸ごとコピーされたことがあって、しばらく使っていた無断転載対策スクリプトを紹介します。
記事をソースコードコピーされた場合に備えて、自分のサイト以外で実行された場合に記事をリダイレクトする処理を記事内に埋め込んでおきます。そうすることで、コピーを無力化することができるのです。
実はいまは使っていないのですが、しばらくお世話になった無断転載対策スクリプトを公開します。もし、困っている場合は使ってみてください。
<?php if (is_single()) : ?>
<!-- リダイレクト -->
<script type="text/javascript" language="javascript">
<!--
var purl = "<?php echo the_permalink(); ?>";
if (purl != location.href) {
location.href = purl;
}
// -->
</script>
<?php endif; ?>
実装場所はテーマによってファイル名が異なるのでなんとも言えませんが、単体記事を表示したときの「<div class=”entry-content”>」の下あたりに表示されるように実装しておくといいです。
仕組みとしては、記事のパーマリンクを取得するようにしておき、それが実行されているサイトと違う場合は、記事のパーマリンクもとへリダイレクトするという仕組みです。
パーマリンクの取得はPHPでサーバー側で行われるので、ソースごとコピーされる場合はパーマリンクのURLが文字列のままコピーされます。この文字列が実行サイトと異なる場合に、JavaScriptでlocation.href に文字列を渡すことでパーマリンク、つまり自サイトへリダイレクトするというわけです。
いま使っていない理由としては、無断転載が少し落ち着いてきたというところで、テーマを切り替えるタイミングで「もう、いいか」と思ったことです。そこまでコストをかけて頑張らなくてもいいかなと。
でも、またソースコードごとの無断転載を発見したら実装するかもしれません。もし、お困りでしたらこのスクリプトを試してみてください。