<p>My practice as moderator has been both to delete all text from a spam post (just leaving it blank or putting in some anodyne text if a character limit is imposed) <em>and</em> delete the post.  Deleting the post makes it invisible to most users and the initial edit makes it invisible to <em>all</em> users (including moderators) unless they go to the effort of looking at the edit record.</p>
<p>The initial text deletion accomplishes two things:</p>
<ul>
<li><p>Any offensive material is viewed only by readers who really, really want to see it.</p>
</li>
<li><p>Any links to bad sites will not inadvertently be clicked on.</p>
</li>
</ul>
<p>The first thing anyone should do upon encountering a noxious post is to flag it for moderator attention: mods can do more than delete posts; we can delete entire user accounts (as well as a few other things useful to investigate wider patterns of bad posting).  However, I think nobody would object if, upon encountering such material, a thoughtful community member were to do this text editing in order to spare subsequent readers the risk of being offended or accidentally clicking through to a bad site.</p>
<hr />
<h3>Edit</h3>
<p>As Glen_b recently points out in his answer in this thread, changing spam text can inhibit the performance of bots and other procedures in place to identify and prevent spam.  Although that is well worth bearing in mind, I still think the first priority should be to delete any obviously offensive material as soon as possible.  (A well-programmed bot should recognize that the OP did not do the editing and it will have full access to the editing history, so <em>in principle</em> our efforts to take such material out of view should only <em>enhance</em> the success of these bots.  But who knows what practical barriers there may be to implementing a good online spam-learning algorithm on SE ... .)</p>
