Fortunately, spam bots don't see the page like a human eye does, and they can be easily fooled. There are several methods you can use to foil their evil plan.
First, lets look at what an email address looks like in the html source code. The portion in capital letters is the visible part, i.e. it shows on the page (the capital letters are only used for clarity, but would normally be lower case)
- Code: Select all
<a href="mailto:yourname@yourwebsite.com">YOURNAME@YOURWEBSITE.COM</a>
There are two security risks here. One is inside the link (anchor) tag, the other is the visible address. The reason is that the bot reads everything in the source code, so even the part which appears on the page will be visible to it.
Here are some of the methods you can use to protect your email address
- create gaps (not clickable)
- write the address as you would say it (not clickable)
- image (not clickable)
- encrypt or encode the address
- create an image link (used in conjunction with encoding)
Lets look at each in more detail.
The simplest method to disguise your email address is by simply showing a broken up version and instruct your readers to paste it into an email form and close the gaps. There is no link, and the text would read yourname @ yourdomain . com
As bots get more sophisticated, and may be trained to look for the @ character and a .com, and instructed to close gaps on adjoining words, it may be better to split the word up even more, though it would get ever more annoying for your reader. Another way would be to show the text of the address with characters as spoken, and again, instruct readers to close gaps and replace words with characters yourname at yourdomain dot com .
Yet another simple way would be to create an image with the text of your email address and instruct readers to enter it into an email form as they see it. Spam bots can not read text in images.
The above three methods work, are simple, but may put off some readers from contacting you because of the extra work involved.
A better method would be to encode the text so that the bot can not read it, but the mailing program can. This is done with java script. There are free encoding services online if you are not able to encode it yourself (you probably wouldn't be reading this now, right?). One such service is by Syronex. I have used it for several years on two websites and never received any spam through those email addresses. You may still get the occasional spam email written by a real human who obtained the address by going to your website. This has been very rare.
You write your email address in the first form field on the Syronex site, and the text you want to appear on the page in the second field. This must not be your email address, as this text is not encoded, only included in the java script, and the bots could still read it in the source code. There is no need, of course, as you can simply use words like email me. You can also add text for the subject line. This may help you spot an email from your reader in your inbox, if the subject line included a word you would recognize. A simple example would be Feedback, though it might be safer to add something else, as spammer and phishers often use typical subject lines to trick people into opening an email.
I have also tried another type of encoding service, which did not work in the Firefox browser. I include it here so you know which type it is, and to best avoid it. This service generates the code for the email address and the text showing on the page, so you could have the email address visible, but you can't see anything in Firefox. It is a simple method, and you may have thought of trying it yourself. It uses the special character code for each letter and character, so the browser can read it, but the bots just "choke" on it. This website, emailaddresses.com, offers the service, but actually redirects you to another website, SiteUp, which sends you an email with the code to past into your page. If you do want to try it out, a small bit of warning. First, make sure that you select "No Thanks" in the box above the form if you don't want to receive two newsletters. Also, when you get the email, you may get a warning that it is a phishing email. It probably isn't. It is likely that your anti-virus software will see the encrypted code and interpret it as phishing.
There are a few other services you might like to try. I have not tried these, so it is at your own risk.
http://scr.im/ - this turns your email address into a short url for sharing
http://mailhide.recaptcha.net/ creates code for a captcha your reader has to solve to see your email address.
Please let us know if there are any methods or services you have used successfully.
