Does Email Obfuscation Work?
It seems to be common wisdom that if you put your email address on the web in plain text you will get spammed (more). There are various ways to try and hide an email address from various crawlers whist still displaying it to visitors, most involving javascript and relying on the crawlers not having javascript or not having the script to un-obfuscate your email.
My requirements for any solution are, in order of importance:
- A clickable link.
- Gracefull degrade for users without javascript.
- Users should be able to copy the email address to the clipboard.
- It should be easy for me to insert an email address on a page.
- It should reduce spam.
A standard <A> tag with a mailto link satisfies the first four requirements but doesn't help reduce spam. An address written as 'name@*removethis*domain.com' will probably defeat all the crawlers but fails the first three requirements and is painful for your visitors.
Silvan Mühlemann did some research between 2006 and 2008. He found three methods that stopped all spam but, to different extents, don't meet the first four requirements. more interesting to me is he found using 'name AT domain DOT com' drastically reduced spam as did building the address with javascript.
With this in mind my current preference is to enter an email address as:
Then call a de-obfuscate function on document ready
This provides a clickable and copyable link to most visitors and degrades to 'name AT domain DOT com' for those without javascript.
I suspect that this method will cause the least pain for most visitors and stop some of the spam but it depends on how much the crawlers have moved on since Silvan's test. One way to find out is to rerun the test.
I'll just use the top 5 results from Silvan's test and add plain text for comparison purposes. I intend to let the test run but will report back when I get something statistically significant. If you know of any other tests running or run recently let me know and I'll include links at the end of the post, you can mail me at john AT johnplummer DOT com :).
Using plain text
email: pt@johnplummer.com
Using AT DOT
email: ad AT johnplummer DOT com
Using AT DOT and javascript to de-obfuscate
email: js AT johnplummer DOT com
Using code direction
email: moc.remmulpnhoj@dc
Using style="display:none"
email: dn@
johnplummer.comUsing ROT13
email: