Though not foolproof, one way of limiting having your email address 'harvested' off a web page and added to spam lists is to encode your address in ASCII and use alternative text for the displayed link.
High end software such as that used by Google's search engine can still sniff out your email address. But this technique will still certainly go a long way towards minimizing your exposure to less capable automated email harvesters.
For example: firstname.lastname@example.org can be encoded/translated to:
Then you would substitute the ASCII string for its equivalent value within the href segment of a link or whereever you wish to replace some text with special characters. For example: if you have a mailto style link on your page (most insecure way initiating an email) in typical form it would look like:
EMAIL LINK BEFORE SUBSTITUTION: <a href="mailto:email@example.com">Someone@somewhere.com</a>
EMAIL LINK AFTER SUBSTITUTION *: <a href="mailto:some firstname.lastname@example.org">Email Link</a>
Which rendered to the a browser as: Email Link, a typical email link is on the page with two changes: 1) ASCII encoding of the href segment and a change of the displayed email link text.
It's not perfect, sophisticated search engines will see through it, but it will take a step towards reducing access to less capable harvesters.
[ *Code tips & Notes: If you use 'View Source' examine the displayed ASCII strings you will see several <br> instances have been added to the displayed ASCII text because it would otherwise run off the page to the right. Also to enable the display of ASCII the ampersands (&) have been replaced with & for the displayed ASCII. ]