Spammers harvest email addresses by crawling websites. It’s common knowledge.
But for a personal website, you want people to have your email address… and solutions such as writing ‘user [at] domain.tld’ look ugly and aren’t user-friendly – and neither is using something like ReCAPTCHA mailhide.
But there is one thing you can do that might help to foil the spammers – use Javascript to split up the email address so automated crawlers (hopefully) won’t see it, and then to recombine it in the user’s browser so that it’s readable and clickable: