1) Require User Registration:
If you require users to register and provide a valid email address then this will significantly reduce comments. However, a lot of people do not like to register in order to post comments so if your goal is to increase the number of user comments then you may want to allow anonymous commenting. If you allow anonymous commenting then you must use a spam prevention module like Akismet.
2) Use Third Party Commenting Widget:
Using Facebook or Disqus widget can help reduce the number of spam comments. However one drawback with this approach is that you dont own the comments. If you disable the widgets, you lose all the comments
3) Use No Follow for Comments:
One of the primary reason for comment spam is link building. If you blog allow do-follow comments then you should be prepared to get targeted by spammy link building services. Spam commenst can negatively affect you search engine ranking.. so one should never use Do-Follow for comments.
4) Block IP Ranges:
Watch out for IP addresses from where the comment spam is originated. Simply block those IP’s. Before blocking an IP make sure that you are not blocking any genuine user.
5) Install Akismet
This is the simple one that everyone does. Akismet comes bundled with WordPress by default and does a good job of picking up spam – for the average blogger, install Akismet and your spam problems will be sorted.