メールアドレス難読化ツール
メールアドレス難読化ツール:スパムボットからアドレスを隠す | We.Inc
メールアドレスをHTMLの文字参照、スクリプトで組み立てるmailtoリンク、CSSで反転したテキストに変換します。各方法を率直に比較でき、すべてブラウザー内で動作します。
メールアドレス難読化ツール
メールアドレス難読化ツールは、訪問者にはそのまま使える一方で、アドレスを収集するスクリプトがページのソースから読み取りにくくなるようにアドレスを書き換えます。文字をHTMLの文字参照にエンコードすれば手抜きなスクレイパーを防げ、スクリプトでリンクを組み立てればさらに多くを防げます。ただし、どれも確実ではないので、スパムフィルターと組み合わせて使いましょう。
各方法の比較
- HTMLの文字参照
- はい
- プレーンテキストのパターン照合
- HTMLをデコードするパーサーなら読み戻せる
- スクリプトで組み立てるリンク
- はい、スクリプトの実行後
- スクリプトを実行しないスクレイパー
- ヘッドレスブラウザー。スクリプトなしではリンクにならない
- CSSで反転したテキスト
- いいえ
- name@domainを探すソースの走査
- コピーして貼り付けると反転したテキストになる
- 言葉で表記:name [at] domain [dot] com
- いいえ
- 単純なパターン照合
- 簡単に元に戻せる。人にとっても扱いにくい
- 代わりにお問い合わせフォーム
- メールリンクではない
- アドレスが一切表示されない
- フォームの処理と、独自のスパム対策が必要
ここでの処理はすべてブラウザー内で行われ、どこにも送信されません。ページに合った方法を選んでスニペットをコピーし、長所と短所の表を読んで、それぞれの方法でできることとできないことを把握しておきましょう。
アドレス収集プログラムが実際に行うこと
- アドレス収集プログラムは、ページをダウンロードし、mailto:リンクの中も含めて、[email protected]の形をしたテキストを探します。最も安価なものは生のHTMLを読むだけでJavaScriptを実行しないため、軽いエンコードで除外できます。
- 資金力のあるスクレイパーはHTMLを正しく解析して文字参照をデコードし、中には実際のブラウザーを操作するものもあります。そうした相手には、アドレスをページに載せないことだけが有効で、それを実現するのがお問い合わせフォームです。
方法の選び方
- 小規模ビジネスのサイトのフッターにあるリンクなら、文字参照が妥当なデフォルトです。JavaScriptは不要で、リンクはクリックでき、スクリーンリーダーは普通に読み上げ、簡易的なスクレイパーには見つかりません。
- すでにスパムが問題になっている場合は、スクリプトで組み立てるリンクを使い、お問い合わせページへのリンクのような普通のフォールバックを残しておきましょう。反転テキストの手法は表示専用にとどめ、リンクには絶対に使わないでください。コピーするとアドレスが逆順になってしまいます。
- どの方法を選んでも、公開するアドレスには自分で管理できるフィルターをかけ、緊急時に人が入力しなければならないアドレスは決して難読化しないでください。
- メールアドレスを入力します。ツールは@が1つあり、ドメインにドットが含まれているかを確認します。
- 必要に応じて、表示するリンクテキストや件名、本文を追加します。これらはmailto:リンクに入り、スペースや改行が保たれるようにパーセントエンコードされます。
- 使いたい方法のスニペットをコピーします。各出力の下にあるライブリンクで、メールアプリが開くかをテストできます。
- HTMLに貼り付けます。サイトビルダーでは、エディターがマークアップを書き換えないよう、埋め込みやカスタムHTMLのブロックを使いましょう。
- エンコードしたリンクをリッチテキストエディターに貼り付けてはいけません。多くのエディターは保存時にエンティティをデコードし、せっかくの処理が元に戻ってしまいます。
- 「スタジオにメールする」のような読みやすいテキストをリンクに付けましょう。そうすれば、スクリーンリーダーがコードの羅列を読み上げずに済みます。
- 公開ページには役割ごとのアドレス(hello@、bookings@)を使いましょう。そうすれば、後でサイトを編集せずに受信箱を変更できます。
- ブラウザーのソース表示でページを確認し、プレーンなアドレスがどこにも残っていないことを確かめましょう。
よくある質問
メールアドレスの難読化は今でも効果がありますか?
部分的には効果があります。ページの生のテキストを走査するスクリプトは確実に防げ、こうしたスクリプトは運用が安価なため今でもよく使われています。HTMLをデコードしたり完全なブラウザーを動かしたりするスクレイパーは防げません。保護策ではなく、スパムフィルターと並ぶ対策の1つとして扱いましょう。
HTMLエンティティでエンコードしたmailtoリンクはアクセシブルですか?
はい。ブラウザーは表示や読み上げの前に文字参照をデコードするため、訪問者やスクリーンリーダーには普通のアドレスとリンクが届きます。コードが見えるのは、ページのソースを読む人だけです。
mailtoリンクに件名を追加するには?
アドレスの後に?subject=を、本文には&body=を付け、すべての値をパーセントエンコードします。本文の改行は%0D%0Aと書きます。件名と本文の欄に入力すれば、このツールがエンコードを行います。
最初からお問い合わせフォームを使えばよいのでは?
フォームならアドレスを完全にページから消せるため、最も強力な選択肢です。ただし、送信内容の送り先と、フォームスパムへの独自の対策が必要になるため、多くのサイトではフォームと難読化したアドレスを一緒に表示しています。
すぐにコピーできるパターン
ツールが出力するのと同じパターンを、仮のアドレスで示しています。それぞれの形を確認できます。
mailtoリンク内の文字参照
10進数(&#NNN;)と16進数(&#xHH;)の参照を混ぜているため、1回の検索と置換ではすべてをデコードできません。ブラウザーはこれらを普通の文字に戻します。
フォールバック付きのスクリプトで組み立てるリンク
アドレスはdata属性に逆順で保存され、スクリプトが実行されたときにだけ結合されます。スクリプトがなくても、リンクはお問い合わせのセクションへ移動します。
CSSで反転した表示用テキスト
ソースにはアドレスが逆順で入っており、CSSが表示用に反転させます。リンクではなく、コピーすると反転した文字列になるため、読めれば十分な場所でだけ使いましょう。
アドレスの後に追加できる項目です。最初の項目は?で、残りは&で始めます。
- ?subject=Quote%20request
- スペースは%20になる
- &body=Hi%2C%0D%0AThanks
- 改行は%0D%0A
- &cc=office%40example.com
- 表示される追加の宛先
- &bcc=archive%40example.com
- 非表示の宛先
アドレスを難読化する
アドレスと、必要に応じてリンクのラベル、件名、本文を入力します。ツールはページに貼り付けられる4つのバージョンを出力します。文字参照、スクリプトで組み立てるリンク、CSSで反転したテキスト、atとdotによる表記です。
コピー
メールアドレス
リンクテキスト(空欄ならエンコードしたアドレスを表示)
スタジオにメールする
件名(任意)
本文(任意)
[email protected]のような完全なアドレスを入力してください。
1. 文字参照
スクリプト不要。生のテキストを読む走査プログラムを防ぎます。
リンクをテスト
2. スクリプトで組み立てるリンク
単純なスクレイパーにより強い方法です。JavaScriptが必要で、使えない場合は#contactにフォールバックします。
3. CSSで反転したテキスト
表示専用でクリックはできません。コピーすると反転した文字列になります。
プレビュー:
4. 言葉で表記
人が入力し直すプレーンテキスト。最も弱い方法ですが、コードは不要です。
無料で始める · クレジットカード不要
関連: 無料ツール|ビジネス向け計算・生成ツール
製品
ご利用いただける方
機能
リソース
会社情報
サイトマップを見る