なぜウェブ上でメールアドレスを難読化するのか?
スパムボットはメールアドレスを求めてウェブページを常時スキャンしています。HTML 内に mailto:[email protected] と書かれただけで、インデックスされてから数時間でメーリングリストに登録されてしまいます。難読化により、単純なスクレイパーにはアドレスを解析しにくくしつつ、実際の訪問者には引き続き利用可能な状態を保ちます。
利用可能な方法
- HTML エンティティ — 各文字が
&#NN;になります。ブラウザは通常通りレンダリングし、多くのスクレイパーはスキップします。 - 反転 + CSS —
direction: rtlを使って DOM に文字列を逆順で格納します。人間は正常に読めますが、単純な正則表現スクレイパーには意味不明な文字列に見えます。 - Base64 + JS デコーダ — アドレスを Base64 エンコードし、ページ読み込み時に小さなインラインスクリプトでデコードします。JavaScript を実行しないスクレイパーは平文を見ることができません。
- ROT13 — 各文字を 13 文字ずらします。知っている人には明らかですが、単純なマッチャーには見えません。
- [at] / [dot] — 人間が読める形式:
contact [at] example [dot] com。コピーも読みやすく、正規表現には見えません。
どの方法を選ぶべきか?
- アドレスをクリック可能に保ちたい場合:HTML エンティティまたは Base64 + JS。
- 表示されるがクリック不可にしたい場合:反転 + CSS または [at]/[dot]。
- JavaScript 無効の訪問者を気にする場合:Base64 を避けてください。
- SEO を気にする場合:すべての方法が検索エンジンのメール抽出器には見えません。これがまさに目的です。
制限事項
現代の高度なスクレイパーは JavaScript を実行し、エンティティエンコーディングを認識します。難読化はスパム量の削減手段として扱ってください。完全な防御ではありません。重要な受信トレイには、難読化とコンタクトフォームおよびキャッチオールフィルターを組み合わせてください。すべてブラウザ内で実行されます——メールアドレスは記録されません。
Tiny Online Tools







