Over the last year I’ve been asked a number of times how to turn off comments in WordPress after friends’ blogs have got full of spam. It’s not that difficult to do once you understand that it involves two parts: turning off comments in existing posts, and doing it for future ones.
You can turn comments on and off for existing posts using the Discussion section of the Edit Page settings. If you can’t see it, go to Screen Options and turn on Discussion.
From there, you can turn comments and pingbacks on or off.
However, if you’ve got a lot of posts that’s a lot of effort to do. There are plugins available for bulk editing, but I find that using the Bulk Edit section to do posts 20 at a time is fine in most circumstances. To do this, you go to the All Posts page of your Posts, select all the posts you want comments turned off on, go to Edit and on the screen that pops up change All Comments and Pingbacks to show “no comments”. Then click Apply.
To stop future posts from having comments, go to Settings > Discussion and deselect “Allow Users to Add Comments”. This will stop all future posts from allowing them. Alternatively, you may want to make them auto-turn off after a few days.
if you have too much spam, you may want to try out using a commenting system like Disqus (which I use on this site and has cut out all but spam). If comments are really important to you, you can also use the WordPress endorsed Askimet (free for personal blogs but paid for non-business ones, thanks for the tip as I assumed it was pay only. Cheers Steven Jones and Caroline Murphy for the heads-up).