I hope you have already configured the spam protection in comments.
Do you still receive spam? Maybe trackback spam? Now it is time to completely block all the spam on your website. There is just two steps to implement this.
Step 1. Disable pingbacks and trackbacks for new posts
Go to Settings > Discussion and uncheck «Allow link notifications…». Look at the screenshot:
Do you see a small notice which tell us that we can change this settings for the every post? We can do it on the post edit screen in Discussion metabox.
Step 2. Turn off trackbacks for old posts
As I told before, you can do it on the post edit screen, but what if you have hundreds of posts on your blog? Then we just run a simple SQL query.
UPDATE wp_posts SET ping_status='closed';
Run this query via phpMyAdmin or just in PHP. Do not forget to change
wp_ to your current database prefix.