<?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>Digging into WordPress &#187; Plugins</title>
	<atom:link href="http://digwp.com/category/plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://digwp.com</link>
	<description>Learn how to take your WordPress skills to the next level.</description>
	<lastBuildDate>Wed, 08 Sep 2010 07:46:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Blogging in&#160;Markdown</title>
		<link>http://digwp.com/2010/06/blogging-in-markdown/</link>
		<comments>http://digwp.com/2010/06/blogging-in-markdown/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 14:50:58 +0000</pubDate>
		<dc:creator>Chris Coyier</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[markdown]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=2338</guid>
		<description><![CDATA[WordPress defaults to a WYSIWYG editor when composing a new Post. Of course WYSIWYG is a bit of a misnomer. What you &#8220;get&#8221; when you publish that post is dependent on the template and the CSS in place in the theme. In fact, WordPress doesn&#8217;t even call it WYSIWYG, they call it the &#8220;Visual&#8221; editor. [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress defaults to a WYSIWYG editor when composing a new Post. Of course WYSIWYG is a bit of a misnomer. What you &#8220;get&#8221; when you publish that post is dependent on the template and the CSS in place in the theme. In fact, WordPress doesn&#8217;t even call it WYSIWYG, they call it the &#8220;Visual&#8221; editor. In fact, most editors of this nature these days go to length in telling you <a href="http://markitup.jaysalvat.com/home/">its a markup editor</a>, not a WYSIWYG editor.</p>
<div class="image-wrap">
<img src="http://digwp.com/wp-content/blog-images/visualeditor.jpg" width="587" height="108" alt="" title="" />
</div>
<p>The point of the Visual editor is that it likely makes more sense to the &#8220;average&#8221; user. When they highlight a word and click the [b] button, the word literally turns bold, not gets wrapped in &lt;strong>&lt;/strong> tags. If they insert a picture, they see it. If they insert a link, it looks like a link. </p>
<p>The Visual editor is perfectly fine, but the nerdier among us likely prefer the HTML view so they can see exactly what is going on. After all, the Visual editor has had a history of not being super hot when it comes to leaving our nicely organized HTML alone (when switching back and forth).</p>
<div class="image-wrap">
<img src="http://digwp.com/wp-content/blog-images/disableeditor.jpg" width="495" height="149" alt="" title="" /><br />
You can turn off the visual editor from your User Preferences.
</div>
<p>Once that is off, we are free to compose posts in HTML. But that&#8217;s not our only option. We could also compose in Markdown!</p>
<p><span id="more-2338"></span></p>
<h3>What is Markdown?</h3>
<p>Markdown is a special syntax for composing. It was originally conceived by John Gruber and you can <a href="http://daringfireball.net/projects/markdown/">learn more about it here</a>. </p>
<h3>Getting it into WordPress</h3>
<p>Markdown was originally written in Perl. It was converted to PHP by Michel Fortin and comes with a WordPress plugin. You can <a href="http://michelf.com/projects/php-markdown/">get it here</a>, which also has instructions for installing and activating it.</p>
<h3>Why Markdown?</h3>
<p>The idea is that it makes looking at the writing much more readable than HTML would be. </p>
<blockquote><p>While Markdown’s syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.</p></blockquote>
<div class="image-wrap">
<img src="http://digwp.com/wp-content/blog-images/markdownexample.png" width="549" height="323" alt="" title="" /><br />
It does look quite a bit like a text email.
</div>
<h3>Markdown Syntax</h3>
<p>There isn&#8217;t all that much to it, but you might want to check out the <a href="http://daringfireball.net/projects/markdown/syntax">actual documentation page</a> instead of me rehashing it here. </p>
<p>In a nutshell:</p>
<p>*italic*<br />
**bold**<br />
[link text](http://example.com)<br />
## header 2<br />
### header 3<br />
&nbsp;&nbsp;&nbsp;code is indented</p>
<h3>Is it for you?</h3>
<p>Whether or not this looks appealing to you is simply a matter of taste. Do keep in mind that Markdown is compatible with HTML. So if you have articles you have previously written in HTML, those will be fine with this activated. However, the opposite is not true. If you create a bunch of content in Markdown and then decide to turn it off, you will be looking at asterisks and octothorpes and such. </p>
<p>One other concern would theoretically be shortcodes. Short codes also use the [foo] syntax, so I&#8217;m actually not sure which one would take precedence. Definitely should be tested if you are a heavy shortcodes user.</p>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2010 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2010/06/blogging-in-markdown/">Permalink</a> | <a href="http://digwp.com/2010/06/blogging-in-markdown/#comments">3 comments</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2010/06/blogging-in-markdown/&title=Blogging in&nbsp;Markdown">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a> | Tagged: <a href="http://digwp.com/tag/editor/" rel="tag">editor</a>, <a href="http://digwp.com/tag/html/" rel="tag">HTML</a>, <a href="http://digwp.com/tag/markdown/" rel="tag">markdown</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2010/06/blogging-in-markdown/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress JSON API&#160;Plugin</title>
		<link>http://digwp.com/2010/05/wordpress-json-api-plugin/</link>
		<comments>http://digwp.com/2010/05/wordpress-json-api-plugin/#comments</comments>
		<pubDate>Sat, 29 May 2010 19:34:51 +0000</pubDate>
		<dc:creator>Chris Coyier</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=2153</guid>
		<description><![CDATA[WordPress already kind of has an XML API. Basically, RSS feeds. WordPress creates feeds for all kinds of stuff: recent posts, comment threads on any Page or Post that has comments, category-specific, tag-specific, and more. The codex covers all this and we&#8217;ve also covered creating your own unique feeds that could literally be from any [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress already kind of has an XML API. Basically, RSS feeds. WordPress creates feeds for all kinds of stuff: recent posts, comment threads on any Page or Post that has comments, category-specific, tag-specific, and more. The codex <a href="http://codex.wordpress.org/WordPress_Feeds">covers all this</a> and we&#8217;ve also covered <a href="http://digwp.com/2009/09/easy-custom-feeds-in-wordpress/">creating your own unique feeds</a> that could literally be from any data in your WordPress database.</p>
<p>So RSS is pretty sweet. There are lots of feed parsers out there that can do cool stuff with feeds. XML is pretty cool. PHP5 has functions to make decently quick work of parsing XML. </p>
<p><strong>But what if you are working with JavaScript?</strong> XML + JavaScript kinda sucks. The <a href="http://www.json.org/">JSON</a> format is approximately one million times easier to work with. Fortunately there is <a href="http://wordpress.org/extend/plugins/json-api/">a kick-ass plugin</a> for us!</p>
<p><span id="more-2153"></span></p>
<h3>The Plugin&#8230;</h3>
<p>is by <a href="http://phiffer.org/">Dan Phiffer</a> who created it for for working with the MoMA (Museum of Modern Art) <a href="http://moma.org/explore/inside_out">blog</a>. Apparently it&#8217;s some Frankenstein&#8217;s monster of Ruby on Rails and WordPress. </p>
<p><a href="http://wordpress.org/extend/plugins/json-api/">WordPress JSON API Plugin</a></p>
<p>All you need to do is install and activate it, and you&#8217;ll have access to a new URL structure that servers up JSON data.</p>
<p>At its most simple:</p>
<pre><code>http://example.com/?json=1</code></pre>
<p>Which will return delicious, delicious JSON:</p>
<pre><code>{
  "status": "ok",
  "count": 1,
  "count_total": 1,
  "pages": 1,
  "posts": [
    {
      "id": 1,
      "slug": "hello-world",
      "url": "http:\/\/localhost\/wordpress\/?p=1",
      "title": "Hello world!",
      "title_plain": "Hello world!",
      "content": "&lt;p&gt;Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!&lt;\/p&gt;\n",
      "excerpt": "Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!\n",
      "date": "2009-11-11 12:50:19",
      "modified": "2009-11-11 12:50:19",
      "categories": [],
      "tags": [],
      "author": {
        "id": 1,
        "slug": "admin",
        "name": "admin",
        "first_name": "",
        "last_name": "",
        "nickname": "",
        "url": "",
        "description": ""
      },
      "comments": [
        {
          "id": 1,
          "name": "Mr WordPress",
          "url": "http:\/\/wordpress.org\/",
          "date": "2009-11-11 12:50:19",
          "content": "&lt;p&gt;Hi, this is a comment.&lt;br \/&gt;To delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.&lt;\/p&gt;\n",
          "parent": 0
        }
      ],
      "comment_count": 1,
      "comment_status": "open"
    }
  ]
}</code></pre>
<p>The plugin page has comprehensive notes on <a href="http://wordpress.org/extend/plugins/json-api/other_notes/">how you can structure the URLs</a> to get just what you need back. </p>
<p>Of course, the more that you want, the larger the size of the data is, the harder it has to work, and the slower it can be. The plugin allows you to trim down what it returns to speed things up if needed. This is how to get just 10 posts, with a specific custom field, and only a few other things:</p>
<pre><code>http://example.com/?json=1&amp;count=10&amp;custom_fields=PostThumb&amp;include=title,custom_fields,excerpt</code></pre>
<h3>What might you use this for?</h3>
<p><a href="http://jqueryui.com/">jQuery UI</a> has recently released a new feature: <a href="http://docs.jquery.com/UI/Autocomplete">Autocomplete</a>. I learned that it basically consumes JSON data to populate what it autocompletes with. So I decided to try and connect the two and make an autocomplete search box for this site. </p>
<div class="image-wrap">
<img src="http://digwp.com/wp-content/blog-images/autocompletesearch.jpg" width="581" height="331" alt="" title="" />
</div>
<p>Try typing in like &#8220;CSS&#8221; or something and you can see some articles autocomplete below the input. You can select one and press return to go to that post. It&#8217;s kinda cheezy, probably not something I would roll out live, but it was a fun demo to work on. If you want to see the JavaScript that powers it, <a href="http://digwp.com/wp-content/themes/DiggingIntoWordPress-2/js/autocomplete.js">check it out</a>. </p>
<p>To be fair, I had to hack the plugin just slightly to get it to work. The autocomplete plugin wants a &#8220;value&#8221; and &#8220;label&#8221; data in the JSON, so I added them. It&#8217;s a pretty trivial adjustment so if anyone wants that code, let me know.</p>
<p><strong>UPDATE:</strong> Demo temporarily removed for security.</p>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2010 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2010/05/wordpress-json-api-plugin/">Permalink</a> | <a href="http://digwp.com/2010/05/wordpress-json-api-plugin/#comments">13 comments</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2010/05/wordpress-json-api-plugin/&title=WordPress JSON API&nbsp;Plugin">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a> | Tagged: <a href="http://digwp.com/tag/api/" rel="tag">API</a>, <a href="http://digwp.com/tag/javascript/" rel="tag">JavaScript</a>, <a href="http://digwp.com/tag/json/" rel="tag">JSON</a>, <a href="http://digwp.com/tag/plugin/" rel="tag">plugin</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2010/05/wordpress-json-api-plugin/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>wpSEO vs. All-In-One SEO&#160;Pack</title>
		<link>http://digwp.com/2010/04/wpseo-vs-all-in-one/</link>
		<comments>http://digwp.com/2010/04/wpseo-vs-all-in-one/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 15:58:12 +0000</pubDate>
		<dc:creator>Chris Coyier</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[title]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=1628</guid>
		<description><![CDATA[The most popular SEO plugin for WordPress is certainly the All-In-One SEO Pack. It&#8217;s on just about every plugin roundup you&#8217;ll ever see. It&#8217;s free. It works well. But it&#8217;s not the only kid on the block. One of the guys from WP Engineer has a competing product: wpSEO. I&#8217;ve now used them both. I [...]]]></description>
			<content:encoded><![CDATA[<p>The most popular SEO plugin for WordPress is certainly the <a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">All-In-One SEO Pack</a>. It&#8217;s on just about every plugin roundup you&#8217;ll ever see. It&#8217;s free. It works well. But it&#8217;s not the only kid on the block. One of the guys from <a href="http://wpengineer.com/">WP Engineer</a> has a competing product: <a href="http://wpseo.go2jump.org/SHE">wpSEO</a>. I&#8217;ve now used them both. I thought a head-to-head comparison would be useful for people to see.</p>
<p><span id="more-1628"></span></p>
<p>Let me note that this isn&#8217;t an absolutely comprehensive comparison of every single feature. For example, they both claim to be fast. I&#8217;m not techy enough to know which one is really &#8220;faster&#8221;. These are the features that are important to me.</p>
<table id="comparison">
<tr>
<th>&nbsp;</th>
<th>
All-In-One SEO Pack
</th>
<th>
wpSEO
</th>
<th>Notes</th>
</tr>
<tr>
<td class="feature">Is there a free version?</td>
<td>Yes</td>
<td>No, 10 day trial</td>
<td>I think if you like the wpSEO feature set, you should go for it right away. Configuring your SEO one way and then ditching all that 10 days later seems counter-productive to me.</td>
</tr>
<tr>
<td class="feature">Paid version?</td>
<td>$69.99<br />
(sometimes on sale)</td>
<td>$24.99<br />
(one site)<br />
$64.99<br />
(unlimited)<br />
$124.99<br />
(professional)</td>
<td>The paid version of All-In-One SEO just removes the donation links at the top of the plugin settings. The wpSEO only has a paid version.</td>
</tr>
<tr>
<td class="feature">Support</td>
<td>Various monthly plans, starting at $10/month</td>
<td>Included with paid plugin</td>
<td>If you need support, wpSEO is cheaper as it&#8217;s just included with the plugin price. I can&#8217;t vouch for either as I&#8217;ve never needed support. I gotta imagine support for both of these is unbearable. WHY AIN:T i #1 on da GOOGLe?!?!</td>
</tr>
<tr>
<td class="feature">Meta descriptions</td>
<td>Auto-create and controllable</td>
<td>Auto-create and controllable</td>
<td>This is the most valuable thing to be for both plugins. Meta descriptions are important for SEO and for quality link displays on SERPs. Both plugins will auto-generate these for you, or allow you to override them on a per-post/per-page basis.</td>
</tr>
<tr>
<td class="feature">Meta keywords</td>
<td>Auto-create and controllable</td>
<td>Auto-create and controllable</td>
<td>Keywords are far less important than descriptions, but using them doesn&#8217;t hurt. All-In-One allows you set your own or can use the posts tags and/or categories for them. wpSEO won&#8217;t automatically use tags or categories, but will intelligently use &lt;strong> and &lt;em> tags in your text content or mark them with specific short tags. I also like how you can turn off the keyword override on individual posts with wpSEO (less cruft to look at if you know you don&#8217;t use it).</td>
</tr>
<tr>
<td class="feature">Title Control</td>
<td>Sort of</td>
<td>Full</td>
<td>Title control is just as important as Meta descriptions. All-In-One SEO defaults to the best possible (in my opinion) format which is [Post Title] | [Site Title] and is totally configurable for different types of pages. What you can&#8217;t do is <strong>completely</strong> override a post title, which you can do with wpSEO. Both plugins are pretty equal in ability here.</td>
</tr>
<td class="feature">Canonical tags</td>
<td>Yes</td>
<td>Yes</td>
<td>Canonical tags tell search engines which URL the content on this page &#8220;really&#8221; belongs to. For example, if you have paginated comments, you might have several different URLs which display the same content, which can lead to duplicate content penalties. Both plugins take care of this for you.</td>
</tr>
</table>
<h3>Other little features</h3>
<ul>
<li>You can disable All-In-One SEO without deactivating or uninstalling it.</li>
<li>You can export and import settings with wpSEO. So if you have a specific setup you like to use, it&#8217;s easy to move that to other sites.</li>
</ul>
<h3>General thoughts</h3>
<ul>
<li>wpSEO definitely has more features, but of course more isn&#8217;t always better. The settings page may be overwhelming for some.</li>
<li>All-In-One SEO is free, and it does all the things I consider vital for a SEO plugin.</li>
<li>On a pure features / functions / UI standpoint, I like wpSEO better.</li>
</ul>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2010 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2010/04/wpseo-vs-all-in-one/">Permalink</a> | <a href="http://digwp.com/2010/04/wpseo-vs-all-in-one/#comments">24 comments</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2010/04/wpseo-vs-all-in-one/&title=wpSEO vs. All-In-One SEO&nbsp;Pack">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a> | Tagged: <a href="http://digwp.com/tag/meta/" rel="tag">meta</a>, <a href="http://digwp.com/tag/seo/" rel="tag">SEO</a>, <a href="http://digwp.com/tag/title/" rel="tag">title</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2010/04/wpseo-vs-all-in-one/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Nice Way to Encourage Plugin&#160;Upgrading</title>
		<link>http://digwp.com/2010/03/nice-way-to-encourage-plugin-upgrading/</link>
		<comments>http://digwp.com/2010/03/nice-way-to-encourage-plugin-upgrading/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 13:26:34 +0000</pubDate>
		<dc:creator>Chris Coyier</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=1694</guid>
		<description><![CDATA[A while back we talked about upgrading plugins. Specifically the All-in-One SEO pack and the controversy surrounding how it turns it self off after (some) updates. This is what that plugin looks like when it needs an updating: Normal look for a plugin that needs updating But W3 Total Cache also needed an upgrading, and [...]]]></description>
			<content:encoded><![CDATA[<p>A while back we talked about upgrading plugins. Specifically the <a href="http://digwp.com/2010/01/why-all-in-one-seo-deactivates/">All-in-One SEO pack and the controversy surrounding</a> how it turns it self off after (some) updates. This is what that plugin looks like when it needs an updating:</p>
<div class="image-wrap">
<img src="http://digwp.com/wp-content/blog-images/allinoneupdate.png" width="570" height="162" alt="" title="" /><br />
Normal look for a plugin that needs updating
</div>
<p>But <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a> also needed an upgrading, and this is what <em>it</em> looked like&#8230;</p>
<p><span id="more-1694"></span></p>
<div class="image-wrap">
<img src="http://digwp.com/wp-content/blog-images/w3update.png" width="415" height="444" alt="" title="" /><br />
Now there is some info!
</div>
<p>This plugin clearly explains why upgrading would be a good idea. I like it. I think this should definitely be employed on plugins, especially on updates which may have seriously implications on your sites performance.</p>
<p>Oh and look, it doesn&#8217;t bug you with all the notes if it isn&#8217;t activated:</p>
<div class="image-wrap">
<img src="http://digwp.com/wp-content/blog-images/w3disabled.png" width="436" height="133" alt="" title="" />
</div>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2010 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2010/03/nice-way-to-encourage-plugin-upgrading/">Permalink</a> | <a href="http://digwp.com/2010/03/nice-way-to-encourage-plugin-upgrading/#comments">11 comments</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2010/03/nice-way-to-encourage-plugin-upgrading/&title=Nice Way to Encourage Plugin&nbsp;Upgrading">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a> | Tagged: <a href="http://digwp.com/tag/plugin/" rel="tag">plugin</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2010/03/nice-way-to-encourage-plugin-upgrading/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>How to Add Your Plugin to the WordPress Plugin&#160;Directory</title>
		<link>http://digwp.com/2010/03/add-plugin-to-wordpress-plugin-repository/</link>
		<comments>http://digwp.com/2010/03/add-plugin-to-wordpress-plugin-repository/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 07:49:12 +0000</pubDate>
		<dc:creator>Jeff Starr</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=1548</guid>
		<description><![CDATA[Getting your plugins listed in the official WordPress Plugin Directory is considered a chore by many, but it&#8217;s nothing that should stop you from sharing your plugin with the community at large. Up until now, I haven&#8217;t really bothered with adding my plugin collection to the Directory, but after Herb Goodman helped to package my [...]]]></description>
			<content:encoded><![CDATA[<p>Getting your plugins listed in the official <a href="http://wordpress.org/extend/plugins/" title="Plugin Directory">WordPress Plugin Directory</a> is considered a chore by many, but it&rsquo;s nothing that should stop you from sharing your plugin with the community at large. Up until now, I haven&rsquo;t really bothered with adding <a href="http://perishablepress.com/press/2006/09/04/perishable-press-wordpress-plugins/" title="Perishable Press WordPress Plugins">my plugin collection</a> to the Directory, but after <a href="http://www.hsgoodman.org/" title="hsgoodman.org">Herb Goodman</a> helped to package my recent <a href="http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/" title="">Block Bad Queries plugin</a>, I figured now was a good time to dig in and learn the ropes. It turns out the process only took about an hour to complete, not including the waiting period for access to the Subversion Repository (which was about 18 hours). Definitely worth the potential exposure provided by having your plugin listed in the official directory.</p>
<blockquote><p>If you are a seasoned plugin developer, you already know how to hook it up at the WordPress Directory, but for those who don&rsquo;t, this <acronym title="Digging into WordPress">DiW</acronym> tutorial will show you everything you need to know.</p></blockquote>
<p><span id="more-1548"></span></p>
<h3>Why host your plugin at the WP Directory?</h3>
<p>Some of the benefits of hosting your plugin at the WordPress Plugin Directory:</p>
<ul>
<li>Track basic statistics regarding how many people are downloading and when</li>
<li>Provide a centralized location for users to leave comments and feedback</li>
<li>Get your plugin rated against the many other hosted WordPress plugins</li>
<li>And of course, give your plugin greater exposure to the WP community</li>
</ul>
<p>Further, it seems that plugins hosted at the official directory are perceived to be associated with a greater degree of &ldquo;trustworthiness.&rdquo; People <em>trust</em> WordPress, and they also trust the various resources (plugins, themes, etc.) made available to them through the <code>wordpress.org</code> website. Basically, if you&rsquo;re writing plugins for the WordPress community, you should be sharing them with as many people possible. The Plugin Directory does this exceedingly well.</p>
<p>&ldquo;Worth playing for?&rdquo; Let&rsquo;s look at a quick overview before digging into the specifics of getting your plugin added to the Directory..</p>
<h3>Overview</h3>
<p>To help get a sense of direction before getting started, consider this overview of events:</p>
<ul>
<li>Write and prepare your plugin</li>
<li>Prepare the readme.txt file</li>
<li>Sign up for access to the Subversion Repository</li>
<li>Wait for approval and <acronym title="Subversion (version control system)">SVN</acronym> access information</li>
<li>Use Subversion software to upload your plugin files</li>
<li>Wait a few minutes for the system to add your plugin to the Plugin Directory</li>
</ul>
<p>Of course, the big hurdle that many &ldquo;would-be&rdquo; contributors have is using the <acronym title="Subversion (version control system)">SVN</acronym>/Subversion system and software. To be honest, this was one of the reasons why I never bothered adding my other plugins, but now that I&rsquo;ve seen how easy it actually is (once you learn it), I will most likely add my other plugins as well (eventually).</p>
<h3>First steps</h3>
<p>First, get your plugin and files ready. You don&rsquo;t need to compress anything with <code>zip</code> or <code>tar</code> because the <acronym title="Subversion (version control system)">SVN</acronym> system will do that automatically for you based on the contents of your plugin. In my case, the plugin was Block Bad Queries, which contains the following two files:</p>
<ul>
<li><code>block-bad-queries.php</code></li>
<li><code>readme.txt</code></li>
</ul>
<p>The actual plugin file is the &ldquo;<code>block-bad-queries.php</code>&rdquo;. The &ldquo;<code>readme.txt</code> is the only other required file. If you have multiple plugin files, that&rsquo;s fine too, they will be uploaded and managed together during the subversion process.</p>
<p>For more information on getting things ready, check out <a href="http://codex.wordpress.org/Plugin_Submission_and_Promotion" title="Plugin Submission and Promotion">Plugin Submission and Promotion</a> at the Codex. A key factor in the process is a well-written <code>readme.txt</code> file, which we&rsquo;ll look at next..</p>
<h3>Pimp your readme.txt file</h3>
<p>I think having a well-prepared <code>readme.txt</code> file is one of the things that helped everything go smoothly for my first time out. Your plugin&rsquo;s <code>readme.txt</code> is used for the content of the various pages in a typical plugin listing:</p>
<ul>
<li>Plugin Name</li>
<li>Description</li>
<li>Installation</li>
<li>Faq</li>
<li>Screenshots</li>
<li>Other Notes</li>
<li>Changelog</li>
<li>Stats</li>
<li>Admin</li>
</ul>
<p>That&rsquo;s basically it. If your <code>readme.txt</code> contains each of these sections, you should be good to go. There are various details required for certain sections, such as the opening &ldquo;<code>Plugin</code>&nbsp;<code>Name</code>&rdquo; information, which requires the following specifics (using <acronym title="Block Bad Queries">BBQ</acronym> as an example):</p>
<pre><code>=== Plugin Name ===

Contributors: Jeff Starr
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Tags: wp, protect, php, eval, malicious, url
Author URI: http://perishablepress.com/
Author: Perishable Press
Requires at least: 2.3
Tested up to: 2.9
Stable tag: 1.0
Version: 1.0 </code></pre>
<p>I think we&rsquo;re all familiar with this type of information &ndash; something similar is included at the top of virtually every plugin (and theme) in existence. In any case, this is the first part of a proper <code>readme.txt</code> file, as seen in the <a href="http://wordpress.org/extend/plugins/about/readme.txt">WordPress/bbPress plugin readme file standard</a>, which also contains details and further information about the various requirements.</p>
<p>So, to put all of this together and create your own <code>readme.txt</code> file, just copy &amp; paste the following template into a blank <code>.txt</code> file and flesh it out with your own details:</p>
<pre><code>=== Plugin Name ===

Contributors:      (plugin contributors)
Plugin Name:       (name of your plugin)
Plugin URI:        (web page for plugin)
Tags:              (tags for the plugin)
Author URI:        (plugin authors site)
Author:            (the plugin's author)
Donate link:       (a link for donating)
Requires at least: (minimum required WP) 
Tested up to:      (tested WP up to ver)
Stable tag:        (plugin's stable ver)
Version:           (plugins current ver)

== Description ==

== Installation ==

== Upgrade Notice ==

== Screenshots ==

== Changelog ==

== Frequently Asked Questions ==

== Donations ==</code></pre>
<p>Aside from wanting to put the &ldquo;Plugin Name&rdquo; section at the top of the file, these different sections can be rearranged in any order, but they all need to be present in order to adhere to WordPress guidelines and pass the <a href="http://wordpress.org/extend/plugins/about/validator/" title="Readme Validator">readme validation</a>. For more information on fleshing out each of these different sections, check out the <a href="http://wordpress.org/extend/plugins/about/readme.txt">standard readme.txt example</a>. Once you get everything pimped and ready, the readme validator will display the good news:</p>
<blockquote><p>Your readme.txt rocks. Seriously. Flying colors.</p></blockquote>
<p>If you don&rsquo;t see this message, you&rsquo;ll get a list of things that need fixed in order to pass validation. The validator is a great tool that makes it easy to put together a proper <code>readme.txt</code> file.</p>
<h4>A few notes on the readme file</h4>
<p>Here are a few notes that I found helpful while creating the <code>readme.txt</code> file:</p>
<ul>
<li>The readme file uses <a href="http://daringfireball.net/projects/markdown/syntax" title="Markdown">markdown</a> for marking up your info with links, lists and so on.</li>
<li>You may use <acronym title="PHP: Hypertext Preprocessor">PHP</acronym> in your readme content (escape with backticks: <code>`&lt;?php</code>&nbsp;<code>?&gt;`</code>)</li>
<li>Use asterisks for *emphasized text*</li>
<li>Use double asterisks for **strong text**</li>
</ul>
<p>As you can see, the <code>readme.txt</code> file is quite flexible, enabling you to customize your plugin&rsquo;s information as provided in the Plugin Repository.</p>
<h3>Prepare the plugin file</h3>
<p>After creating and testing your plugin, you need to give it a license. Here is what the WordPress Codex has to say about it:</p>
<ul>
<li>Your plugin must be <a href="http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses">GPLv2 Compatible</a>.</li>
<li>The plugin most not do anything illegal, or be morally offensive.</li>
<li>You have to actually use the <a href="http://subversion.tigris.org/">subversion</a> repository we give you in order for your plugin to show up on this site. The WordPress Plugins Directory is a hosting site, not a listing site.</li>
<li>The plugin must not embed external links on the public site (like a &ldquo;powered by&rdquo; link) without explicitly asking the user&rsquo;s permission.</li>
<li>If you don&rsquo;t specify a v2-compatible license, what you check in is explicitly GPLv2.</li>
</ul>
<p>Once you&rsquo;ve given your plugin the required license &#8212; either <strong>explicitly</strong> by <em>including</em> the license or <strong>implicitly</strong> by not including <em>any</em> license &#8212; you&rsquo;re ready to get hosted at the Repository. Take a few deep breaths and clear your mind..</p>
<h3>Sign up for access to the Plugin Repository</h3>
<p>Now with your plugin files ready to go, visit the <a href="http://wordpress.org/extend/plugins/add/">Sign-up page</a>, login to your account, and fill out the form with the following information:</p>
<ul>
<li>Plugin Name (required)</li>
<li>Plugin Description (required)</li>
<li>Plugin URL</li>
</ul>
<p>After submitting the form, be prepared to wait awhile to be approved access to the subversion repository. For my plugin, it took around 18 hours to receive a response. Just be patient, if everything looks good, someone will approve your request within a reasonably undefined amount of time. Eventually, you should receive an email with all the information you need to access the <a id="subversion" href="http://wordpress.org/extend/plugins/about/svn/">Subversion Repository</a>. This is where you will upload and store your plugin. The system will use the files and information included in the Subversion Repository to generate the actual web pages that appear in the <a href="http://wordpress.org/extend/plugins/" title="WordPress Plugin Directory">Plugin Directory</a> with all of the other plugins. It usually takes a few minutes for the system to create your plugin&rsquo;s entry, so be patient after uploading. Just as a general reference, I think I waited something like five or ten minutes before seeing my plugin listed in the Plugin Browser.</p>
<h3>Use Subversion software to upload your plugin files</h3>
<p>At this point, you&rsquo;ve been granted access to the <acronym title="Subversion (version control system)">SVN</acronym> repository and are ready to upload your files and call it done (until the next plugin update). To begin this task, familiarize yourself (if necessary) with the basics of <a href="http://ptahdunbar.com/how-to/subversion-demystified-using-wordpress/" title="Subversion Demystified using WordPress">using Subversion with WordPress</a>. </p>
<blockquote><p>There&rsquo;s a LOT to learn about Subversion, but don&rsquo;t let that stop you from making quick use of it to get the job done.</p></blockquote>
<h4>What is Subversion?</h4>
<p>Basically, Subversion is an open-source piece of software that people use to more easily manage files and directories as they change over time. The key thing about Subversion is that it enables you to restore previous versions of your data and understand how things have changed. This &ldquo;time-machine&rdquo; functionality is especially useful for managing things like continually changing source code, and makes managing thousands of plugins <em>much</em> easier.</p>
<h4>How do I use Subversion?</h4>
<p>To use Subversion, you&rsquo;ll need some software. Mac people get it pre-installed with Leopard, and Windows peeps can download the binary installer <a href="http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91" title="Subversion Binary Downloads">here</a>. Keep in mind that, for either operating system, Subversion is something you run through either Terminal (Mac) or the Command Prompt (Win) as a series of commands. As you can imagine, there are a gazillion commands available, but we&rsquo;ll only be needing a select few for our purposes here.</p>
<h4>Please don&rsquo;t make me use the command line!</h4>
<p>If the thought of using the command line to run software makes your stomach turn, you can use Subversion through a graphical interface such as <a href="http://www.versionsapp.com/" title="Versions">Versions</a> for Mac, and/or<br />
<a href="http://tortoisesvn.tigris.org/" title="Tortoise">Tortoise</a> for Windows. I haven&rsquo;t used either of these apps, but they certainly <em>look</em> more inviting than the command prompt, which is what we&rsquo;re rolling with for this tutorial.</p>
<h4>How does it work?</h4>
<p>There are two sets of files we&rsquo;re working with: <strong>local files</strong> (on your computer) and <strong>remote files</strong> (on the server). For each set of files, we want the following directory structure (using my plugin as an example):</p>
<pre><code>root-folder/
	/trunk/
		block-bad-queries.php
		readme.txt
	/branches/
	/tags/</code></pre>
<p>To get started, we&rsquo;ll place our files into the <code>/trunk/</code> directory, and then in the future add new versions to either the <code>/branches/</code> directory (for <em>major</em> updates) or <code>/tags/</code> directory (for <em>minor</em> updates). </p>
<p>Once uploaded, your files are stored in the central plugin repository on WordPress servers. From the repository, anyone can <strong>check out</strong> a copy of your file(s), but <em>only you</em> (the plugin author) have the authority to <strong>check in</strong> new file(s). Using Subversion, any changes made to your local files are mirrored exactly on the server, and eventually reflected in your plugin pages in the WordPress.org plugin directory.</p>
<h4>Add your plugin to the Repository</h4>
<p>Now that we have our files ready and Terminal (or Command Prompt) open, let&rsquo;s wrap this up and upload our files to the Plugin Repository. Here&rsquo;s an overview of what we&rsquo;re going to do:</p>
<ol>
<li>Check out the blank repository (i.e., the empty directory structure)</li>
<li>Add your files to the local <code>/trunk/</code> directory on your computer</li>
<li>Update the repository with copies of your local files</li>
</ol>
<p>Here&rsquo;s how to do it with Mac Terminal, and it&rsquo;s very similar for Windows Command Prompt:</p>
<pre><code>$ mkdir my-local-dir
$ svn co http://svn.wp-plugins.org/your-plugin-name my-local-dir
$ cd my-local-dir/
my-local-dir/$ cp ~/my-plugin.php trunk/my-plugin.php
my-local-dir/$ cp ~/readme.txt trunk/readme.txt
my-local-dir/$ svn add trunk/*
my-local-dir/$ svn ci -m 'add some notes here'</code></pre>
<p>And here are the same commands with comments and returned messages:</p>
<pre><code># create a local folder for your copy of the repository

$ mkdir my-local-dir

# download the empty directory structure to your new folder

$ svn co http://svn.wp-plugins.org/your-plugin-name my-local-dir
&gt; A	my-local-dir/trunk
&gt; A	my-local-dir/branches
&gt; A	my-local-dir/tags
&gt; Checked out revision 11325.

# copy your plugin files to the local trunk directory

$ cd my-local-dir/
my-local-dir/$ cp ~/my-plugin.php trunk/my-plugin.php
my-local-dir/$ cp ~/readme.txt trunk/readme.txt

# register the new files with Subversion

my-local-dir/$ svn add trunk/*
&gt; A	trunk/my-plugin.php
&gt; A	trunk/readme.txt

# update the Repository with the new files

my-local-dir/$ svn ci -m 'add some notes here'
&gt; Adding	trunk/my-plugin.php
&gt; Adding	trunk/readme.txt
&gt; Transmitting file data ..
&gt; Committed revision 11326.

# All done!</code></pre>
<p>That may look like a mouthful, but it&rsquo;s actually only about seven commands, even fewer if you manually create the directory structure and add the local files yourself. You should also keep the following notes in mind if you are new to the whole &ldquo;command line&rdquo; thing:</p>
<ul>
<li>Any line prefixed with a pound sign <code>#</code> is a comment and should not be used as a command.</li>
<li>Lines beginning with a &rdquo;<code>&gt;</code>&rdquo; character indicate a response from the software and should not be used as a command.</li>
<li>All of the specific file and directory names need to be changed to match your own.</li>
<li>The &ldquo;<code>-m 'add some notes here'</code>&rdquo; in the last command is used to add notes for the event &#8212; they may be anything you wish (or none at all).</li>
<li>At the last step, you may be prompted for your username and password, which should be the same as used when logged into the WordPress.org site.</li>
</ul>
<p>After running those commands, your plugin will be in the Repository and ready for the system to automatically create your actual plugin pages as they will appear in the Plugin Directory. This usually takes some time, so grab a drink and kick back for around five to ten minutes. Eventually, you will see your plugin appear on the <a href="http://wordpress.org/extend/plugins/browse/new/" title="Newest WordPress Plugins">Newest Plugins</a> page, and then also at its dedicated page, which will be something like this:</p>
<p><code>http://wordpress.org/extend/plugins/your-new-plugin/</code></p>
<p>Once you get this far, you&rsquo;re golden. There are many other cool things you can do with Subversion to manage and update your plugin. To get started with updating and tagging, check out the <a href="http://wordpress.org/extend/plugins/about/svn/" title="How to Use Subversion">How to Use Subversion</a> in the Plugin Directory. And for even more information on the entire process of adding your plugins, check out the <a href="http://wordpress.org/extend/plugins/about/faq/" title="Developer FAQ">Plugin Developer FAQ</a>.</p>
<h3>Final thoughts..</h3>
<p>Overall, getting my first plugin hosted at the WordPress Plugin Directory was a great learning experience that will make it easy to add other plugins in the future. Hopefully the fruits of my labor will help you when adding your own plugins to the Directory. As always, feel free to chime in with suggestions, questions and concerns about any of the techniques described here. It would be great to hear more about using Subversion (tips, tricks, etc.).</p>
<p>Also, if you are interested, you can see the result of all this work by checking out the <a href="http://wordpress.org/extend/plugins/block-bad-queries/" title="WordPress Plugin: Block Bad Queries (BBQ)">Block Bad Queries (BBQ) Plugin at the Plugin Directory</a>. There&rsquo;s still a few details that need to be added/tweaked, but it&rsquo;s great just having it in there.</p>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2010 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2010/03/add-plugin-to-wordpress-plugin-repository/">Permalink</a> | <a href="http://digwp.com/2010/03/add-plugin-to-wordpress-plugin-repository/#comments">12 comments</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2010/03/add-plugin-to-wordpress-plugin-repository/&title=How to Add Your Plugin to the WordPress Plugin&nbsp;Directory">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a> | Tagged: <a href="http://digwp.com/tag/plugin/" rel="tag">plugin</a>, <a href="http://digwp.com/tag/svn/" rel="tag">svn</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2010/03/add-plugin-to-wordpress-plugin-repository/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Poll Results: How Many Plugins do You&#160;Use?</title>
		<link>http://digwp.com/2010/01/poll-results-how-many-plugins-do-you-use/</link>
		<comments>http://digwp.com/2010/01/poll-results-how-many-plugins-do-you-use/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 07:00:11 +0000</pubDate>
		<dc:creator>Jeff Starr</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[polls]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=1250</guid>
		<description><![CDATA[Back in October, we asked the WordPress community How Many Plugins do You Use?. Several months later, over 1300 people have voted, and here are the results: I find these results to be very interesting. Looking at the data, we see that 63% of voters use 10 plugins or less. Further, a whopping 84% of [...]]]></description>
			<content:encoded><![CDATA[<p>Back in October, we asked the WordPress community <a href="http://digwp.com/2009/10/new-poll-how-many-plugins/" title="New Poll: How Many Plugins do You Use?">How Many Plugins do You Use?</a>. Several months later, over 1300 people have voted, and here are the results:</p>
<p><img src="http://digwp.com/wp-content/blog-images/poll-results-plugins.jpg" title="63% of voters use 10 plugins or less" alt="[ Poll Results: How Many Plugins do You Use? ]" /></p>
<p>I find these results to be very interesting. Looking at the data, we see that <strong>63% of voters use 10 plugins or less</strong>. Further, a whopping 84% of voters use fewer than 20 plugins. Also surprising to see a significant percentage of voters using absolutely no plugins whatsoever. And last but not least, we have the most hardcore WordPress peeps weighing in with over 50 plugins per site! Amazing.</p>
<p><span id="more-1250"></span></p>
<p>There was also some <a href="http://digwp.com/2009/10/new-poll-how-many-plugins/#comments" title="View comment thread">good conversation</a> about the optimal number of plugins and which plugins are absolutely essential. Here are some of the highlights:</p>
<dl>
<dt><a href="http://digwp.com/2009/10/new-poll-how-many-plugins/#comment-2044" title="View Comment">redwall_hp</a></dt>
<dd>[...] reducing plugins isn’t the only route to a screaming-fast site. You can run 20 plugins and still have lightning-fast page serving times if your server is well-configured. Using a RAM cache, switching from Apache to NGINX to save on RAM, and making other server tweaks can make a WordPress site scream.</dd>
<dt><a href="http://digwp.com/2009/10/new-poll-how-many-plugins/#comment-2054" title="View Comment">Jillian Nichols</a></dt>
<dd>In response to those arguing that you can always benefit from Akismet – don’t forget that it’s kind of pointless if your WordPress site doesn’t have any comment forms. I use WordPress to make sites of static content a lot, and there’s no reason to have Akismet installed. In general WordPress out-of-the-box by itself works for me, occasionally I may use one or two plugins.</dd>
<dt><a href="http://digwp.com/2009/10/new-poll-how-many-plugins/#comment-2035" title="View Comment">Alex Denning</a></dt>
<dd>I’m using 9 which is still too many – Akismet, Sitemap, RSS Footer, SEO Comments, Subscribe to comments, W3 Cache, Backup, WP125 and YARRP. Would love to get that figure down below 5 though.</dd>
<dt><a href="http://digwp.com/2009/10/new-poll-how-many-plugins/#comment-2039" title="View Comment">Ryan Rampersad</a></dt>
<dd>I look at the plugins I have enabled every now and then to see if I can disable some of them. I think having 15 plugins is too many but I can’t live without them.</dd>
<dt><a href="http://digwp.com/2009/10/new-poll-how-many-plugins/#comment-2042" title="View Comment">Carlos</a></dt>
<dd>The only plugin I’ve installed is the askimet. I haven’t used any plugins because I’m learning how wordpress works. So if I start depending on plugins it takes the fun out of learning and I don’t find out the capabilities I have of tinkering with wordpress.</dd>
<dt><a href="http://digwp.com/2009/10/new-poll-how-many-plugins/#comment-2045" title="View Comment">Matt</a></dt>
<dd>I’m using 71 plugins at the moment, which I realise is a lot but they don’t hinder performance that much. I’ve fine-tuned most of them.</dd>
<dt><a href="http://digwp.com/2009/10/new-poll-how-many-plugins/#comment-2046" title="View Comment">Chris</a></dt>
<dd>I want maximum functionality and comfort, so I use more than 20 plugins, to turn my WP into what I absolute want to have :-D</dd>
<dt><a href="http://digwp.com/2009/10/new-poll-how-many-plugins/#comment-2089" title="View Comment">Lucian</a></dt>
<dd>I use WordPress as a CMS for my clients. I have an average of 10-20 and I don’t see how is possible to achieve some of necessary functionalities, without or with just few of them. Most of them if are well written don’t affect too much the speed of the website.</dd>
</dl>
<p><strong>Thanks</strong> to everyone who voted! Stay tuned for the next <acronym title="Digging into WordPress">DiW</acronym> poll!&nbsp;:)</p>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2010 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2010/01/poll-results-how-many-plugins-do-you-use/">Permalink</a> | <a href="http://digwp.com/2010/01/poll-results-how-many-plugins-do-you-use/#comments">19 comments</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2010/01/poll-results-how-many-plugins-do-you-use/&title=Poll Results: How Many Plugins do You&nbsp;Use?">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a> | Tagged: <a href="http://digwp.com/tag/polls/" rel="tag">polls</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2010/01/poll-results-how-many-plugins-do-you-use/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Feature/Bury&#160;Comments</title>
		<link>http://digwp.com/2010/01/featurebury-comments/</link>
		<comments>http://digwp.com/2010/01/featurebury-comments/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 14:03:22 +0000</pubDate>
		<dc:creator>Chris Coyier</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=1244</guid>
		<description><![CDATA[In my WordPress Wishes post, I mentioned something I thought would be cool: the ability to &#8220;feature&#8221; or &#8220;bury&#8221; comments. This would be very simple, just a few extra links when viewing the comment moderation list in the Admin area. The result would just be extra CSS class names applied when the comments list is [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://digwp.com/2010/01/wordpress-wishes/">WordPress Wishes post</a>, I mentioned something I thought would be cool: the ability to &#8220;feature&#8221; or &#8220;bury&#8221; comments. This would be very simple, just a few extra links when viewing the comment moderation list in the Admin area. The result would just be extra CSS class names applied when the comments list is output. Utkarsh Kukreti came to the rescue! Here is his <a href="http://wpprogrammer.com/feature-comments-wordpress-plugin/">announcement post</a> and the <a href="http://wordpress.org/extend/plugins/feature-comments/">plugin in the repository.</a> </p>
<p><span id="more-1244"></span></p>
<p>I explained my thinking on all of this in a post on CSS-Tricks: <a href="http://css-tricks.com/curating-comments-threads/">Curating Comment Threads</a>. This has screenshots of how the plugin works, and my first exploration into using it.</p>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2010 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2010/01/featurebury-comments/">Permalink</a> | <a href="http://digwp.com/2010/01/featurebury-comments/#comments">One comment</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2010/01/featurebury-comments/&title=Feature/Bury&nbsp;Comments">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a> | Tagged: <a href="http://digwp.com/tag/comments/" rel="tag">comments</a>, <a href="http://digwp.com/tag/plugin/" rel="tag">plugin</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2010/01/featurebury-comments/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why All-In-One SEO&#160;Deactivates</title>
		<link>http://digwp.com/2010/01/why-all-in-one-seo-deactivates/</link>
		<comments>http://digwp.com/2010/01/why-all-in-one-seo-deactivates/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 15:31:08 +0000</pubDate>
		<dc:creator>Chris Coyier</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=1213</guid>
		<description><![CDATA[In the past I&#8217;ve been pretty pissy about the All-In-One SEO plugin from Michael Torbert automatically deactivating itself after updates. My reasoning: If you update and forget to re-activate (somewhat hard to do since it reminds the shit out of you on every page of the admin), it could cause problems. We are forced to [...]]]></description>
			<content:encoded><![CDATA[<p>In the past I&#8217;ve been pretty pissy about the <a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">All-In-One SEO plugin</a> from <a href="http://michaeltorbert.com/">Michael Torbert</a> automatically deactivating itself after updates. My reasoning:</p>
<ul>
<li>If you update and forget to re-activate (somewhat hard to do since it reminds the shit out of you on every page of the admin), it could cause problems.</li>
<li>We are forced to see Michael&#8217;s large promotional/donation blocks up in our faces above where we can reactivate. I&#8217;m all for plugin authors making as much money as they can, but this seemed to me a bit too far.</li>
<li>I really like the plugin and use it on all my sites and wish it was closer to my version of perfect.</li>
</ul>
<p>But Michael recently stopped by to explain his side, which is interesting, so I thought I&#8217;d update the record, as it were.</p>
<p><span id="more-1213"></span></p>
<p><a href="http://digwp.com/2009/10/rude-things-plugins-can-do/#comment-3005">Michael Torbert</a>:</p>
<blockquote><p>&#8230; a site complained that a new feature damaged their site&#8217;s search engine results placement. They finally admitted that they were incorrect in this assumption, and that the cause was something else unrelated to the plugin, but their original assessment was that a new feature hurt them.</p>
<p>From then on, any update which introduces new options (not just behind the scenes changes) require the user to reactivate the plugin from the settings page, to make sure that they can review the options.</p></blockquote>
<p>I can understand this line of thinking. Forcing the user to visit the options page may be the closest thing to getting them to think about the plugins options as is possible. </p>
<p>Michael is also aware of the potentially negative experience:</p>
<blockquote><p>I&#8217;m aware of how it looks, and I understand that it&#8217;s annoying for some users. I spent a lot of time thinking about it and consulted with a number of other people in the community when contemplating the decision about what to do.<br />
Unfortunately, in this case there was no way to make everyone happy, so I sided with ensuring that nobody could ever say (even if incorrectly as was the case) that new features introduced caused harmful effects to their sites SEO.</p></blockquote>
<h3>Perhaps a better way?</h3>
<p>Let&#8217;s say that the moment you decided to upgrade the plugin to a version with new features, the google bot decided to stroll by your site. The plugin is momentarily deactivated, so the google bot sees lots of differences. The canonical tag is gone, the meta tags are gone, the page title is different. Surely that isn&#8217;t good for SEO.</p>
<p>Perhaps this plugin could save the currently running version number in the wp_options table. Then when an upgrade is performed, it could update this but also save the <strong>previous</strong> version number. Then instead of deactivating itself, it could display a message (rather boldly, like the current message) which explains what is new with the plugin and things you should watch for. </p>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2010 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2010/01/why-all-in-one-seo-deactivates/">Permalink</a> | <a href="http://digwp.com/2010/01/why-all-in-one-seo-deactivates/#comments">26 comments</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2010/01/why-all-in-one-seo-deactivates/&title=Why All-In-One SEO&nbsp;Deactivates">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a> | Tagged: <a href="http://digwp.com/tag/plugin/" rel="tag">plugin</a>, <a href="http://digwp.com/tag/seo/" rel="tag">SEO</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2010/01/why-all-in-one-seo-deactivates/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>WordPress&#160;Wishes</title>
		<link>http://digwp.com/2010/01/wordpress-wishes/</link>
		<comments>http://digwp.com/2010/01/wordpress-wishes/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 15:42:50 +0000</pubDate>
		<dc:creator>Chris Coyier</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[art-direction]]></category>
		<category><![CDATA[wishes]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=1030</guid>
		<description><![CDATA[Happy New Year all! I&#8217;m looking forward to what will hopefully be an awesome year, with WordPress and otherwise. I thought I&#8217;d take the opportunity to wish-o-wish upon a star and toss out some things I think would be really cool to see happen in the WordPress world. Subscribe To Comments, rebuilt for modern WordPress [...]]]></description>
			<content:encoded><![CDATA[<p>Happy New Year all! I&#8217;m looking forward to what will hopefully be an awesome year, with WordPress and otherwise. I thought I&#8217;d take the opportunity to wish-o-wish upon a star and toss out some things I think would be really cool to see happen in the WordPress world. </p>
<p><span id="more-1030"></span></p>
<h3>Subscribe To Comments, rebuilt for modern WordPress</h3>
<p>This is an <a href="http://wordpress.org/extend/plugins/subscribe-to-comments/">incredibly popular plugin</a>, and we use it right here on Digging Into WordPress. It still works with 2.9, but it hasn&#8217;t been updated since 2007-12-14. There is no admin panel to speak of, and the management screen that does exist looks like this:</p>
<p><img src="http://digwp.com/wp-content/blog-images/submanager.png" width="590" height="359" alt="" title="" /></p>
<p>I would love to see this re-built, designed up, and intergrated into the Admin area of WordPress.</p>
<h3>Publishing a page, main action button</h3>
<p>If you publish a lot of <strong>Pages</strong> in WordPress, you can feel me on this one. </p>
<p><img src="http://digwp.com/wp-content/blog-images/newpage.png" width="590" height="146" alt="" title="" /></p>
<h3>Approved comments to all admins</h3>
<p>For posts that Jeff writes, when someone comments, Jeff gets an email and I don&#8217;t. When I write an article and someone comments, I get an email but Jeff doesn&#8217;t. There should be some kind of way (plugin?) where we both get emails about comments. </p>
<h3>Feature/Bury comments</h3>
<p>Alright this one I think would be a HUGELY awesome idea for a plugin. Two more buttons for comment moderation:</p>
<p><img src="http://digwp.com/wp-content/blog-images/featurebury.png" width="590" height="154" alt="" title="" /></p>
<p>All the plugin does is add this information to the comment data somehow. When all the comments are output with wp_list_comments, the only thing that happens is a &#8220;featured&#8221; or &#8220;bury&#8221; class is applied to the list items classes:</p>
<p><img src="http://digwp.com/wp-content/blog-images/commentclass.png" width="590" height="215" alt="" title="" /></p>
<p>Then it is up to the theme designer to integrate styling or functionality with these hook. Imagine special backgrounds for featured comments, or gray-ing down buried comments. I could even see this being in the WordPress core, as a way to really enhance the readability of long comment threads through admin moderation.</p>
<h3>Style-XXXX.css</h3>
<p>I like the <a href="http://wordpress.org/extend/plugins/art-direction/">Art Direction plugin*</a> for it&#8217;s ability to add code into the &lt;head&gt; section for any particular Post or Page. This gives the ability to add CSS or JavaScript unique to a page and all the <a href="http://css-tricks.com/video-screencasts/77-styling-an-individual-article/">possibilities that brings</a>. </p>
<p>Another way to approach this would be to have your theme automatically look for the presence of a CSS file unique to it on the server somewhere. Probably in the format &#8220;style-%PAGE-ID%.css&#8221;.  If this file exists, it appends it into the head and uses it. If not, it doesn&#8217;t. That way styling a post is as simple as chucking in a CSS file of the proper name and writing code.</p>
<p>* Important note about the Art Direction Plugin: it breaks caching plugins. I&#8217;m sure many of you use caching plugins like <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a> or <a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a>. The combo of these plugins will wreak all kinds of havoc on your site. <a href="http://www.w3-edge.com/">Frederick Townes</a> has re-wrote the art direction plugin for my use on CSS-Tricks, and we&#8217;ve tried to submit it to the author be he hasn&#8217;t done anything with it yet.</p>
<h3>Rules for turning comments off</h3>
<p>There is one setting under Settings > Discussion for when you want comments turned off on all Posts/Pages. It&#8217;s fairly common on bigger sites to turn off comments on older content. After a certain amount of time relevant conversation dies off and turns into all spam and makes moderating comments on the site a much bigger job. </p>
<p>However, there might be certain content on a site which may make sense to have different durations for open comments. An opinionated blog article, maybe 2 weeks. A snippet of code, perhaps a year would be better. I think it would be cool to be able to set how long comments stay open. Perhaps based on what page template is in use, or the category applied.</p>
<p>&nbsp;</p>
<p>That&#8217;s all I gots for now. Food for thought.</p>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2010 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2010/01/wordpress-wishes/">Permalink</a> | <a href="http://digwp.com/2010/01/wordpress-wishes/#comments">31 comments</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2010/01/wordpress-wishes/&title=WordPress&nbsp;Wishes">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a> | Tagged: <a href="http://digwp.com/tag/art-direction/" rel="tag">art-direction</a>, <a href="http://digwp.com/tag/wishes/" rel="tag">wishes</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2010/01/wordpress-wishes/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>You Don&#8217;t Need Any Plugins to Stop Comment&#160;Spam</title>
		<link>http://digwp.com/2009/11/dont-need-plugins-to-stop-comment-spam/</link>
		<comments>http://digwp.com/2009/11/dont-need-plugins-to-stop-comment-spam/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 04:18:58 +0000</pubDate>
		<dc:creator>Jeff Starr</dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://digwp.com/?p=858</guid>
		<description><![CDATA[I think one of the biggest WordPress myths is that you need a bunch of plugins to control comment spam. Pretty much all of the posts out there on preventing WordPress comment spam are telling you to install some list of &#8220;must-have&#8221; anti-spam plugins. Some authors insist that you need only a few &#8220;choice&#8221; plugins, [...]]]></description>
			<content:encoded><![CDATA[<p>I think one of the biggest WordPress myths is that you need a bunch of plugins to control comment spam. Pretty much all of the posts out there on preventing WordPress comment spam are telling you to install some list of &ldquo;must-have&rdquo; anti-spam plugins. Some authors insist that you need only a <em>few</em> &ldquo;choice&rdquo; plugins, while others advise you to load up on <em>everything</em> you can get your hands on. Such advice is all well-intentioned, I&rsquo;m sure, but it&rsquo;s all based on the assumption that plugins are actually <em>necessary</em> to control comment spam. <strong>They&rsquo;re not</strong>. WordPress is well-equipped to handle the job all by itself. Plugins may provide <em>additional</em> anti-spam functionality, but they are by no means <em>essential</em> to running a spam-free site.</p>
<p><span id="more-858"></span></p>
<h3>Not even Akismet..</h3>
<p>&ldquo;Sure,&rdquo; you are thinking, &ldquo;you don&rsquo;t need any plugins <em>except</em> for Akismet.&rdquo; I mean, you definitely need <em>that</em> plugin, right? After all, it&rsquo;s <em>included</em> with WordPress, so it&rsquo;s <em>got</em> to be important. <em>Umm</em>, not so much. Yes, there are certain blogs that would probably be wise to take advantage of the additional spam-protection that Akismet might provide, but for 99% of the sites out there, it really isn&rsquo;t necessary.</p>
<h3>WordPress is <strong>strong</strong> enough..</h3>
<p>I think one of the most <em>underrated</em> strengths of WordPress is its built-in anti-spam functionality. With an ounce of knowledge and a pound of forethought, you can configure your WordPress Discussion settings to act as a powerful and effective defense against the evil forces of spam. No plugins required! Let&rsquo;s look at WordPress&rsquo; anti-spam tools and see why they&rsquo;re all you need for a spam-free site..</p>
<dl>
<dt>Default article settings</dt>
<dd>First up, consider your default article settings. If comments <em>aren&rsquo;t</em> enabled, of course you know that you don&rsquo;t need Akismet or any other anti-spam plugin for that matter. If comments <em>are</em> enabled, you can cut out a significant portion of spam by simply disallowing pingbacks and trackbacks. By clicking a single checkbox, all of that crap that comes rolling in as trackback spam will stop. That&rsquo;s a huge step right there, and it will eliminate every plugin that has anything to do with displaying or controlling ping/trackbacks.</dd>
<dd><img src="http://digwp.com/wp-content/blog-images/discussion-settings-08.gif" alt="[ WordPress Default Comment Settings ]" /></dd>
<dt>Comment author must fill out name and e-mail</dt>
<dd>Another smart move, although I think most sites do this one already. By requiring your commentators to at least fill out these two fields (even if it is just dummy data most of the time), you brush off all of those lazy spammers who are picking up the easy ground fruit. Most <em>legitimate</em> commentators don&rsquo;t mind filling in this info because they usually have something they want to say. Lazy spammers, not so much.</dd>
<dt>Users must be registered and logged in to comment</dt>
<dd>If possible given the specific goals of your site, requiring users to log in before commenting is an extremely effective way of preventing comment spam. Although requiring registration will stop a lot of <em>legit</em> comments as well, it is a powerful deterrent to lazy spammers and completely stops automated scripts. Sure, you may still get some trolls stinking up the place, but you would be getting those anyway. Plus, if they&rsquo;re registered, it makes it easier to deal with them.</dd>
<dd><img src="http://digwp.com/wp-content/blog-images/discussion-settings-07.gif" alt="[ WordPress Comment User Settings ]" /></dd>
<dt>Automatically close comments on articles older than XX days</dt>
<dd>This is my favorite WordPress anti-spam feature. For a long time, we needed a plugin to get this done, but now that it is built into WordPress, <em>everyone</em> should be using it. Here at <a href="http://digwp.com/" title="DiW!">Digging into WordPress</a>, we close comments on old posts after 90 days, which seems to be just about the right amount of time. Anything longer than that, and your posts begin to get targeted by spammers and automated spam scripts. Especially if your posts tend to do well and build up a lot of page rank, they will be prime targets for spam as time rolls on.</dd>
<dt>Break comments into pages with XX comments per page</dt>
<dd>This one&rsquo;s not as obvious, but it is also a great way to reduce the incentive to spam your site. Spammers target <em>strong</em> pages for their junk, so by breaking your comments into pages of, say, 20 comments each, you get the best comments on the first page (the same page as the article), and then the typically declining-quality comments on subsequent non-ranking pages. Just make sure you are using meta canonical tags to keep the juice where it should be.</dd>
<dd><img src="http://digwp.com/wp-content/blog-images/discussion-settings-06.gif" alt="[ WordPress Comment Display Settings ]" /></dd>
<dt>E-mail me whenever..</dt>
<dd>Unless your site is literally flooded with comments on every post, getting email alerts for new comments is an excellent way to kill any spam nonsense that gets through. I have done this at <a href="http://perishablepress.com/" title="Perishable Press: Digital Design and Dialogue">Perishable Press</a> for four years now, and you would be hard-pressed to find even <em>one</em> spam comment anywhere on the site.</dd>
<dd><img src="http://digwp.com/wp-content/blog-images/discussion-settings-05.gif" alt="[ WordPress Comment Notification Settings ]" /></dd>
<dt>Before a comment appears an administrator must always approve the comment</dt>
<dd>This could get kind of labor-intensive, but it is a 100%-guaranteed way of completely eliminating spam without using any plugins whatsoever. Zero. Nada. Nil. If you are one of the many millions whose blog receives fairly few comments, this method will keep your comments squeaky clean.</dd>
<dt>Comment author must have a previously approved comment</dt>
<dd>A super-effective strategy that is not as labor-intensive as moderating all comments and not as restrictive as requiring registration. The idea here is that you get a chance to &ldquo;meet&rdquo; each one of your commentators and leave the door open only for the good guys. This technique drastically cuts back on human spam, and virtually eliminates automated spam (unless you don&rsquo;t catch it the first time).</dd>
<dd><img src="http://digwp.com/wp-content/blog-images/discussion-settings-04.gif" alt="[ WordPress Comment Approval Settings ]" /></dd>
<dt>Hold a comment in the queue if it contains XX or more links</dt>
<dd>Lots of comment spam is just crawling with links. A few mindless words and then BAM &#8212; they drop in a few hundred links. Some of the more subtle spammers are less obvious, but still have to unload their payload somehow, so they usually integrate a couple of links within some not-so-carefully crafted text. You know what I&rsquo;m talking about. You definitely want to moderate anything with more than like two or three links. This trick is great for catching some of the craftier spam maggots.</dd>
<dd><img src="http://digwp.com/wp-content/blog-images/discussion-settings-03.gif" alt="[ WordPress Comment Link Settings ]" /></dd>
<dt>Comment Moderation Blacklist and Spam Blacklist</dt>
<dd> A finely tuned WordPress Blacklist list eliminates the need for <em>many</em> types of plugins, scripts, and third-party blacklists. Any words, characters, or IP addresses included in either the Moderation or Spam Blacklist will be used to innoculate your site against any matching comments. Granted, it takes a bit of persistence to build up a good list, but once you do, it is very difficult for spammers to get around it. Note that, unless you are absolutely sure, you should probably stick with the Moderation Blacklist (regular expressions are powerful things!).</dd>
<dd><img src="http://digwp.com/wp-content/blog-images/discussion-settings-02.gif" alt="[ WordPress Comment Moderation Blacklist ]" /></dd>
<dd><img src="http://digwp.com/wp-content/blog-images/discussion-settings-01.gif" alt="[ WordPress Comment SPam Blacklist ]" /></dd>
</dl>
<p>All of these great anti-spam features are like having fifty plugins already built-in to WordPress. With them, you can configure a powerful anti-spam strategy for just about any type of site without <em>any</em> plugins &#8212; not even Akismet.</p>
<h3>Why not just use a bunch of plugins instead?</h3>
<p>Because you don&rsquo;t <em>have</em> to. Plugins require maintenance, frequent updating, etc. Every upgrade of WordPress and/or your plugins opens the door to possible issues and conflicts. Further, plugins consume valuable server resources, affecting the <strong>performance</strong> and consistency of your site. In general, the fewer plugins you have, the easier and more efficient things are going to be. I guess my feeling is, try to take the &ldquo;zen&rdquo; approach as much as possible &#8212; if something isn&rsquo;t absolutely necessary, don&rsquo;t bother with it. More and more, I am realizing that anti-spam plugins simply aren&rsquo;t needed to run an effective and spam-free site.</p>
<p style="border:1px solid #ccc; background: #eee; line-height: 20px; padding: 5px 10px; margin-top: 10px;">Like the article? <a href="http://digwp.com/book"><strong>Get the book!</strong></a></p>
<hr />
<p><small>© 2009 <a href="http://digwp.com">Digging into WordPress</a> | <a href="http://digwp.com/2009/11/dont-need-plugins-to-stop-comment-spam/">Permalink</a> | <a href="http://digwp.com/2009/11/dont-need-plugins-to-stop-comment-spam/#comments">47 comments</a> | Add to
<a href="http://del.icio.us/post?url=http://digwp.com/2009/11/dont-need-plugins-to-stop-comment-spam/&title=You Don&#8217;t Need Any Plugins to Stop Comment&nbsp;Spam">Delicious</a><br />
Categorized: <a href="http://digwp.com/category/plugins/" title="View all posts in Plugins" rel="category tag">Plugins</a>, <a href="http://digwp.com/category/security/" title="View all posts in Security" rel="category tag">Security</a> | Tagged: <a href="http://digwp.com/tag/comments/" rel="tag">comments</a>, <a href="http://digwp.com/tag/spam/" rel="tag">spam</a></small></p>]]></content:encoded>
			<wfw:commentRss>http://digwp.com/2009/11/dont-need-plugins-to-stop-comment-spam/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
	</channel>
</rss>
