【WordPress】プラグインなしでメールリンクのスパム対策をする(メールアドレスを収集されにくくする)方法
WordPressに限ったことではなく、サイト作りをしていて管理人へのメールが送れるようなリンクを設置したいと思う機会はあると思います。通常はmailtoタグを使って
<a href=”mailto:sample@sample.com“>sample@sample.com</a>
【注意】コードをコピーして使用する前に必ずお読みください
この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。
使用については自己責任でお願いします
コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。
万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません
コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります
コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります
その場合には以下の方法で修正を行ってみてください
- コードの中に全角の記号が入っていませんか? 半角にすることで解消できます
- コードの中に全角の空白(スペース)がありませんか? 半角にすることで解決できます
- コードは合っているはずなのに更新できないときは 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、WordPressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
- 「何かが間違っています...」と表示され、更新できないときは このエラーは本当に何がエラーなのかをWordPressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
コードを転載する場合には
ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします
のように記述することで、クリックするとメーラーが開き、件名や本文を入れて送信できる仕組みを作ることができます。
でもこの方法ではアドレス収集ロボットなどと呼ばれるメールアドレスを自動収集するようなプログラムによって搾取され、スパムメールの嵐となることが多くあります。
WordPressでは対策として
などのプラグインを使ってメールアドレスを暗号化するという方法が数多く紹介されていますが、
- そもそもこのプラグインがどう暗号化されているのか?どう機能しているのかが分からない
- この類のプラグイン作者がひょっとしてスパマーだったらどうする?
とは感じませんか?また、メールアドレスを暗号化するためだけにプラグインを1つ追加するのも・・・と思う方もいるかもしれません。
今回は簡単なプログラムコードを使って表示したい場所へコード挿入するだけでhtmlソースに表示されるメールアドレスを全く別物にしてスパムから回避する方法を紹介します。
と格好いいこと言ってますけど、ネットで見つけた方法を自身の備忘録として紹介している記事になりますのでご容赦ください。
プラグインなしでメールリンクのスパム対策をする
百聞は一見にしかず、こんな感じの表示ができます。
【】
「こちら」をクリックすると、閲覧している環境(パソコンやスマホなど)で規定のメールソフトが開き、かつ、件名が入力された状態になるようになっています。どういう動きをするかは実際にクリックしてみてください。
※ダミーのメールアドレスですのでクリックしてメールを送信しても届きません
コードなど詳しいことは
に掲載されていますので参照ください。そちらではメールアドレスを入力するだけでコピペ用コードが生成できるようになっていて本当に便利です。
生成されたコードを投稿本文など挿入したい場所へ張り付けるだけで機能します。
※↑のサンプルでは参照サイトのコードを少し改造して
- メーラーが開いたとき自動で件名を入力する
- リンクをメールアドレスではなく「こちら」という文字にする
ようにしています。参照ページで生成できるコードの中の
document.write("管理人への連絡は、<a href=\"mai"+"lto:"+em_shtml+"\">こちら</a> からお願いします(規定のメールソフトが開きます)");
【注意】コードをコピーして使用する前に必ずお読みください
この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。
使用については自己責任でお願いします
コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。
万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません
コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります
コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります
その場合には以下の方法で修正を行ってみてください
- コードの中に全角の記号が入っていませんか? 半角にすることで解消できます
- コードの中に全角の空白(スペース)がありませんか? 半角にすることで解決できます
- コードは合っているはずなのに更新できないときは 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、WordPressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
- 「何かが間違っています...」と表示され、更新できないときは このエラーは本当に何がエラーなのかをWordPressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
コードを転載する場合には
ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします
を
document.write("管理人への連絡は、<a href=\"mai"+"lto:"+em_shtml+"?subject=管理人様へ"+"\">こちら</a> からお願いします(規定のメールソフトが開きます)");
【注意】コードをコピーして使用する前に必ずお読みください
この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。
使用については自己責任でお願いします
コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。
万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません
コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります
コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります
その場合には以下の方法で修正を行ってみてください
- コードの中に全角の記号が入っていませんか? 半角にすることで解消できます
- コードの中に全角の空白(スペース)がありませんか? 半角にすることで解決できます
- コードは合っているはずなのに更新できないときは 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、WordPressのエディタチェックではこれを「'」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
- 「何かが間違っています...」と表示され、更新できないときは このエラーは本当に何がエラーなのかをWordPressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
コードを転載する場合には
ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします
に変更すればOKです。
さいごに
メールアドレス収集ロボット対策を目的としたプラグインをインストールしてプログラムを見ると、今回と同じような形で暗号化しているのが分かると思います。・・・ということは、これらのプラグインのことを知っていて収集しよう!と思えば簡単にできてしまうということにもなるので、できるだけオリジナルな方法で対策した方がいいと思います。
また、WordPressではこうしたメールリンクの代わりに「Contactform7」などのコンタクトフォームを使って最初からメールアドレスが類推されないようにすることが多いですが、問い合わせる方がメールの入力を誤って送信してしまい、返信してもエラーになるということが多くありますから、どちらを使うかはサイトの状況に応じて判断するといいと思います。
WordPressのカスタマイズ・不具合対応などご相談ください
Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。
【スポンサーリンク】