<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>justaddwater.dk &#187; WordPress</title>
	<atom:link href="http://justaddwater.dk/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://justaddwater.dk</link>
	<description>Instant Usability &#38; Web Standards</description>
	<lastBuildDate>Thu, 10 Jun 2010 08:23:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Comments working again</title>
		<link>http://justaddwater.dk/2009/06/14/comments-working-again/</link>
		<comments>http://justaddwater.dk/2009/06/14/comments-working-again/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 15:06:34 +0000</pubDate>
		<dc:creator>Thomas Watson Steen</dc:creator>
				<category><![CDATA[User experience]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[justaddwater.dk]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/?p=1101</guid>
		<description><![CDATA[Thanks to one of our dear readers we just discovered a bug in our commenting system that basically meant that you could not leave a comment on any of our posts. This has now been fixed and you can now again tell us your thoughts.
Of cause we should have noticed, since the amount of spam [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to one of our dear readers we just discovered a bug in our commenting system that basically meant that you could not leave a comment on any of our posts. This has now been fixed and you can now again tell us your thoughts.</p>
<p>Of cause we should have noticed, since the amount of spam had dropped to zero. But now that we are receiving thousands of spam comments once again we know that everything is ok ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2009/06/14/comments-working-again/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Make Wordpress Editor Less Evil</title>
		<link>http://justaddwater.dk/2008/01/06/make-wordpress-editor-less-evil/</link>
		<comments>http://justaddwater.dk/2008/01/06/make-wordpress-editor-less-evil/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 18:26:01 +0000</pubDate>
		<dc:creator>Thomas Watson Steen</dc:creator>
				<category><![CDATA[Usability]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2008/01/06/make-wordpress-editor-less-evil/</guid>
		<description><![CDATA[This Friday, Jesper and I had a chat about things we don&#8217;t like about the current WordPress WYSIWYG editor. In particular when trying to write code examples in our posts:
Jesper: One change I really would appreciate in the next  Wordpress would be the ability to shift wysiwyg/code editor directly on the edit  page
(Now [...]]]></description>
			<content:encoded><![CDATA[<p>This Friday, Jesper and I had a chat about things we don&#8217;t like about the current WordPress WYSIWYG editor. In particular when trying to write code examples in our posts:</p>
<blockquote><p><strong>Jesper: </strong>One change I really would appreciate in the next  Wordpress would be the ability to shift wysiwyg/code editor directly on the edit  page</p>
<p>(Now we have to change it on the user prefs page)</p>
<p><strong>Thomas: </strong>now = today</p>
<p><strong>Jesper: </strong>aggreed! the sooner the better!</p>
<p>I would like always to put my setting to wysiwyg off and  turn it on when editing a post individually. Too often I have burnt my fingers  and messed up posts containing code, blockquotes or formatted whitespace</p>
<p>If the control were moved to the edit page I could easily  write wysiwyg when needed and avoid it when it would mess up my post</p>
<p><strong>Thomas: </strong>Yes&#8230; it should be possible to tell WordPress  that a given post should always open with WYSIWYG off (or on) whenever it is  edited&#8230; dismissing the default settings</p>
<p><strong>Jesper: </strong>exactly!</p>
<p>wysiwyg MUST be off by default because it&#8217;s darn  destructive! (at least in the current versions of the wysiwyg editors)</p>
<p><strong>Thomas: </strong>I wonder if there exists some WP plugins out  there that do this already</p>
<p><strong>Jesper: </strong>Good question!</p>
<p><strong>Thomas: </strong>&#8230; or even better doesn&#8217;t mess up custom code  or HTML</p>
<p>(I mean&#8230; hacks WP so it doesn&#8217;t)</p>
<p><strong>Jesper: </strong>I hate the double/single quotes that WP  replaces.</p>
<p>All code examples stop working unless the author manually  replaces:</p>
<p>&#039;(single quote) with &amp;#039;</p>
<p>&quot;(double quote) with &amp;quot;</p>
<p><strong>Thomas: </strong>I think that there is a simple solution to  the quote issue&#8230; it must be fairly simple to change that</p>
<p>*searching for a fix*</p>
<p><span style="color: #7f7f7f">Sent at 11:04 PM on  Friday</span></p>
<p><strong>Thomas: </strong>hmmm it seems to be hard to find</p>
<p>Is the problem that you write a regular quote and WordPress  translates it into a html entity or the other way around?</p>
<p><strong>Jesper: </strong>The problem is when posting code snippets, HTML  or JavaScript for instance. The regular quote (double quote) is automatically  translated to the angled double quotes &#8212; the same illness as Word does by  default.</p>
<p>It&#8217;s an illness, in my opinion.</p>
<p>Leave it up to the user to actively change my text</p>
<p>Don&#8217;t spoil my code snippets by default.</p>
<p>Making normal quotes in normal text pretty is just not a  great tradeoff &#8230;</p>
<p><strong>Thomas: </strong>depends&#8230; the quotes them selves look great  when wrapping sentences &#8211; but doesn&#8217;t work for code &#8211; I agree</p></blockquote>
<p>After this chat I did some googling and found &#8211; as I expected &#8211; that we are not alone when it comes to the angled quote issue. The quote replacement is actually called &#8220;Smart Quotes&#8221; in WordPress, and there is a good discussion on the topic over at <a href="http://wordpress.org/support/topic/125038" title="Please give us the option to turn of smart 'quotes'">WordPress Support</a>.</p>
<p>I also found a very good blog-article on the subject by Aaron Russell called &#8220;<a href="http://www.milienzo.com/2007/09/06/trials-and-tribulations-of-using-wordpress-to-display-code-syntax/">Trials and tribulations of using WordPress to display code syntax</a>&#8220;.</p>
<h3>What we want&#8230;</h3>
<p>The most optimal solution would be a WordPress plugin that simply disables smart quotes inside &lt;code&gt;&#8230;&lt;/code&gt; blocks. To top it of it should also escape the &amp;, &gt; and &lt; characters.</p>
<h3>Can you help?</h3>
<p>Do you know any plugins that actually do what we would like? Any settings we overlook in WordPress? If not, I guess we will have to convince somebody into changing a future WordPress version.</p>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/wordpress" rel="tag">wordpress</a>, <a href="http://technorati.com/tag/editor" rel="tag"> editor</a>, <a href="http://technorati.com/tag/wysiwyg" rel="tag"> wysiwyg</a>, <a href="http://technorati.com/tag/quotes" rel="tag"> quotes</a>, <a href="http://technorati.com/tag/code" rel="tag"> code</a>, <a href="http://technorati.com/tag/usability" rel="tag"> usability</a>, <a href="http://technorati.com/tag/source+code" rel="tag"> source code</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2008/01/06/make-wordpress-editor-less-evil/feed/</wfw:commentRss>
		<slash:comments>74</slash:comments>
		</item>
		<item>
		<title>Cleanup Time &#8212; Spam Filter Free Day</title>
		<link>http://justaddwater.dk/2007/12/18/cleanup-time-spam-filter-free-day/</link>
		<comments>http://justaddwater.dk/2007/12/18/cleanup-time-spam-filter-free-day/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 09:55:58 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[justaddwater.dk]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2007/12/18/cleanup-time-spam-filter-free-day/</guid>
		<description><![CDATA[<p>1111 spam comments in the last 24 hours have been published on Justaddwater.dk. Just for the record, all of them are now deleted.</p>
<p><a href="/2007/12/18/cleanup-time-spam-filter-free-day"><img src="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-gmail-inbox-tiny.png" alt="spam-filter-free-day-gmail-inbox-tiny.png" /></a></p>
<p>137 new conversations in my mailbox telling me that 137 articles I wrote were hit by spam comments the last 24 hours.</p>]]></description>
			<content:encoded><![CDATA[<p>1111 spam comments in the last 24 hours have been published on Justaddwater.dk. Just for the record, all of them are now deleted. The many spam comments has had no effect whatsoever with respect to Google PageRank or similar, since we kept &lt;code&gt;rel=&#8221;nofollow&#8221;&lt;/code&gt; on all links. Besides, we quickly removed all spam comments at the end of Spam Filter Free Day.</p>
<p>137 new conversations in my mailbox telling me that 137 articles I wrote were hit by spam comments the last 24 hours.</p>
<p><a href="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-gmail-inbox.png" title="spam-filter-free-day-gmail-inbox.png"><img src="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-gmail-inbox-tiny.png" alt="spam-filter-free-day-gmail-inbox-tiny.png" /></a></p>
<h2><strong>Important lesson: Almost none of the recent posts have spam comments</strong></h2>
<p>The screenshot below shows that only 2 of the latest 20 posts have recieved spam comments. So it seems the logic behind it is that spammers need time to harvest links for potential targets.</p>
<p><a href="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-frontpage-spam-count.png" title="spam-filter-free-day-frontpage-spam-count.png"><img src="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-frontpage-spam-count-thumb.png" alt="spam-filter-free-day-frontpage-spam-count-thumb.png" /></a><br />
(click to view entire count on first 40 articles)</p>
<p>No posts newer than 11 days are hit by spam comments. 2 comments on &#8220;<a href="http://justaddwater.dk/2007/12/04/spam-comments-dropped-95-overnight/" rel="bookmark" title="Permanent Link to Spam Comments Dropped 95% Overnight"><span class="title">Spam Comments Dropped 95% Overnight</span></a>&#8221; from December 4th.</p>
<p>So on this particular day, spam comments only hit in after 11 days and should be used to our advantage. There are currently these different strategies to consider:</p>
<ol>
<li>Close old posts for comments</li>
<li>Close old posts for comments but keep active posts open</li>
<li>Hold back comments on old posts for moderation</li>
<li>Hold back comments on old posts for moderation unless posted by a user that has a previously approved comment</li>
</ol>
<p>Thomas and I talked this over yesterday, and would really prefer number 4, and we can live with number 3. Number 1 and 2 are implemented by a wordpress plugin (i forget the name).</p>
<p>The real difference is in the user experience. 1 and 2 are unacceptable for us, since it will block our users&#8217; valid comments if, say, somebody has an update to an old article or wants to send a trackback from a related post. This really works against the <a href="http://justaddwater.dk/2006/04/07/the-wisdom-of-crowds/">wisdom of crowds</a> principle, that works best if everybody is allowed to comment right away.</p>
<p>Does anybody know a plugin that can do number 3 or 4?.</p>
<h2>Wordpress flaws and bugs:</h2>
<ul>
<li>Three comments were incorrectly held for moderation by Wordpress even though the link limit were set to 99 and the comments clearly did not contain 99 links.<a href="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-awaiting-moderation.png" title="spam-filter-free-day-awaiting-moderation.png"><img src="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-awaiting-moderationthumb.png" alt="spam-filter-free-day-awaiting-moderation-thumb.png" /></a></li>
<li>The interface for marking comments as spam is unproductive. It took me two hours to mark 1111 comments as spam (and de-spamming 6 valid comments). I used &#8220;mass edit&#8221; screen and checked all. Pressed &#8220;mark checked comments as spam&#8221;. Then pressed OK to the JavaScript confirmation.<br />
<a href="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-deleting-confirmation-thumb.png" title="spam-filter-free-day-deleting-confirmation.png"><img src="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-deleting-confirmation-thumb.png" alt="spam-filter-free-day-deleting-confirmation-thumb.png" /></a>I don&#8217;t know the internal procedures here &#8212; but it seems as if wordpress sends the 20 spam marked comments directly to Akismet. And waits for the response before showing me the next page. My workaround here was to first open page 1-20 in 20 different tabs. Then for each of them check all and press &#8220;mark checked comments as spam&#8221;.</li>
<li>Recheck Queue for spam is a brilliant feature &#8212; but works on the wrong data. The feature should be copied to the &#8220;comments&#8221; tab. This way, you could force a rerun if your spam filter is out of order for a period of time. Also that would be the usecase of people trying out a spam filter. &#8220;wow I got more spam comments than I can handle. Let me try and install a spam filter and see what it can do for me&#8221;. In this case, the spam filter not only works forward in time after activation, but also backwards. (obviously there must be a feature to review the past comments marked as spam).<br />
<img src="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-recheck-que-for-spam.png" alt="spam-filter-free-day-recheck-que-for-spam.png" /></li>
<li>Blank email posts slip through even when the setting does not allow it. I have suspected this to happen also in previous versions of Wordpress. Several of the 1111 comments we recieved during Spam Filter Free Day were with blank email. And that should not be possible because of the setting in Wordpress &#8220;Comment author must fill out name and e-mail&#8221; (found at Admin&gt;Options&gt;Discussion).<br />
<img src="http://justaddwater.dk/wp-content/uploads/2007/12/spam-filter-free-day-blank-emails.png" alt="spam-filter-free-day-blank-emails.png" /><br />
I would expect these comments to be rejected and not even show up at the administrators&#8217; panels. But for some reasons they still appear. Perhaps a tiny bug in Wordpress? Or maybe spammers found a hole? Or are these trackbacks/pingbacks that just look like comments? Or maybe the <a href="http://blog.akismet.com/2007/12/17/new-plugin-version-21/">updated Akismet version 2.1.2</a> actually deals with this because they added separate tabs for trackbacks and pingbacks?</li>
</ul>
<p>All in all, we learned a few lessons and found some areas, where wordpress could improve in order to deal with comments that slips through. Total time consumption for removing these comments were 2 hours, which actually surprised us to be very low. But note also that this was not &#8220;just&#8221; a day without Akismet. In that case, we would probably had to keep comments under surveillance, and remove them during the day. In that case, time consumption would perhaps have been something like 6 hours during a 24 hour period.</p>
<p>As to whether we would do it again as a reoccuring event? Most likely not. We don&#8217;t want our regular readers to suffer, so we prefer to keep our blog safe and sound and in good shape, by keeping the guards up. On the other hand, it has been a learning experience to do the Spam Filter Free Day. Not only has our daily spam count decreased (perhaps because spammers have understood that comments that momentarily slip through have no effect on PageRank or similar). Also, we wanted to raise awareness of the bandwith and processing power (machine and human) that spam comments waste every day. And last also do this day as a thank to spamfilters such as Akismet. (heck, comments on other blogs even alledge that the Spam Filter Day is a publicity trick from Akismet&#8230; I can strongly deny that as we &#8212; thomas and jesper &#8212; can take full responsibility for inventing this event. And we are in no way affiliated with Akismet).</p>
<p>I would really appreciate comments with respect to plugins that do not close articles for comments &#8212; but in stead holds comments back for moderation. I will subsequently update this article with  links.</p>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/wordpress" rel="tag">wordpress</a>, <a href="http://technorati.com/tag/akismet" rel="tag"> akismet</a>, <a href="http://technorati.com/tag/spam" rel="tag"> spam</a>, <a href="http://technorati.com/tag/comment+spam" rel="tag"> comment spam</a>, <a href="http://technorati.com/tag/spam+filter+free+day." rel="tag"> spam filter free day.</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2007/12/18/cleanup-time-spam-filter-free-day/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Today is Spam Filter Free Day</title>
		<link>http://justaddwater.dk/2007/12/15/today-is-spam-filter-free-day/</link>
		<comments>http://justaddwater.dk/2007/12/15/today-is-spam-filter-free-day/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 23:29:35 +0000</pubDate>
		<dc:creator>Thomas Watson Steen</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[justaddwater.dk]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2007/12/15/today-is-spam-filter-free-day/</guid>
		<description><![CDATA[Saturday the 15th is Spam Filter Free Day here at justaddwater.dk. Why would we ever want to do something like that you ask? Well up until recently we received about 2-3000 spam comments each day so we thought we would draw attention to the wasted bandwidth, time and energy that all these spam comments consume. [...]]]></description>
			<content:encoded><![CDATA[<p>Saturday the 15th is Spam Filter Free Day here at justaddwater.dk. Why would we ever want to do something like that you ask? Well up until recently we received about 2-3000 spam comments each day so we thought we would draw attention to the wasted bandwidth, time and energy that all these spam comments consume. Not to speak of the large amount of hours with manually filtering all comments that our different spam filtering techniques free us from.</p>
<p><a href="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/" title="Announcement: Spam Filter Free Day">When we announced</a> the Spam Filter Free Day 18 days ago, we didn&#8217;t think that it would draw so much attention. But the amount of comments and buzz around the blogosphere have been really overwhelming. Most notably is that we <a href="http://blog.akismet.com/2007/11/28/letting-spam-in-for-a-day/" title="Akismet: Letting Spam In For a Day?">caught the attention</a> of the comment-spam fighting company of all times: <a href="http://akismet.com/">Akismet</a>.</p>
<p>We also recieved our share of warnings from people telling us that this might not be such a good idea after all. I would like to say up front, that we really appreciate this and that we are wiser even now then before the announcement, but we just can&#8217;t resist going ahead with the experiment &#8211; We might learn even more!</p>
<p>In the next couple of minutes, we&#8217;ll remove our barricades, turn the other cheek and just sit, wait, see and learn.</p>
<p>Final remarks:</p>
<ol>
<li>If you post any legit comment on our blog within the next 24 hours we&#8217;ll try not to delete it when we do our manual spam-cleanup &#8211; but let me just apologize up front if we do.</li>
<li>If you subscribe to our comment-feed, you might notice more comments then usual ;)</li>
</ol>
<p>Related reading:</p>
<ul>
<li><a href="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/">Announcement: Spam Filter Free Day</a></li>
<li><a href="http://justaddwater.dk/2007/11/29/letting-spam-in-for-a-day-questions-and-answers/">Letting Spam In For A Day Questions and Answers</a></li>
<li><a href="http://justaddwater.dk/2007/12/04/spam-comments-dropped-95-overnight/">Spam Comments Dropped 95% Overnight</a></li>
</ul>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/wZ7YedEopp4&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/wZ7YedEopp4&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/spam+filter+free+day" rel="tag">spam filter free day</a>, <a href="http://technorati.com/tag/spam" rel="tag"> spam</a>, <a href="http://technorati.com/tag/akismet" rel="tag"> akismet</a>, <a href="http://technorati.com/tag/blogging" rel="tag"> blogging</a>, <a href="http://technorati.com/tag/comment+spam" rel="tag"> comment spam</a>, <a href="http://technorati.com/tag/spam+fighting" rel="tag"> spam fighting</a>, <a href="http://technorati.com/tag/bandwidth" rel="tag"> bandwidth</a>, <a href="http://technorati.com/tag/justaddwater.dk" rel="tag"> justaddwater.dk</a>, <a href="http://technorati.com/tag/event" rel="tag"> event</a>, <a href="http://technorati.com/tag/wordpress" rel="tag"> wordpress</a>, <a href="http://technorati.com/tag/no+follow" rel="tag"> no follow</a>, <a href="http://technorati.com/tag/sketch" rel="tag"> sketch</a>, <a href="http://technorati.com/tag/monty+python" rel="tag"> monty python</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2007/12/15/today-is-spam-filter-free-day/feed/</wfw:commentRss>
		<slash:comments>67</slash:comments>
		</item>
		<item>
		<title>Spam Comments Dropped 95% Overnight</title>
		<link>http://justaddwater.dk/2007/12/04/spam-comments-dropped-95-overnight/</link>
		<comments>http://justaddwater.dk/2007/12/04/spam-comments-dropped-95-overnight/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 12:26:55 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[justaddwater.dk]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2007/12/04/spam-comments-dropped-95-overnight/</guid>
		<description><![CDATA[It&#8217;s no secret that we will keep this blog spam filter free  on December 15th. For some strange reason we only had 127 spam comments in the last 27 hours. This is a drop to just above 100 a day (as opposed to the previous level 2,000-3,000 per day), which translates to a 95% [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s no secret that we will keep this blog <a href="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/">spam filter free </a> on December 15th. For some strange reason we <strong>only had 127 spam comments in the last 27 hours</strong>. This is a drop to just above 100 a day (as opposed to the previous level 2,000-3,000 per day), which translates to a 95% drop overnight.</p>
<p>Thomas and I just had a conversation about what is going on. Could it be that spammers now give up after reading that comments here really give them no value (or pagerank)? Not only are links removed with Akismet, .htaccess files, blacklists and more. We also instantly remove the very few that slip through.</p>
<p>Or did Akismet modify it&#8217;s algorithms? Or did the worlds worst spammers just get blocked centrally somewhere? Or is this just silence before December 15th?</p>
<p>What do you think?</p>
<p>Is anybody else experiencing heavy drops in spam traffic?</p>
<p>Related info:</p>
<ul>
<li><a href="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/">Announcement: Spam Filter Free Day</a></li>
<li><a href="http://justaddwater.dk/2007/11/29/letting-spam-in-for-a-day-questions-and-answers/">Letting Spam In For A Day Questions and Answers</a></li>
</ul>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/akismet" rel="tag">akismet</a>, <a href="http://technorati.com/tag/spam" rel="tag">  spam</a>, <a href="http://technorati.com/tag/comments" rel="tag">  comments</a>, <a href="http://technorati.com/tag/justaddwater" rel="tag">  justaddwater</a>, <a href="http://technorati.com/tag/blogging" rel="tag">  blogging</a>, <a href="http://technorati.com/tag/spam-filter-free" rel="tag">  spam-filter-free</a>, <a href="http://technorati.com/tag/spam+filter" rel="tag">  spam filter</a>, <a href="http://technorati.com/tag/wordpress" rel="tag">  wordpress</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2007/12/04/spam-comments-dropped-95-overnight/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Letting Spam In For A Day Questions and Answers</title>
		<link>http://justaddwater.dk/2007/11/29/letting-spam-in-for-a-day-questions-and-answers/</link>
		<comments>http://justaddwater.dk/2007/11/29/letting-spam-in-for-a-day-questions-and-answers/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 09:33:10 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[justaddwater.dk]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2007/11/29/letting-spam-in-for-a-day-questions-and-answers/</guid>
		<description><![CDATA[Note that our spam experiment scheduled for December 15th got mentioned by the Akismet Blog, Blogherald, and many other blogs. 

Akismet Blog: Letting Spam In For A Day
Blogherald: Will you turn off Akismet?
Follow along in Technorati blog reactions for Justaddwater.dk

Also to answer some of the comments we got:
Binh Nguyen:
How about a bigger challenge? Keep everything [...]]]></description>
			<content:encoded><![CDATA[<p>Note that our <a href="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/">spam experiment</a> scheduled for December 15th got mentioned by the Akismet Blog, Blogherald, and many other blogs. </p>
<ul>
<li>Akismet Blog: <a href="http://blog.akismet.com/2007/11/28/letting-spam-in-for-a-day/">Letting Spam In For A Day</a></li>
<li>Blogherald: <a href="http://www.blogherald.com/2007/11/29/wordpress-wednesday-news-will-you-turn-off-akismet-wordpress-24-delayed-and-more-wordpress-news/">Will you turn off Akismet</a>?</li>
<li>Follow along in Technorati blog reactions for Justaddwater.dk</li>
</ul>
<p>Also to answer some of the comments we got:</p>
<blockquote cite="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/#comment-379012"><p><strong><a href="http://binh.name/">Binh Nguyen</a>:</strong><br />
How about a bigger challenge? Keep everything else active and shut down only the spam protection. </p></blockquote>
<p>That&#8217;s a big challenge. But we actually tried that recently when <a href="http://justaddwater.dk/2007/11/15/justaddwaterdk-hacked/">Justaddwater.dk got hacked</a>. The hacker used a security hole in an old version of Wordpress and to upload his malicious code, he disabled all plugins. I discovered that by discovering that Akismet (and all other plugins) was turned off.</p>
<blockquote cite="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/#comment-379130"><p><strong><a href="http://ulyssesonline.com/">Olysses</a>:</strong><br />
You are nuts. I might join you, but let me think about it. I don’t want to spend the whole day deleting spam. Maybe, a quick database backup and restore as if December 15 never happened. That might do the trick.</p></blockquote>
<p>Thanks for the tip. That might be what we end up doing if the cleanup task will get too big.</p>
<blockquote cite="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/#comment-379315"><p><strong><a href="http://baekdal.com">Thomas Baekdal</a>:</strong><br />
I don’t understand why you don’t try to mask your comment form, or prevent the spammers from running their scripts.
</p></blockquote>
<p>Purely for accessibility reasons. We discussed that previously And Thomas Watson and I totally agree that it must be possible to fill in a valid comment without using JavaScript in the browser, cellphone, Iphone, whatever. We also discussed that with the previous corporate webmaster at Capgemini (Francois Nonnenmacher), that used a similar technique to get virtually no spam.</p>
<p>Furthermore, we really really want our blog&#8217;s spam comments to go back into Akismet, so that Akismet learns and other blogs can benefit. If we reject spam comments at the door, so to speak, Akismet will never learn about it and it won&#8217;t get better at rejecting spam. If somebody has a method for rejecting spam (in .htaccess or by looking at 404&#8217;s), and at the same time let Akismet know about it, then please let us know.</p>
<blockquote cite="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/#comment-379317"><p><strong><a href="http://baekdal.com">Thomas Baekdal</a>:</strong><br />
BTW: Just out of curiosity – how much time do you spend on handling spam emails now? That is, the time it takes to look through the spam being filtered + the time spend deleting spam that missed the filter, Whitelisting and blacklisting people etc.?
</p></blockquote>
<p>At the most 30 minutes per day for both Thomas and me. It&#8217;s primarily an ad hoc task. I&#8217;m looking at what is new, and get an email when a new comment is posted (or slips through the spam filter). Based on that information I either take action to delete it immediately (if it&#8217;s spam) or take other actions such as answering real comments, etc.</p>
<blockquote cite="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/#comment-379357"><p><strong><a href="http://www.planetmike.com/">Michael Clark</a>:</strong><br />
I’m curious: on December 16th, after you reactivate all of your systems, are you going to submit to Akismet the spam that accumulated on the 15th? And are you using a “professional” Akismet account, or a free one?</p></blockquote>
<p>Free account. We aim at submitting all spam comments to Akismet and apologies to anybody posting a real comment on December 15th. <strong>By the way, is there a way to let Akismet traverse comments back in time to see if it can find any spam once we turn it back on? We really could need that to save time :)</strong></p>
<blockquote cite="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/#comment-379507"><p><strong><a href="http://jmorris.name/">JMorris</a>:</strong><br />
Pardon me if I misinterpreted your post, but it read as though you were going to allow automatic approval of comments. If this is the case, do you intend to put into effect some sort of indexing block in place so that search engines don’t pick up the comments and display them in your SERPs?</p></blockquote>
<p>You understand correctly that we use automatic approval of comments. We have actually discussed pros and cons of this approach. The worst thing about it is that we offend email subscribers once in a while when a spam comment slips through. However, since we manually remove these comments within 10 minutes or so, we consider the most important thing that a discussion can take place instantly without us approving the discussion.</p>
<p>At a later point, if we find it necessary, we might take the step to change the settings, so that a comment from a new mail address is held for moderation, but a known person can comment with automatic approval.</p>
<p>With respect to SERP (search engine result pages), all links by default have the
<div class="codesnip-container" >rel=&#8221;nofollow&#8221;</div>
<p> tag. This means that no spam comments will benefit at all from posting on our blog.</p>
<p>More comments in the original article: <a href="http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/">Announcement: Spam Filter Free Day</a></p>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/akismet" rel="tag">akismet</a>, <a href="http://technorati.com/tag/spam" rel="tag">  spam</a>, <a href="http://technorati.com/tag/comments" rel="tag">  comments</a>, <a href="http://technorati.com/tag/justaddwater" rel="tag">  justaddwater</a>, <a href="http://technorati.com/tag/blogging" rel="tag">  blogging</a>, <a href="http://technorati.com/tag/spam-filter-free" rel="tag">  spam-filter-free</a>, <a href="http://technorati.com/tag/spam+filter" rel="tag">  spam filter</a>, <a href="http://technorati.com/tag/wordpress" rel="tag">  wordpress</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2007/11/29/letting-spam-in-for-a-day-questions-and-answers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Announcement: Spam Filter Free Day</title>
		<link>http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/</link>
		<comments>http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/#comments</comments>
		<pubDate>Tue, 27 Nov 2007 10:18:38 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Best of Justaddwater]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[justaddwater.dk]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/</guid>
		<description><![CDATA[Get ready for a suicide mission: On this blog, we will remove our spam filter completely for one day, December 15th.
Today we got our spam comment number 500,000. Pretty scary to think how much energy, computer power, network traffic is wasted on a completely useless activity: To spoil the content with irrelevant comments.

Currently we get [...]]]></description>
			<content:encoded><![CDATA[<p>Get ready for a suicide mission: On this blog, we will remove our spam filter completely for one day, December 15th.</p>
<p>Today we got our spam comment number 500,000. Pretty scary to think how much energy, computer power, network traffic is wasted on a completely useless activity: To spoil the content with irrelevant comments.</p>
<p><img src='http://justaddwater.dk/wp-content/uploads/2007/11/justaddwater-akismet-500941-spam-comments.png' alt='justaddwater-akismet-500941-spam-comments.png' /></p>
<p>Currently we get somewhere between 2000 and 3000 spam comments each day. </p>
<p>The thing is, that Thomas and I are discussing: We don&#8217;t know exactly how much work our spam filter does for us&#8230; Granted, 500,000 spam comments is a pretty high number. But we want to know how much pain this saves us for. How much blood and sweat do we.</p>
<p>I have one suggestion: How about declaring spam-filter free day one day a year. What about December 15th, which is available according to wikipedia?</p>
<p>The purpose of Spam Filter Free day is to</p>
<ul>
<li>put focus on how much energy, computer power, network traffic, and manual work is wasted by the completely irrelevant comments</li>
<li>put focus on spam filters and their current effectiveness</li>
<li>We remove the filter a saturday, where traffic is usually lower (so the annoyance for the end-users will be as little as possible)</li>
</ul>
<p>For this to work we have to:</p>
<ul>
<li>Disable our secret server-validation (that we use before the comment hits wordpress)</li>
<li>Disable the plugin that emails subscribers when a new comment arrives</li>
<li>Disable Akismet</li>
<li>Disable our blacklist that holds comments for moderation if certain words are in the comment</li>
<li>Disable the function that holds a comment for moderation if it has a certain number of links</li>
<li>Disable any plugin that makes spammers gain from the fact that we disable our spam filters. (For instance the &#8220;<a href="http://bronski.net/wordpress-plugins/nonofollow/">no nofollow</a>&#8221; or &#8220;<a href="http://kimmo.suominen.com/sw/dofollow/">dofollow</a>&#8221; plugin)</li>
</ul>
<p>Join us if you like, and drop a comment about it here :) And if you do drop a comment here on December 15th, please forgive us if we accidentally mark a correct comment as spam. We will probably have a hard time cleaning up afterwards. If your comment dissappears, <a href="http://justaddwater.dk/contact-us/">contact us</a> as soon as possible.</p>
<p>Related articles:</p>
<ul>
<li><a href="http://justaddwater.dk/2007/02/06/100000-blog-spam-comments/">100,000 Blog Spam Comments</a> (Feb 26th)</li>
<li><a href="http://justaddwater.dk/2007/04/02/spam-blog-posted-182-articles-in-one-day/">Blog Usability: Spam Comments Irritate Subscribers</a> (April 2nd)</li>
<li><a href="http://justaddwater.dk/2007/09/06/spam-commenters-are-wasting-brainpower/">Spam Commenters Are Wasting Brainpower</a> (September 9th)</li>
</ul>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/akismet" rel="tag">akismet</a>, <a href="http://technorati.com/tag/spam" rel="tag"> spam</a>, <a href="http://technorati.com/tag/comments" rel="tag"> comments</a>, <a href="http://technorati.com/tag/justaddwater" rel="tag"> justaddwater</a>, <a href="http://technorati.com/tag/blogging" rel="tag"> blogging</a>, <a href="http://technorati.com/tag/spam-filter-free" rel="tag"> spam-filter-free</a>, <a href="http://technorati.com/tag/spam+filter" rel="tag"> spam filter</a>, <a href="http://technorati.com/tag/wordpress" rel="tag"> wordpress</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2007/11/27/announcement-spam-filter-free-day/feed/</wfw:commentRss>
		<slash:comments>73</slash:comments>
		</item>
		<item>
		<title>Justaddwater.dk hacked</title>
		<link>http://justaddwater.dk/2007/11/15/justaddwaterdk-hacked/</link>
		<comments>http://justaddwater.dk/2007/11/15/justaddwaterdk-hacked/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 23:28:38 +0000</pubDate>
		<dc:creator>Thomas Watson Steen</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[justaddwater.dk]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2007/11/15/justaddwaterdk-hacked/</guid>
		<description><![CDATA[The non-technical version:
Last Thursday we unfortunately had an intruder on Justaddwater.dk. The cracker used a flaw in our blogging software to gain administrative access to it. With this access the cracker placed a secret backdoor on the server.
It seems that the intention of the cracker where to use our server to host illegal copies of [...]]]></description>
			<content:encoded><![CDATA[<h3>The non-technical version:</h3>
<p>Last Thursday we unfortunately had an intruder on Justaddwater.dk. The cracker used a flaw in our blogging software to gain administrative access to it. With this access the cracker placed a secret backdoor on the server.</p>
<p>It seems that the intention of the cracker where to use our server to host illegal copies of movies as part of a larger pirate network. To our luck the technical skills of the cracker where very bad (<em>read: <a href="http://en.wikipedia.org/wiki/Script_kiddie" title="Wikipedia: Script Kiddie">script kiddie</a></em>) and the attempt to upload files to our server was not successful. The cracker therefore quickly gave up and did not try to access to backdoor afterwards.</p>
<p>We have now upgraded our blogging software to the newest version effectively closing the security hole and have reverted his (or hers?) changes and damage to the system.</p>
<p>We have tried to track his every move in our system, but cannot guarantee that he at some point didn&#8217;t get a copy of all our commenter&#8217;s e-mail addresses. We are pretty sure he was not after this information, and it does seem like he did not retrieve them, but we are not a 100% sure.</p>
<p>I know some of you use unique e-mail addresses when writing comments on our blog. If you are such a person and ever get any spam on this unique e-mail address, we would very much like to <a href="http://justaddwater.dk/contact-us/" title="Contact Justaddwater.dk">hear from you</a>.</p>
<p>To those of you who subscribe to our newsletter, you can rest assure that your e-mail addresses where never in any danger. They are safely kept at our service-providers and the intruder have not had access to them.</p>
<p>For more information on how we store user information see our <a href="http://justaddwater.dk/privacy/">Privacy Policy</a>.</p>
<h3>Info to fellow WordPress users</h3>
<p>The versions of WordPress affected by this security issue are:</p>
<ul>
<li>The entire version 2.1.x branch</li>
<li>In the 2.0.x branch, every version below 2.0.11 is affected</li>
</ul>
<p>If you are still running WordPress version 2.1.x we urge you to quickly upgrade to a newer version (2.2 or above). If you are running the older 2.0.x branch you can upgrade to version 2.0.11.</p>
<h3>All the technical goodies</h3>
<p><a href="http://trac.wordpress.org/ticket/4322" title="WordPress Trac: #4322 (Sql injection blind fishing exploit)">The bug in question</a> is a serious SQL injection bug affecting
<div class="codesnip-container" >/wp-admin/admin-ajax.php</div>
<p> where the attacker can perform any SQL command on your WordPress database (including wiping it out completely!).</p>
<p>In our case the cracker &#8220;only&#8221; used it to gain administrative WordPress access and updated the WordPress &#8220;upload_path&#8221; to point to the servers
<div class="codesnip-container" >/tmp</div>
<p> directory. He then uploaded a PHP script to this folder and added it as a WordPress plugin by manipulating the &#8220;active_plugins&#8221; option in WordPress. The purpose of this plugin was to lay dormant until a call to a specific URL was detected. This secret URL would then render a backdoor interface instead of the regular justaddwater.dk. You can see the backdoor interface by clicking the thumbnail below:</p>
<p><a href="http://justaddwater.dk/wp-content/uploads/justaddwater-hacked.png" title="justaddwater-hacked.png"><img src="http://justaddwater.dk/wp-content/uploads/justaddwater-hacked.thumbnail.png" alt="justaddwater-hacked.png" /></a></p>
<p>After looking at the Apache log files we can see what the cracker actually did to gain access and what he used that access to do.</p>
<p>First he made a very strange call:</p>
<div class="codesnip-container" >&#8220;GET /wp-includes/js/tinymce/wp-mce-help.php HTTP/1.0&#8243; 200 7411 &#8220;-&#8221; &#8220;-&#8221;</div>
<p>I have no idea why he called this URL first. My guess first was that this was a way of detecting which version of WordPress we where running, but after investigating I can see that this file exists also in versions not affected by the bug.</p>
<p>Secondly he called the URL affected by the SQL injection bug several times (actually 159!):</p>
<div class="codesnip-container" >&#8220;POST /wp-admin/admin-ajax.php HTTP/1.1&#8243; 200 2 &#8220;-&#8221; &#8220;Mozilla/4.0 (compatible; windows 5.1)&#8221;</div>
<p>Every call looks the same except for the size of the response in bytes following the 200 response code (in the above log entry it&#8217;s 2, but sometimes it would be 298 or 299). It would have been during these calls that the cracker gained administrative access to WordPress. The cracker also created a new post that he would later use as a placeholder for the PHP script he where to upload.</p>
<p>Now followed 8 calls to options.php:</p>
<div class="codesnip-container" >&#8220;POST /wp-admin/options.php HTTP/1.0&#8243; 200 1248 &#8220;http://justaddwater.dk/wp-admin/options.php&#8221; &#8220;Opera&#8221;</div>
<p>Notice how the user-agent changes all the time. This could be different scripts running, set to identify them selfs differently. My guess is that he used these calls to change the &#8220;upload_path&#8221; option and the &#8220;active_plugins&#8221; option. He could have done this via SQL injection though.</p>
<p>Then came 10 calls to upload.php, the script used to upload pictures etc. to posts:</p>
<div class="codesnip-container" >&#8220;POST /wp-admin/upload.php?style=inline&amp;tab=upload&amp;post_id=-1 HTTP/1.0&#8243; 200 1150 &#8220;http://justaddwater.dk/upload.php?style=inline&amp;tab=upload&amp;post_id=-1&#8243; &#8220;Opera&#8221;</div>
<p>My guess is that he used these calls to upload the backdoor script to /tmp. Why he needed 10 I don&#8217;t know.</p>
<p>Then came another 15 calls to options.php:</p>
<div class="codesnip-container" >&#8220;POST /wp-admin/options.php HTTP/1.0&#8243; 200 1230 &#8220;http://justaddwater.dk/wp-admin/options.php&#8221; &#8220;Opera&#8221;</div>
<p>It&#8217;s not quite obvious why he made these last calls, except to maybe clean up something he made earlier.</p>
<p>Now came a very strange call to upgrade.php that I can&#8217;t figure out why he made:</p>
<div class="codesnip-container" >&#8220;GET /wp-admin/upgrade.php?step=1 HTTP/1.0&#8243; 200 1172 &#8220;-&#8221; &#8220;-&#8221;</div>
<p>This script is used to upgrade the WordPress database after installing a new version of WordPress. He might have used some of the previous requests to prepare an &#8220;upgrade&#8221; script that he could then run this way, but why didn&#8217;t he just use the SQL injection technique from before?</p>
<p>Finally he accessed his newly created backdoor, looked inside our
<div class="codesnip-container" >/wp-content</div>
<p> folder, did 3 POSTS (that I suspect where file-upload attempts) and then left never to be seen again.</p>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/script+kiddie" rel="tag">script kiddie</a>, <a href="http://technorati.com/tag/hacking" rel="tag"> hacking</a>, <a href="http://technorati.com/tag/hacker" rel="tag"> hacker</a>, <a href="http://technorati.com/tag/cracker" rel="tag"> cracker</a>, <a href="http://technorati.com/tag/WordPress" rel="tag"> WordPress</a>, <a href="http://technorati.com/tag/security" rel="tag"> security</a>, <a href="http://technorati.com/tag/justaddwater.dk" rel="tag"> justaddwater.dk</a>, <a href="http://technorati.com/tag/bug" rel="tag"> bug</a>, <a href="http://technorati.com/tag/blogging+software" rel="tag"> blogging software</a>, <a href="http://technorati.com/tag/hacked" rel="tag"> hacked</a>, <a href="http://technorati.com/tag/vulnerability" rel="tag"> vulnerability</a>, <a href="http://technorati.com/tag/apache" rel="tag"> apache</a>, <a href="http://technorati.com/tag/log+files" rel="tag"> log files</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2007/11/15/justaddwaterdk-hacked/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Blog Usability: Spam Comments Irritate Subscribers</title>
		<link>http://justaddwater.dk/2007/07/10/blog-usability-spam-comments-irritate-subscribers/</link>
		<comments>http://justaddwater.dk/2007/07/10/blog-usability-spam-comments-irritate-subscribers/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 12:16:26 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[justaddwater.dk]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2007/07/10/blog-usability-spam-comments-irritate-subscribers/</guid>
		<description><![CDATA[I am back from vacation and saw that Akismet has caught more than 22,000 spam comments over a two week period. That is roughly one spam comment every minute (65 comments each hour). Since February when we passed 100,000 spam comments, we have now passed a  quarter million spam comments. (277,421 when I made [...]]]></description>
			<content:encoded><![CDATA[<p>I am back from vacation and saw that Akismet has caught more than 22,000 spam comments over a two week period. That is roughly one spam comment every minute (65 comments each hour). Since February when we passed 100,000 spam comments, we have now passed a  quarter million spam comments. (277,421 when I made the screenshot below).</p>
<p>The number of daily spam comments has grown more than 400% over the last year.</p>
<p><img src="http://justaddwater.dk/wp-content/uploads/2007/07/justaddwater-akismet-277421-spam-comments.png" alt="justaddwater-akismet-277421-spam-comments.png" /></p>
<p>Though Thomas and I are thrilled with how well Akismet works, there are still one serious issue: Every day somewhere between 1 and 10 spam comments slip through. It&#8217;s not a big deal for us, as we usually remove them within minutes if they slip though.</p>
<h3>Spam comments  annoy subscribers</h3>
<p>However, the comments that slip through actually annoys the most loyal readers.  Our readers can subscribe to new comments on any article, and the spam that slips through actually generates an email to all subscribers.</p>
<p><img src="http://justaddwater.dk/wp-content/uploads/2007/07/justaddwater-comment-subscription.png" alt="justaddwater-comment-subscription.png" /></p>
<p>Furthermore, any spam comments slipping through Akismet will occur in the <a href="http://feeds.justaddwater.dk/jaw/comments">comment feeds</a>.</p>
<p>I feel really sorry for the subscribers because a subscription then eventually generates an email, and even though we remove the spam comments fast, people still gets irritating, irrelevant spam sent by us to the subscribers. And we really hate that.</p>
<p>I think that this problem is more widespread than it seems, as I myself have recieved some emails from blog articles I&#8217;m subscribing to:</p>
<p><a href="http://justaddwater.dk/wp-content/uploads/2007/07/justaddwater-comment-spam-example-email.png" title="justaddwater-comment-spam-example-email.png"><img src="http://justaddwater.dk/wp-content/uploads/2007/07/justaddwater-comment-spam-example-email-thumbnail.png" alt="justaddwater-comment-spam-example-email.png" /></a></p>
<p>As a consequence, Thomas and I will now look for ways to tightening things further than Akismet can do.</p>
<h2>Possible solutions</h2>
<h3>Moderate all comments</h3>
<p>We have previously talked about holding back all comments for moderation (or at least comments from unknown email adresses). This is very easy to do — just flip a switch in a Wordpress administration module. One disadvantage with this solution: It adds a time-delay to the blog, and we feel that a blog should be immediate, and a discussion should take place without us acting as gatekeepers for the discussion.</p>
<h3>Improve Akismet</h3>
<p>We are not in a position to  change or improve Akismet directly, but here is a suggestion: Comments should be evaluated better and not just based on if anybody else has marked a comment to spam. It would be cool if Akismet could sometimes &#8220;be in doubt&#8221; about a comment. What if Akismet could tell Wordpress to hold a comment for moderation if it was likely to be spam. For example some of the comments that slipped though the last month had a Russian or Polish email address or www.yahoo.com as homepage. Some others contained the word casinos, which is a very unlikely word to use on this blog.  This is of course not true to any blog, so it would be great marking this as &#8220;I&#8217;m not sure. please moderate for me&#8221;.</p>
<p>This suggestion is probably based on my lack of knowledge on how Akismet really works. But it would of course be ideal to add rules to Akismet in order to improve the program.</p>
<h3>Adding a bot-filter in the comment form</h3>
<p>We talked about adding one or more form fields and hide them via css, to not disturb screen readers. Then name the field something innocent test that the field is blank when recieved. If not blank, then it is likely that a robot has filled out the field. Not a human, because the field is hidden.</p>
<p>This probably requires some work as we have to try out possibilities for confusing spam bots and see what works and whatnot. There are probably also some disadvantages for people browsing without CSS.</p>
<p>Actually we have already done some work including <a href="http://justaddwater.dk/2006/06/24/blog-usability-avoid-spam-comments/">renaming the wordpress standard form</a>. That worked great at the time, but after 6 months or so, it did not really reduce the spam (we could actually see that in the error log).</p>
<h3>Our preliminary conclusion</h3>
<p>Eventually we will probably turn on comment moderation, as it is the only 100% guarantee that spam comments don&#8217;t slip through to our subscribers and loyal readers. Before we do that (and to avoid the time-delay drawbacks), we will experiment on making a better bot-filter in the comment form.</p>
<p>More info</p>
<ul>
<li>Justaddwater.dk: <a href="http://justaddwater.dk/2007/02/06/100000-blog-spam-comments/" rel="bookmark" title="Permanent Link: 100,000 Blog Spam Comments">100,000 Blog Spam Comments</a>, February 6, 2007</li>
<li>Justaddwater.dk: <a href="http://justaddwater.dk/2006/06/28/blog-usability-avoid-spam-comments-part-2/" rel="bookmark" title="Permanent Link: Blog Usability: Avoid Spam Comments (Part 2)">Blog Usability: Avoid Spam Comments (Part 2)</a>, June 2006</li>
<li>Justaddwater.dk: <a href="http://justaddwater.dk/2006/06/24/blog-usability-avoid-spam-comments/" rel="bookmark" title="Permanent Link: Blog Usability: Avoid Spam Comments">Blog Usability: Avoid Spam Comments</a>, June 2006</li>
</ul>
<p>PS. We have previously claimed that we <a href="http://justaddwater.dk/2006/06/28/blog-usability-avoid-spam-comments-part-2/#comment-7617">won&#8217;t use CAPTCHAs</a> or <a href="http://justaddwater.dk/2006/06/24/blog-usability-avoid-spam-comments/#comment-7654">encode comment form with JavaScript</a>, and for now, we will stand by that decision, in order to avoid usability and accessibility issues.</p>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/akismet" rel="tag">akismet</a>, <a href="http://technorati.com/tag/spam" rel="tag"> spam</a>, <a href="http://technorati.com/tag/blog+usability" rel="tag"> blog usability</a>, <a href="http://technorati.com/tag/usability" rel="tag"> usability</a>, <a href="http://technorati.com/tag/blogging" rel="tag"> blogging</a>, <a href="http://technorati.com/tag/wordpress" rel="tag"> wordpress</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2007/07/10/blog-usability-spam-comments-irritate-subscribers/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails Checklist Now Public Available</title>
		<link>http://justaddwater.dk/2007/05/11/ruby-on-rails-checklist-now-public-available/</link>
		<comments>http://justaddwater.dk/2007/05/11/ruby-on-rails-checklist-now-public-available/#comments</comments>
		<pubDate>Thu, 10 May 2007 22:30:09 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Prototyping]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2007/05/11/ruby-on-rails-checklist-now-public-available/</guid>
		<description><![CDATA[Today I&#8217;ve removed password protection on the article &#8220;Prototyping Ruby on Rails Checklist to Get Started&#8220;.
Sorry to have you waiting. There are two main reasons why I have kept it private:

I wanted to check that the description worked well for me. And today I got my new laptop.
It surprised me that a password protected article [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;ve removed password protection on the article &#8220;<a href="http://justaddwater.dk/2007/04/24/prototyping-ruby-on-rails-checklist-to-get-started/" rel="bookmark" title="Permanent Link: Protected: Prototyping Ruby on Rails Checklist to Get Started">Prototyping Ruby on Rails Checklist to Get Started</a>&#8220;.</p>
<p>Sorry to have you waiting. There are two main reasons why I have kept it private:</p>
<ol>
<li>I wanted to check that the description worked well for me. And today I got my new laptop.</li>
<li>It surprised me that a password protected article shows up on the front-page, RSS feeds, etc.</li>
</ol>
<p>As I found out the original file was published, I felt that I could not remove it even though I was not ready to publish entirely.</p>
<p><strong>WordPress flaw or feature?</strong></p>
<p>I think its hard to imagine that Wordpress publish password protected articles on purpose (even though it&#8217;s only the headline).</p>
<p>If this really is a feature, I would prefer another feature: To be able to publish a &#8220;stealth&#8221; article, password protected that should not show up on the frontpage or in RSS feeds. Is this feature already available? If so, there is some bad usability involved preventing me from using the password protection as I wanted to :)</p>
<p>Now, the article  &#8220;<a href="http://justaddwater.dk/2007/04/24/prototyping-ruby-on-rails-checklist-to-get-started/" rel="bookmark" title="Permanent Link: Protected: Prototyping Ruby on Rails Checklist to Get Started">Prototyping Ruby on Rails Checklist to Get Started</a>&#8221;</p>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/ruby+on+rails" rel="tag">ruby on rails</a>, <a href="http://technorati.com/tag/prototyping" rel="tag"> prototyping</a>, <a href="http://technorati.com/tag/rapid+prototyping" rel="tag"> rapid prototyping</a>, <a href="http://technorati.com/tag/preparation" rel="tag"> preparation</a>, <a href="http://technorati.com/tag/rails" rel="tag"> rails</a>, <a href="http://technorati.com/tag/wordpress" rel="tag"> wordpress</a>, <a href="http://technorati.com/tag/usability" rel="tag"> usability</a>, <a href="http://technorati.com/tag/stealth" rel="tag"> stealth</a>, <a href="http://technorati.com/tag/password" rel="tag"> password</a>, <a href="http://technorati.com/tag/protection" rel="tag"> protection</a>, <a href="http://technorati.com/tag/rss" rel="tag"> rss</a>, <a href="http://technorati.com/tag/frontpage" rel="tag"> frontpage</a>, <a href="http://technorati.com/tag/private" rel="tag"> private</a>, <a href="http://technorati.com/tag/privacy" rel="tag"> privacy</a>, <a href="http://technorati.com/tag/blogging" rel="tag"> blogging</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2007/05/11/ruby-on-rails-checklist-now-public-available/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
