I've known about this little hack for a long time. Anyone who knows HTML should know it too. That's why I am willing to share. If you are a web dev, have your own site, or publish your email to pages, YOU SHOULD KNOW THIS.
Disclaimer: This isn't a bullet-proof way to fool bots, but if you plan on putting your email address on pages, it does work very well.
Just about every character in the English language has a ASCII equivalent associated with it. This we know. So, why not use the ASCII code on your website instead of publishing the actual email address? Here's how it works: every number, character and letter has an ASCII, decimal and hex-based equivalent. Here is a table of just the HTML-ASCII codes for lowercase letters, numbers and a couple of punctuation characters:
|HTML ASCII||Display||Description||HTML ASCII||Display||Description|
|a||a||Lowercase a||t||t||Lowercase t|
|b||b||Lowercase b||u||u||Lowercase u|
|c||c||Lowercase c||v||v||Lowercase v|
|d||d||Lowercase d||w||w||Lowercase w|
|e||e||Lowercase e||x||x||Lowercase x|
|f||f||Lowercase f||y||y||Lowercase y|
|g||g||Lowercase g||z||z||Lowercase z|
Cool. So, using my name, aaron, this is how it would look in HTML ASCII:
Pretty cool, eh? The best part is the HTML rendering. Your browser will render the ASCII codes as plain text, just as if the ASCII didn't exist. So to the average user, no one knows the different. However, to the bots scanning the source, they won't know what to do with the codes, and skip right past it. Again, though, it isn't difficult to code a bot to render ASCII, but suffice it to say, most bots aren't that advanced. And, if you want to obfuscate it even further, just put opening and closing HTML formatting tags in the ASCII.
Again, this isn't bullet-proof, but it works well. Probably the most sure fire way to avoid bots altogether is putting your email in an image, but even then, I don't think that is 100% either.