<?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>W-Shadow.com &#187; Blogging</title>
	<atom:link href="http://w-shadow.com/blog/category/blogging/feed/" rel="self" type="application/rss+xml" />
	<link>http://w-shadow.com</link>
	<description>Slightly Advanced Computer Stuff (and some magic)</description>
	<lastBuildDate>Thu, 18 Mar 2010 17:04:30 +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>Showing Different Ads To Different Visitors</title>
		<link>http://w-shadow.com/blog/2010/03/09/showing-different-ads-to-different-visitors/</link>
		<comments>http://w-shadow.com/blog/2010/03/09/showing-different-ads-to-different-visitors/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:38:42 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[a/b testing]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Making Money]]></category>
		<category><![CDATA[online advertising]]></category>
		<category><![CDATA[referrer]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1740</guid>
		<description><![CDATA[Just today, I decided to run an impromptu experiment to test if visitors who come from search engines are really more likely to click on ads. It&#8217;s considered  &#8221;common knowledge&#8221; by many bloggers who advise everyone to only show ads to search engine visitors (as a quick Google search will illustrate), but my own AdSense [...]]]></description>
			<content:encoded><![CDATA[<p>Just today, I decided to run an impromptu experiment to test if visitors who come from search engines are really more likely to click on ads. It&#8217;s considered  &#8221;common knowledge&#8221; by many bloggers who advise everyone to only show ads to search engine visitors (as a <a href="http://www.google.com/search?q=show+ads+search+engine+visitors">quick Google search</a> will illustrate), but my own AdSense stats made me doubt that particular piece of advice. Hence the experiment.</p>
<p>So how does one show different ads to different visitors? Normally you could use the excellent <a href="http://planetozh.com/blog/my-projects/wordpress-plugin-who-sees-ads-control-adsense-display/">Who Sees Ads</a> plugin, but that doesn&#8217;t work for my site. I&#8217;m using the <a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP-SuperCache</a> caching plugin which is incompatible with Who Sees Ads.</p>
<p>Instead, I wrote a JavaScript function that can analyse the HTTP referrer to distinguish between four types of visitors :</p>
<ul>
<li>People who accessed your page directly, e.g. by typing in the URL (no referrer).</li>
<li>People who clicked an internal link to access the page (referrer from the same domain).</li>
<li>Search engine visitors; people who arrived via Google or Yahoo! (referrer matches one of the most popular search engines).</li>
<li>External visitors. This is basically a catch-all category for everyone who found your link on a third-party site that&#8217;s not a search engine. For example, this would include external forums and web directories.</li>
</ul>
<p>Here&#8217;s the script :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> get_referrer_type<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ref <span style="color: #339933;">=</span> document.<span style="color: #660066;">referrer</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> ref.<span style="color: #660066;">length</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">0</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">'none'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #003366; font-weight: bold;">function</span> getHostname<span style="color: #009900;">&#40;</span>str<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> re <span style="color: #339933;">=</span> <span style="color: #009966; font-style: italic;">/^(?:f|ht)tp(?:s)?\:\/\/([^\/]+)/im</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> matches <span style="color: #339933;">=</span> str.<span style="color: #660066;">match</span><span style="color: #009900;">&#40;</span> re <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> matches <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">return</span> matches<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> getHostname<span style="color: #009900;">&#40;</span>ref<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> document.<span style="color: #660066;">location</span>.<span style="color: #660066;">host</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">'internal'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #003366; font-weight: bold;">var</span> SE <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'/search?'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'.google.'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'web.info.com'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'search.'</span><span style="color: #339933;">,</span> 
		<span style="color: #3366CC;">'del.icio.us/search'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'soso.com'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'/search/'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'.yahoo.'</span><span style="color: #339933;">,</span>
		<span style="color: #3366CC;">'.ask.'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">var</span> source <span style="color: #000066; font-weight: bold;">in</span> SE<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>ref.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>SE<span style="color: #009900;">&#91;</span>source<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">'search'</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #3366CC;">'external'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The function <code>get_referrer_type()</code> returns one of &#8220;none&#8221;, &#8220;internal&#8221;, &#8220;search&#8221; or &#8220;external&#8221; based on the referrer info.</p>
<p>And here&#8217;s the script that I used to show different  AdSense ads to different people :</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> get_top_adsense_ad<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> default_slot <span style="color: #339933;">=</span> <span style="color: #3366CC;">'1111111111'</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> code <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;'</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'script type=&quot;text/javascript&quot;&gt;&lt;!--<span style="color: #000099; font-weight: bold;">\n</span>google_ad_client = &quot;pub-0000000000000000&quot;;google_ad_slot = &quot;%ad_slot%&quot;;google_ad_width = 336;google_ad_height = 280;<span style="color: #000099; font-weight: bold;">\n</span>//--&gt;&lt;'</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'/script&gt;&lt;'</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;&lt;/'</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'script&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> slots <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #3366CC;">'none'</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">'2222222222'</span><span style="color: #339933;">,</span>
		<span style="color: #3366CC;">'internal'</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">'3333333333'</span><span style="color: #339933;">,</span>
		<span style="color: #3366CC;">'external'</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">'4444444444'</span><span style="color: #339933;">,</span>
		<span style="color: #3366CC;">'search'</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">'5555555555'</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #003366; font-weight: bold;">var</span> ref_type <span style="color: #339933;">=</span> get_referrer_type<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000066; font-weight: bold;">typeof</span><span style="color: #009900;">&#40;</span>slots<span style="color: #009900;">&#91;</span>ref_type<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #3366CC;">'undefined'</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		code <span style="color: #339933;">=</span> code.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'%ad_slot%'</span><span style="color: #339933;">,</span> slots<span style="color: #009900;">&#91;</span>ref_type<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
		code <span style="color: #339933;">=</span> code.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'%ad_slot%'</span><span style="color: #339933;">,</span> default_slot<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">return</span> code<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
document.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span>get_top_adsense_ad<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Unlike <code>get_referrer_type()</code>, this script is optimized for my site/AdSense account. Don&#8217;t try using it without modification <img src='http://w-shadow.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  If you want to use it, replace &#8220;pub-XXXXXXXX&#8221;, the ad slot IDs and ad width/height settings with your own values (you can find them in your AdSense ad code).</p>
<p>As for the experiment, I&#8217;ll post the results sometime next week.</p>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2010/03/09/showing-different-ads-to-different-visitors/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Add Fuzzy Timestamps To Your Blog</title>
		<link>http://w-shadow.com/blog/2010/03/02/fuzzy-timestamp-plugin/</link>
		<comments>http://w-shadow.com/blog/2010/03/02/fuzzy-timestamp-plugin/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 18:54:02 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[fuzzy date]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jQuery plugins]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[time ago]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress plugins]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1717</guid>
		<description><![CDATA[I recently stumbled upon a great jQuery plugin called &#8220;timeago&#8221; that lets you easily create fuzzy timestamps (e.g. &#8220;5 minutes ago&#8221;, &#8220;about 2 months ago&#8221;, etc). So I wrote a quickie WP plugin that you can use to add this neat feature to your blog.
About
Basically, with this plugin you can insert a little piece of [...]]]></description>
			<content:encoded><![CDATA[<p>I recently stumbled upon a great jQuery plugin called &#8220;<a href="http://timeago.yarp.com/">timeago</a>&#8221; that lets you easily create fuzzy timestamps (e.g. &#8220;5 minutes ago&#8221;, &#8220;about 2 months ago&#8221;, etc). So I wrote a quickie WP plugin that you can use to add this neat feature to your blog.</p>
<h3>About</h3>
<p>Basically, with this plugin you can insert a little piece of code into your theme and get nice fuzzy timestamps for your posts/pages (see the <em>Usage</em> section below for details). The timestamps will even update automatically &#8211; that is, if you open a page that has a timestamp saying &#8220;Posted 1 minute ago&#8221; and wait 10 minutes without reloading the page, the timestamp will then say &#8220;Posted 11 minutes ago&#8221;. People who have JavaScript disabled will see normal, non-fuzzy timestamps instead.</p>
<p>Here&#8217;s a screenshot showing several example timestamps :</p>
<p><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-1719" title="Fuzzy timestamps" src="http://w-shadow.com/wp-content/uploads/2010/03/fuzzy-timestamp-screenshots.png" alt="Fuzzy Timestamp plugin screenshots" width="385" height="449" /></p>
<p>Note : The calendar icon is not included with the plugin. The site in the screenshot is using the <a href="http://wordpress.org/extend/themes/inove">iNove</a> theme which adds these cute icons to post timestamps.</p>
<h3>Download</h3>
<p><a href="http://w-shadow.com/files/fuzzy-timestamp.zip"><strong>fuzzy-timestamp.zip</strong></a> (4 KB)</p>
<p>Requirements :</p>
<ul>
<li>WordPress 2.9+</li>
<li>PHP 5</li>
</ul>
<h3>Usage</h3>
<p>Once you&#8217;ve installed and activated the plugin, go to the theme editor and insert <code>&lt;?php do_action('fuzzy_timestamp'); ?&gt;</code> whereever you want to use a fuzzy timestamp. For example, to use fuzzy timestamps on single post pages, open the single.php template file and replace any the WordPress loop; i.e. you can&#8217;t use to change the comment timestamps (yet).</p>
<p>You can also pass a second parameter to the do_action() function to specify the datetime format for the tool-tip that shows up when you mouse over a fuzzy timestamp (people who have JavaScript disabled will also see the timestamp in this format). The parameter syntax is equivalent to that used by the the_time() template function.</p>
<p>For example, if your theme displays the timestamps using code like this :</p>
<p><code>&lt;?php the_time('F jS, Y'); ?&gt;</code></p>
<p>You can add the &#8221;F jS, Y&#8217; bit to the plugin&#8217;s code to use the same datetime format for the tool-tips and the no-JS fallback :</p>
<p><code>&lt;?php do_action('fuzzy_timestamp', 'F jS, Y'); ?&gt;</code></p>
<p>The timeago script also supports i18n/different languages, but I left that feature out to avoid over-complicating the plugin. Let me know if you&#8217;d like to see it added.</p>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2010/03/02/fuzzy-timestamp-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Barest Page Templates Possible</title>
		<link>http://w-shadow.com/blog/2010/02/25/barest-page-template-possible/</link>
		<comments>http://w-shadow.com/blog/2010/02/25/barest-page-template-possible/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 19:48:46 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[page templates]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress template]]></category>
		<category><![CDATA[wordpress themes]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1702</guid>
		<description><![CDATA[Some WordPress themes include custom page templates that let you add a custom layout or some nifty feature to specific pages. But sometimes you need the exact opposite &#8211; a page to be as bare, unadorned, downright plain as possible. No header, no menus, no nothing &#8211; just the HTML that you entered in the [...]]]></description>
			<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-1705" title="Page templates" src="http://w-shadow.com/wp-content/uploads/2010/02/page-curl-html.jpg" alt="" width="169" height="221" />Some WordPress themes include custom page templates that let you add a custom layout or some nifty feature to specific pages. But sometimes you need the exact opposite &#8211; a page to be as bare, unadorned, downright <em>plain</em> as possible. No header, no menus, no nothing &#8211; just the HTML that you entered in the page editor. Luckily, this can also be achieved with page templates.</p>
<p>I recently ran into this problem myself when working on one of my WordPress sites &#8211; I needed a template that wouldn&#8217;t render <em>any</em> of the normal theme elements (header, sidebar, comments, and so on), but still display the page content <em>and</em> let most of the plugins work correctly. So I wrote a bunch of extremely bare-bones page templates for situations like that, which I&#8217;ll share with you today.</p>
<h3>The Bare Necessities</h3>
<p>I created four variants of the &#8220;bare-bones&#8221; page template :</p>
<ul>
<li><strong>Minimal header &amp; footer<br />
</strong>Includes the minimum header and footer HTML necessary to create a (semi-)valid HTML page. Outputs only the page content &#8211; no title or meta info. Theme style sheets are ignored. Content filters are applied, so things like newlines being turned into paragraphs &amp; graphical smileys will work. Most plugins that add their code in the page header, post content or the page footer should work. <strong><br />
</strong></li>
<li><strong>Minimal header &amp; footer</strong><strong> (unfiltered)<br />
</strong>Same as above, except that the page content isn&#8217;t filtered. WordPress will no longer turn newlines into paragraphs or apply any other HTML filters to the page content. Plugins that add stuff to the content will not affect a page that has this template applied.<strong><br />
</strong></li>
<li><strong>No theme HTML<br />
</strong>This template displays <strong>only</strong> the page content. No other HTML will be generated &#8211; not even the opening and closing &lt;html&gt; tags. Automatic paragraphs and other content filters are active.<strong><br />
</strong></li>
<li><strong>No theme HTML (unfiltered)<br />
</strong>Like &#8220;No theme HTML&#8221;, except that content filters are off. This means that you can actually write out the <em>entire</em> page structure &#8211; all the &lt;html&gt;&lt;head&gt;&#8230;&lt;/head&gt;&lt;body&gt;&#8230;&lt;/body&gt;&lt;/html&gt; stuff, complete with custom CSS and JavaScript  &#8211; in the page editor, and have it render correctly.<strong><br />
</strong></li>
</ul>
<h3>Download The Templates</h3>
<p><strong><a href="http://w-shadow.com/files/bare-bones-page-templates.zip">bare-bones-page-templates.zip</a></strong> (2 KB)</p>
<p>This ZIP archive contains all four page templates. To install them, copy the .php files to your theme&#8217;s directory. For example, if your theme files are located in <code>/wp-content/themes/cool_theme/</code>, copy the page templates to that directory. The templates should work with any theme.</p>
<p><em>Caution!</em> <em>There&#8217;s a good chance that some plugins will not work correctly on pages that use one of these templates.</em></p>
<h3>Notes</h3>
<p>To some, this might seem like a needlessly complicated way to get custom/unfiltered HTML into a WordPress page. Why not just put the custom code in the page template itself and be done with it? In my opinion, there are two advantages to general-purpose templates :</p>
<ul>
<li><strong>Universality &amp; reuse</strong> &#8211; say you have several pages of the bare-bones sort on your site and you need to add some kind of customization to all of them. If each of those pages is a separate template, you&#8217;ll need to edit each file separately. This is a lot of work and makes it easier to miss something. If all of them use the same general-purpose minimalistic template, you just need to edit that one template.</li>
<li><strong>Plugins work (mostly)</strong> &#8211; unless you select the &#8220;unfiltered&#8221; version of the templates, most shortcodes and other plugin-dependent features should still work on your &#8220;bare-bones&#8221; pages. This <em>can</em> be done with page-specific templates, but it would require some ugly hacks.</li>
</ul>
<p>Finally, I just love general solutions <img src='http://w-shadow.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><em>Image credit : <a href="http://www.sxc.hu/photo/1209735">ilco @ sxc.hu</a></em></p>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2010/02/25/barest-page-template-possible/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Announcement : Writing More</title>
		<link>http://w-shadow.com/blog/2010/02/15/writing-more/</link>
		<comments>http://w-shadow.com/blog/2010/02/15/writing-more/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 16:37:29 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[News and Rants]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1677</guid>
		<description><![CDATA[Lately, I have noticed that blogging has become harder than it should be. Even when I have a decent post outline ready, I still spend 30 minutes obsessing over every sentence, never sure if it&#8217;s good enough. This kills the &#8220;flow&#8221; and results in a stilted writing style. In short, I&#8217;ve fallen victim to premature [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I have noticed that blogging has become harder than it should be. Even when I have a decent post outline ready, I still spend 30 minutes obsessing over every sentence, never sure if it&#8217;s good enough. This kills the &#8220;flow&#8221; and results in a stilted writing style. In short, I&#8217;ve fallen victim to premature self-editing.</p>
<p>The solution? Writing more, of course <img src='http://w-shadow.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  From now on, I will attempt to consistently post at least three times per week. Preferably four, if that&#8217;s feasible. I may also post more about some topics that I have previously ignored.</p>
<p><em>Sidenote</em> : 3 posts/week may not seem like an awfully ambitious goal, but I feel it&#8217;s right in my case. For me, writing blog posts is a hobby.  I <em>don&#8217;t want to</em> become someone who blogs every day. I want to get better at blogging, not make it the focus of my life.</p>
<p>The rest of this post discusses the <em>why&#8217;s</em> and <em>how&#8217;s</em>, and how it affects you &#8211; the reader.</p>
<h3>Why Write More?</h3>
<p><strong>Practice.</strong> In the immortal words of comrade Lenin : &#8220;Practice, practice and practice again!&#8221; If you ask any experienced writer how to get better at writing, chances are the first advice you&#8217;ll get will be &#8220;write more&#8221;. To improve a skill you must exercise it.</p>
<p><strong>&#8220;Get into the groove&#8221;.</strong> Whether you want it or not, what you do on a day-to-day basis affects how you see the world around you and what opportunities you notice. Right now, I mostly view the world through a programmer&#8217;s lens. When I look at something, I see ways I could automate and simplify it. I see software to build, algorithms to invent, object hierarchies to map. It comes naturally. I want to get the same effect for blogging.</p>
<p><strong>Clean out the idea list. </strong>It&#8217;s good practice to note down any interesting ideas that cross your mind. Then you can refer back to your notes if you ever run out inspiration or hit the writer&#8217;s block. The flip-side of this is that comprehensive idea lists can &#8220;go stale&#8221; &#8211; over time, the great ideas get implemented and the shitty ones get thrown out, but the &#8220;maybe&#8217;s&#8221; stay on the list. Instead of a source of inspiration, the list becomes a wellspring of self-doubt (&#8220;Is this article idea good enough? Should I try this project or just forget about it?&#8221;).</p>
<p>The solution is to find and eliminate stale ideas, either by implementing them or discarding them. This is what I intend to do &#8211; take some of the blog posts and post ideas that have sat on my idea list for a veritable eternity, and actually write them. More room for new ideas.</p>
<p><strong>Cast a wider net.</strong> Finally, covering more topics and moving into new niches increases the probability of accidentally stumbling upon something great.</p>
<h3>Why (This) Blog?</h3>
<p>Now you might wonder : why not use a private notebook or text file instead of a public blog? Alternatively, why not start a new blog? Worry not &#8211; I have several unquestionably convincing arguments and justifications lined up.</p>
<ul>
<li>Doing it &#8220;for real&#8221;. If you want to become a better blogger, it&#8217;s common sense that you should train in a maximally realistic environment &#8211; i.e. posting on an actual blog.</li>
<li>Getting real-world feedback instead of relying on biased self-evaluation. We&#8217;re all lousy critics when dealing with our own texts. If you want an unbiased opinion about something you&#8217;ve written, you need to show it to other people.</li>
<li>Making a public commitment creates accountability and increases motivation.</li>
<li>Finally, I&#8217;m too lazy to set up another blog.</li>
</ul>
<h3>What To Expect</h3>
<p>So what does all this mean for you as a reader?</p>
<p>Believe it or not, but I have a pretty high standard for what is worthy of a blog post. In general, I&#8217;ve tried to stick with only posting stuff that is likely to be of practical use to someone &#8211; namely, <strong>software</strong> (plugins, addons, scripts) and <strong>tutorials</strong>. This can lead to long pauses between new posts when I&#8217;m working on a new software project (these take a long time) or when I run out of tutorial ideas. As a result, my posting schedule is sometimes very messed-up.</p>
<p>To have any hope of consistently meeting the 3-4 posts per week goal, I&#8217;ll need to change the criteria and post things that I normally wouldn&#8217;t. You can expect to see more opinion pieces, software/service reviews and pseudo-philosophical rants. To illustrate what that could be like, here&#8217;s a small selection of my earlier posts that fall into one of those categories :</p>
<ul>
<li><a href="http://w-shadow.com/blog/2010/02/03/quantum-immortality-is-useless/">Quantum Immortality Is Useless</a></li>
<li><a href="http://w-shadow.com/blog/2009/11/20/game-review-love/">Game Review : Love</a></li>
<li><a href="http://w-shadow.com/blog/2009/10/28/what-be-yourself-really-means/">What &#8220;Be Yourself&#8221; Really Means</a></li>
<li><a href="http://w-shadow.com/blog/2009/07/13/teddy-bears-of-climate-change/">The Teddy Bears of Climate Change</a></li>
<li><a href="http://w-shadow.com/blog/2009/07/08/ai-researchers-cant-get-a-break/">AI Researchers Can&#8217;t Get a Break</a></li>
<li>This post itself.</li>
</ul>
<p>Of course, I will still post about WordPress and other tech-related stuff, too.</p>
<h3>Gimme Ideas!</h3>
<p>Got any questions about WordPress/PHP/etc that you&#8217;d like to see answered in the form of a blog post? Leave a comment on this post (or <a href="http://w-shadow.com/contact/">shoot me an email</a>)!</p>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2010/02/15/writing-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Most Popular Words In Plugin Names</title>
		<link>http://w-shadow.com/blog/2010/02/12/top-plugin-names/</link>
		<comments>http://w-shadow.com/blog/2010/02/12/top-plugin-names/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 13:05:04 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[plugin name]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[tag cloud]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress plugins]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1664</guid>
		<description><![CDATA[Behold, I bring you even more WordPress-related statistics! Today : the most popular words in plugin names. Use them to come up with new plugin ideas, figure out which services/features are over- or under-represented in the WP plugin ecosystem, and more.
Here&#8217;s a tag cloud of the names of all plugins listed in the WordPress.org directory [...]]]></description>
			<content:encoded><![CDATA[<p>Behold, I bring you even more WordPress-related statistics! Today : the most popular words in plugin names. Use them to come up with new plugin ideas, figure out which services/features are over- or under-represented in the WP plugin ecosystem, and more.</p>
<p>Here&#8217;s a tag cloud of the names of all plugins listed in the WordPress.org directory (click the image for a higher-res version) :</p>
<p><a href="http://w-shadow.com/wp-content/uploads/2010/02/Plugin-name-tag-cloud-2-filtered.png"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-large wp-image-1665" title="Plugin name tag cloud (filtered)" src="http://w-shadow.com/wp-content/uploads/2010/02/Plugin-name-tag-cloud-2-filtered-490x253.png" alt="Plugin name tag cloud (filtered)" width="490" height="253" /></a><br />
The above tag cloud has been filtered to exclude extremely common words like &#8220;WordPress&#8221; and &#8220;Plugin&#8221;. You can also <a href="http://w-shadow.com/wp-content/uploads/2010/02/Plugin-name-tag-cloud-2-unfiltered.png">view the unfiltered tag cloud</a>.</p>
<p>For those who prefer precise numbers, I&#8217;ve also prepared a Top 30 list of the most popular words. This one&#8217;s not filtered in any way except converting all words to their base form (e.g. &#8220;posts&#8221; -&gt; &#8220;post&#8221;, &#8220;commenting&#8221; -&gt; &#8220;comment&#8221;, etc) :<br />

<style>
#plugin-names-table{
	min-width:260px;
	text-align:left;
	border-collapse:collapse;
}

#plugin-names-table th{
	background:#b9c9fe;
	border-top:4px solid #aabcfe;
	border-bottom:1px solid #fff;
	padding:8px;
}

#plugin-names-table td{
	background:#e8edff;
	border-bottom:1px solid #fff;
	border-top:1px solid transparent;
	padding: 4px 8px 4px 8px;
}

#plugin-names-table tr:hover td{
	background:#d0dafd;
	color:#339;
}

</style></p>
<table id="plugin-names-table">
<thead>
<tr>
<th style="text-align: left;">Word</th>
<th style="text-align: left;">Occurences</th>
</tr>
</thead>
<tbody>
<tr>
<td>WP</td>
<td align='right'>803</td>
</tr>
<tr>
<td>Widget</td>
<td align='right'>506</td>
</tr>
<tr>
<td>WordPress</td>
<td align='right'>465</td>
</tr>
<tr>
<td>Post</td>
<td align='right'>400</td>
</tr>
<tr>
<td>Plugin</td>
<td align='right'>329</td>
</tr>
<tr>
<td>Comment</td>
<td align='right'>290</td>
</tr>
<tr>
<td>Link</td>
<td align='right'>198</td>
</tr>
<tr>
<td>Page</td>
<td align='right'>184</td>
</tr>
<tr>
<td>Tag</td>
<td align='right'>141</td>
</tr>
<tr>
<td>Image</td>
<td align='right'>140</td>
</tr>
<tr>
<td>Twitter</td>
<td align='right'>128</td>
</tr>
<tr>
<td>Category</td>
<td align='right'>128</td>
</tr>
<tr>
<td>Google</td>
<td align='right'>128</td>
</tr>
<tr>
<td>Simple</td>
<td align='right'>114</td>
</tr>
<tr>
<td>List</td>
<td align='right'>100</td>
</tr>
<tr>
<td>Admin</td>
<td align='right'>98</td>
</tr>
<tr>
<td>Search</td>
<td align='right'>97</td>
</tr>
<tr>
<td>Gallery</td>
<td align='right'>95</td>
</tr>
<tr>
<td>User</td>
<td align='right'>86</td>
</tr>
<tr>
<td>Manage</td>
<td align='right'>85</td>
</tr>
<tr>
<td>Custom</td>
<td align='right'>83</td>
</tr>
<tr>
<td>Feed</td>
<td align='right'>79</td>
</tr>
<tr>
<td>Blog</td>
<td align='right'>76</td>
</tr>
<tr>
<td>Random</td>
<td align='right'>75</td>
</tr>
<tr>
<td>Theme</td>
<td align='right'>65</td>
</tr>
<tr>
<td>Login</td>
<td align='right'>64</td>
</tr>
<tr>
<td>Author</td>
<td align='right'>64</td>
</tr>
<tr>
<td>RSS</td>
<td align='right'>64</td>
</tr>
<tr>
<td>Content</td>
<td align='right'>62</td>
</tr>
<tr>
<td>Social</td>
<td align='right'>60</td>
</tr>
<tr>
<td>Video</td>
<td align='right'>60</td>
</tr>
<tr>
<td>Recent</td>
<td align='right'>56</td>
</tr>
<tr>
<td>SEO</td>
<td align='right'>56</td>
</tr>
<tr>
<td>New</td>
<td align='right'>55</td>
</tr>
<tr>
<td>Dashboard</td>
<td align='right'>54</td>
</tr>
<tr>
<td>My</td>
<td align='right'>54</td>
</tr>
<tr>
<td>Easy</td>
<td align='right'>53</td>
</tr>
<tr>
<td>Button</td>
<td align='right'>53</td>
</tr>
<tr>
<td>AJAX</td>
<td align='right'>52</td>
</tr>
<tr>
<td>Code</td>
<td align='right'>51</td>
</tr>
<tr>
<td>Stats</td>
<td align='right'>49</td>
</tr>
<tr>
<td>Form</td>
<td align='right'>48</td>
</tr>
</tbody>
</table>
<p>Just pick any two (or three) words from the above table and you&#8217;re almost guaranteed to get a plausible-sounding plugin name <img src='http://w-shadow.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2010/02/12/top-plugin-names/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Viralogy Offer</title>
		<link>http://w-shadow.com/blog/2010/02/04/the-viralogy-offer/</link>
		<comments>http://w-shadow.com/blog/2010/02/04/the-viralogy-offer/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 16:56:54 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Making Money]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[broken link checker]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[survey results]]></category>
		<category><![CDATA[Viralogy]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1651</guid>
		<description><![CDATA[In this post I will explain what the &#8220;Viralogy.com script&#8221; thing mentioned in the Broken Link Checker survey was all about, discuss the user response and attempt to verbalize my rather unclear thoughts on the issue.
Viralogy Script
About two weeks ago, I received an offer to bundle a social media tracking script from Viralogy with my [...]]]></description>
			<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-1658" title="Viralogy logo" src="http://w-shadow.com/wp-content/uploads/2010/02/Viralogy-logo.png" alt="Viralogy logo" width="232" height="116" />In this post I will explain what the &#8220;Viralogy.com script&#8221; thing mentioned in the <a href="http://w-shadow.com/blog/2010/02/02/broken-link-checker-survey-results/">Broken Link Checker survey</a> was all about, discuss the user response and attempt to verbalize my rather unclear thoughts on the issue.</p>
<h3>Viralogy Script</h3>
<p>About two weeks ago, I received an offer to bundle a social media tracking script from <a href="http://www.viralogy.com/">Viralogy</a> with my Broken Link Checker plugin. This script, which is properly called the &#8220;Dynamic Insights Tracker&#8221;, tracks the flow of visitors and analyses their preferences and social media activity. If installed on your blog, it would record various data about your visitors and report it back to Viralogy. In turn, this information could then be used to present the tracked visitors with a personalized experience on other sites.</p>
<p>Here&#8217;s a simplified example :  say you have a  blog about the Kindle and other e-ink devices, and you&#8217;ve got the tracker script installed. When someone reads an e-book reader review on your blog, the tracker script will take note of that. If the same person later goes on to visit an e-commerce site that deals in a variety of gadgets, the Viralogy API will enable that site to find out that the visitor might be interested in e-book readers, and present them with a dynamically optimized store page that puts the Kindle front and centre.</p>
<p>Naturally, I have been assured that privacy matters a lot to the people at Viralogy Inc, and that nothing untoward would happen to anyone&#8217;s personal information. This seems about as believable as the Google Analytics privacy policy.</p>
<h3>What&#8217;s In It For Me?</h3>
<p>Money. Well, duh.</p>
<p>According to Viralogy, I would receive a small bi-annual payment per each blogger who installs my plugin(s) and enables the script. Given that I still don&#8217;t have any reliable statistics on how many people actually use my plugins, it&#8217;s not really possible to tell how much cash that would amount to. By a very rough estimate, it could be anywhere from $50 to $5000. This uncertainty vexed me.</p>
<h3>What&#8217;s In It For You?</h3>
<p>Not much.</p>
<p>I&#8217;m sure I could make up some plausible-sounding <em>bulshytt</em> about how installing the script demonstrates your gratitude towards the plugin developer, and how having the script installed allows you to express that gratitude without actually giving the dev. any money yourself. And it <em>does</em> sound plausible, now that I think of it. But in the end, the tracker script wouldn&#8217;t give you any direct benefits.</p>
<p>The survey results also show a general lack of enthusiasm for third-party scripts :</p>
<p><strong>Q : I have received an offer to bundle a social media analysis script from Viralogy.com with Broken Link Checker. Your thoughts?</strong></p>
<div id="attachment_1654" class="wp-caption aligncenter" style="width: 500px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><img class="size-full wp-image-1654" title="Viralogy - include or not" src="http://w-shadow.com/wp-content/uploads/2010/02/Viralogy-include-or-not-chart.png" alt="Pie chart : Should I include the script?" width="490" height="150" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">Include the script - 16%, Don&#39;t include the script - 39%</p></div>
<p style="text-align: left;">
<p style="text-align: left;">People who chose &#8220;Other&#8221; mostly asked for more information about the script, or said they would be okay with the script being included if actually enabling it was optional. Of course, it <em>would</em> definitely be optional &#8211; that&#8217;s the only non-evil way to include the script.</p>
<p style="text-align: left;"><strong>Q : If the aforementioned script *was* included, would allow the plugin to install/enable it?</strong></p>
<div id="attachment_1655" class="wp-caption aligncenter" style="width: 355px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><img class="size-full wp-image-1655" title="Viralogy : enable or not" src="http://w-shadow.com/wp-content/uploads/2010/02/Viralogy-enable-or-not-chart.png" alt="Pie chart : Would you enable the Viralogy script?" width="345" height="150" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">Yes - 39%, No - 61%</p></div>
<h3>Conclusions</h3>
<p>Tricky tricky. My gut says &#8220;maybe&#8221;, so let&#8217;s do it the hard way and evaluate the pros &amp; cons of this offer.</p>
<p><strong>Pros : </strong></p>
<ul>
<li>Me : A vaguely defined amount of cash.</li>
<li>Users : None.</li>
<li>Everyone else : The beginnings of personalized web-browsing. Yes, this is a good thing. It&#8217;s also pretty much inevitable in the long-term &#8211; if not by Viralogy, then certainly by the future efforts of Google/Amazon/Microsoft.</li>
</ul>
<p><strong>Cons : </strong></p>
<ul>
<li>Me : Potential for negative publicity. That could even be useful, but <em>meh</em>.</li>
<li>Users : None that I can see. The script would be optional anyway, so those who don&#8217; t like it could simply not enable it. Perhaps a minority would have some ideological objections? Either way, the user response was generally unenthusiastic.</li>
<li>Everyone else : Another tracking script for paranoid Internet users to worry about. Compare with Google Analytics &amp; co.</li>
</ul>
<p>The costs are relatively small, and the benefits are likewise not very impressive. Conclusion : Not worth it.</p>
<p><em>Perhaps some other time.</em></p>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2010/02/04/the-viralogy-offer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Broken Link Checker Survey Results</title>
		<link>http://w-shadow.com/blog/2010/02/02/broken-link-checker-survey-results/</link>
		<comments>http://w-shadow.com/blog/2010/02/02/broken-link-checker-survey-results/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 21:18:10 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[broken link checker]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[survey results]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress plugins]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1632</guid>
		<description><![CDATA[Last week I invited everyone who uses my Broken Link Checker plugin to answer a user feedback survey. The survey consisted of 11 questions covering a number of topics from overall user satisfaction to feature suggestions, monetization options and questions about the user&#8217;s server configuration. In this post I will summarize the results and maybe [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I invited everyone who uses my <a href="http://w-shadow.com/blog/2007/08/05/broken-link-checker-for-wordpress/">Broken Link Checker</a> plugin to answer a user feedback survey. The survey consisted of 11 questions covering a number of topics from overall user satisfaction to feature suggestions, monetization options and questions about the user&#8217;s server configuration. In this post I will summarize the results and maybe add some comments of my own.</p>
<p>In total, there were 761 responses to this survey. I don&#8217;t know what response rate that amounts to (WordPress.org doesn&#8217;t disclose the number of active plugin users even to the author of  the plugin), but the sheer number of responses was very impressive and much more than what I expected <img src='http://w-shadow.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Okay, lets move on to the actual results.</p>
<h3>Q1 : How long have you been using Broken Link Checker?</h3>
<p><strong><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-1633" title="How long have you been using Broken Link Checker?" src="http://w-shadow.com/wp-content/uploads/2010/02/Usage-length-chart.png" alt="Pie chart" width="500" height="150" /></strong></p>
<p>According to the survey, 66% of people who have BLC installed have used it for 6 months or less. Taken alone, this is a rather ambiguous result. When you consider that the first version of Broken Link Checker was released more than two years ago, the large number of recent users can have two wildly different interpretations &#8211; either the plugin has a nasty attrition rate, or it has really gone up in popularity during the last 6 months.</p>
<h3>Q2 : How satisfied are you with the plugin?</h3>
<p><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-1634" title="How satisfied are you with Broken Link Checker?" src="http://w-shadow.com/wp-content/uploads/2010/02/How-satisfied-are-you-chart.png" alt="Bar chart" width="345" height="180" /></p>
<p>So it seems I needn&#8217;t have worried about the attrition rate &#8211; 74% of users said they were either &#8220;satisfied&#8221; or &#8220;very satisfied&#8221; with the plugin. I&#8217;m going to assume this means &#8220;good, but needs a bit of work&#8221;.</p>
<p>Then there&#8217;s the puzzling fact that 12% picked the &#8220;Very dissatisfied&#8221; response to this question. For one, this result is an obvious outlier. But what really puzzles me is this : the majority of users who answered this question with &#8220;Very dissatisfied&#8221; gave the plugin rather <em>good</em> ratings in other parts of the survey (like Q3 below). Some of them even said that &#8220;it&#8217;s already perfect&#8221; when asked what they&#8217;d like to change about the plugin. There were only 5 or 6 users who picked the &#8220;Very dissatisfied&#8221; answer here <em>and</em> gave similarly negative feedback to other questions.</p>
<p>I&#8217;m inclined to think some users just mixed up the &#8220;Very satisfied&#8221; and &#8220;Very dissatisfied&#8221; options. Something more distinct like &#8220;It sucks&#8221;/&#8221;It&#8217;s great&#8221; would probably work better and be less prone to confusion.</p>
<h3>Q3 : How would you rate the plugin in each of these categories?</h3>
<p>The user was also asked to rate Broken Link Checker on a 1-5 scale in five different categories. Here are the results for each category (average vote &amp; answer distribution) :</p>
<ul>
<li><strong>Ease of use</strong> (4.35)<br />
<img class="size-full wp-image-1635 alignnone" title="Ease of use" src="http://w-shadow.com/wp-content/uploads/2010/02/Ease-of-use-chart.png" alt="Bar chart : Ease of use" width="345" height="180" /></li>
<li><strong>Performance</strong> (4.13)<strong><br />
<img class="size-full wp-image-1636 alignnone" title="Performance" src="http://w-shadow.com/wp-content/uploads/2010/02/Performance-chart.png" alt="Bar chart - Performance" width="345" height="180" /></strong></li>
<li><strong>Configurability</strong> (3.85)<strong><br />
<img class="size-full wp-image-1637 alignnone" title="Configurability" src="http://w-shadow.com/wp-content/uploads/2010/02/Configurability-chart.png" alt="Bar chart : Configurability" width="345" height="180" /></strong></li>
<li><strong>Features set</strong> (3.89) <strong><br />
<img class="size-full wp-image-1638 alignnone" title="Feature set" src="http://w-shadow.com/wp-content/uploads/2010/02/Feature-set-chart.png" alt="Bar chart : Feature set" width="345" height="180" /></strong></li>
<li><strong>Documentation</strong> (3.70)<br />
<strong><img class="size-full wp-image-1639 alignnone" title="Documentation" src="http://w-shadow.com/wp-content/uploads/2010/02/Documentation-chart.png" alt="Bar chart : Documentation" width="345" height="180" /></strong></li>
</ul>
<p>Hmm, apparently I&#8217;ll have to buckle down and produce some actual documentation for the plugin. <em>[Insert the standard joke about how programmers hate writing documentation.]</em></p>
<h3>Q4 &amp; Q5 :  What new features would you like to see added? / What other changes and improvements would you make to the plugin?</h3>
<p>In total, I received more than 70 distinct feature suggestions/change requests/bug reports. That&#8217;s too many to list here, so I&#8217;ll only discuss the Top 15 of those that were suggested by more than one person.</p>
<p><strong>1. Keep it simple</strong> (26 users)</p>
<p>A lot of users think the plugin is actually plenty good already and shouldn&#8217;t be bloated with more features. But they&#8217;re still a minority compared to the number of people who do want something changed/improved, so new features (and bug fixes!) there shall be.</p>
<p><strong>2. Fix false positives &amp; false negatives</strong> (22 users)</p>
<p>Okay, I get it &#8211; false positives are bad and annoying. I&#8217;ll do my best to fix them.</p>
<p>However, there is something that needs to be said here : for a plugin like this, it&#8217;s almost impossible to eliminate false positives. Many sites intentionally block any automated scripts (which includes the link checker) from accessing them. As a result, all links to those sites work normally when you click them in your browser but appear broken to the plugin.</p>
<p>Sure, I could probably fool <em>some</em> script-detectors by modifying the plugin to emulate a normal web browser. However, down that path lie nasty programming tricks, reduced performance and an increased potential for bugs. There&#8217;s an ongoing arms race between people writing site-scraping bots  and people trying to stop them, and sometimes it seems the only winning move is not to play.</p>
<p>But I might give it a shot anyway.</p>
<p><strong>3. Email notifications about broken links</strong> (14 users)</p>
<p>It shall be done. Probably in the next major release.</p>
<p><strong>4. Limit how much CPU/memory the plugin can use; fix freezing</strong> (9 users)</p>
<p>This is a rare bug, but it&#8217;s also a highly annoying one. To mitigate it, I&#8217;ll add an option to suspend link checking when the server is overloaded. Maybe some finer-grained controls over how and when the plugin runs would also help.</p>
<p><strong>5. Improve documentation</strong> (8 users)</p>
<p>It shall be done, too &#8211; but don&#8217;t hold your breath. Writing documentation is&#8230; not an exciting pastime.</p>
<p><strong>6. Add an option to recheck individual links</strong> (5 users)</p>
<p>This should be pretty straightforward to add; you can expect to see it added in the next release.</p>
<p><strong>7. Ability to add rel=&#8221;nofollow&#8221; to certain links/posts/users</strong> (5 users)</p>
<p>Eventually.</p>
<p><strong>8. Make fixing broken links easier</strong> (5 users)</p>
<p>There were several suggestions that amounted to this. Specifics ranged from sensible stuff like &#8220;add an option to replace the link with a cached page from web.archive.org&#8221; to things that would require a human-level artificial intelligence, like &#8220;figure out if the site is gone/down temporarily/moved to another address and offer suitable replacement links&#8221;. I&#8217;ll put the more practical suggestions on my to-do list.</p>
<p><strong>9. Check comment links</strong> (4 users)</p>
<p>It shall be done; probably in the next major release or the one after that.</p>
<p><strong>10. Add a way to mark some links as &#8220;broken, but that&#8217;s fine&#8221; </strong>(4 users)</p>
<p>Some users asked for a way to deal with false positives and links that really are broken, but might become live again after some time. The &#8220;Discard&#8221; button that can be used to manually mark the links as &#8220;working&#8221; might be a small step in the right direction, but it&#8217;s too much of a hack. I&#8217;ll look into ways to improve the situation.</p>
<p><strong>11. Check YouTube/DailyMotion videos and other embedded media</strong> (3 users)</p>
<p>This is tricky. Perhaps in a future version.</p>
<p><strong>12. Add an option to run the link checker manually (as opposed to periodically)</strong> (3 users)</p>
<p>It shall be done.</p>
<p><strong>13. Display context in which the (broken) links appear </strong>(3 users)</p>
<p>Eventually.</p>
<p><strong>14. Check links to file sharing sites like RapidShare and MegaUpload</strong> (2 users)</p>
<p>Tricky. See the comment about YouTube and embedded media above.</p>
<p><strong>15. Add an option to edit link text from the plugin&#8217;s screen</strong> (2 users)</p>
<p>Eventually. Could be tricky &#8211; the same link can be used in multiple posts and thus have multiple anchor texts.</p>
<h3>Q6 : If this plugin had a premium version, how much would you be willing to pay for it?</h3>
<p><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-1642" title="How much would you be willing to pay?" src="http://w-shadow.com/wp-content/uploads/2010/02/Premium-price-chart.png" alt="Bar chart : Price" width="345" height="270" />While I&#8217;m not currently planning to create a premium version of Broken Link Checker, it is something that I might consider doing in the future. So I wanted see if there was any interest and how much (if anything) people would be willing to pay for a premium WP plugin.</p>
<p>As could be expected, most WordPress users care not for commercial plugins. Still, it looks like there might be a market for premium plugins in the $1 &#8211; $5 (16%) or the $5 &#8211; $10 range (11%). In total, 39% of users said they&#8217;d be willing to pay <em>something</em> for a premium version.</p>
<h3>Q7 &amp; Q8 : The Viralogy.com script&#8230; thing</h3>
<p>I will discuss this one in a separate post later.</p>
<h3>Q9 : Your PHP version?</h3>
<div id="attachment_1643" class="wp-caption aligncenter" style="width: 355px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><img class="size-full wp-image-1643" title="PHP version" src="http://w-shadow.com/wp-content/uploads/2010/02/PHP-version-chart.png" alt="Pie chart : PHP version" width="345" height="150" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">PHP 5 - 93%, PHP 4 - 7%</p></div>
<p>Well whad&#8217;ya know, WordPress might even be able to ditch PHP 4 support by 2015 or so.</p>
<h3>Q10 : CURL library?</h3>
<div id="attachment_1644" class="wp-caption aligncenter" style="width: 355px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><img class="size-full wp-image-1644 " title="CURL library" src="http://w-shadow.com/wp-content/uploads/2010/02/Curl-chart.png" alt="Pie chart : CURL library installed or not" width="345" height="150" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">Installed 79%, Not installed 21%</p></div>
<h3>Q11 : Your WordPress version?</h3>
<div id="attachment_1645" class="wp-caption aligncenter" style="width: 355px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><img class="size-full wp-image-1645" title="WordPress version chart" src="http://w-shadow.com/wp-content/uploads/2010/02/WordPress-version-chart.png" alt="Bar chart : WordPress versions" width="345" height="210" /><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">WP 2.9.x - 91%</p></div>
<p>Note that this chart is biased by the fact that Broken Link Checker is only officially compatible with WP 2.8 and up. As a result, the chart may not represent the overall distribution of WordPress versions in the blogosphere.</p>
<p>Well, that&#8217;s it for today. Comments?</p>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2010/02/02/broken-link-checker-survey-results/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>What Is Your Blog&#8217;s Participation Rate?</title>
		<link>http://w-shadow.com/blog/2010/01/20/blog-participation-rate/</link>
		<comments>http://w-shadow.com/blog/2010/01/20/blog-participation-rate/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 17:24:20 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[blog comments]]></category>
		<category><![CDATA[conversion rate]]></category>
		<category><![CDATA[list of lists]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[participation rate]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1618</guid>
		<description><![CDATA[If you&#8217;re a blogger, would you kindly run some numbers for me? It will only take a minute, and you might learn something interesting about your site as a result.
First, take the total number of comments made on your blog and divide it by the total number of posts. This will give you the average [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re a blogger, would you kindly run some numbers for me? It will only take a minute, and you might learn something interesting about your site as a result.</p>
<p>First, take the total number of comments made on your blog and divide it by the total number of posts. This will give you the average number of comments per post. Now divide that figure by the number of your feed subscribers. That&#8217;s your blog&#8217;s participation rate &#8211; a rough measure of how engaging your content is to your readers.</p>
<h3>Why Does It Matter?</h3>
<p>Now, you might wonder why should you care about this &#8220;participation rate&#8221; thing. After all, we already have a whole bunch of perfectly good blog metrics &#8211; traffic stats, the number of subscriber, the number of comments, advertising income (if you use advertising on your blog), and so on. Why another one? (If you already know the answer and just want to increase the participation rate, feel free to skip to the &#8220;How To&#8221; section below.)</p>
<p>Let me begin from afar.</p>
<p>You want your subscribers to be active and comment on your posts. This is especially true if you&#8217;re just starting out and your blog isn&#8217;t well-established yet. Comments are valuable because they constitute an information-rich form of feedback, and you absolutely <em>need</em> feedback to improve your blogging skills. There are many sources of feedback, but most of them &#8211; like tracking how your number of visitors or subscribers varies in response to your choice of post topics &#8211; are indirect and often hard to interpret. Comparatively, comments are right in your face (in a good way).</p>
<p>There is also another, more mercantile, benefit to converting passive readers into active participants. A reader who has already actively involved with your site in one way &#8211; like posting comments &#8211; is also more likely to become active in other ways. Like, say, clicking your affiliate links, signing up for your consultation services, or what have you. Even if your blog has goals more noble than making a profit, having active users is still an obvious advantage &#8211; for example, they&#8217;re more likely to &#8220;spread the word&#8221; and gain you new readers. Also, comments function as social proof &#8211; they show new visitors that your blog is worth reading.</p>
<p>So the participation rate is one of the blogging equivalents of <em><a href="http://en.wikipedia.org/wiki/Conversion_rate">conversion rate</a></em>. It tells you &#8211; approximately &#8211; how good you are at converting readers into commenters. You can use it to track how your skills improve over time, and to compare the average &#8220;interestingness&#8221; of two blogs that each have a wildly different number of subscribers/visitors in an unbiased manner.</p>
<h3>How to Attract More Comments and Increase the Participation Rate</h3>
<p>Now that I&#8217;ve explained why having a high participation rate is desirable, you&#8217;ll probably be looking for some tips &amp; tricks to raise it and get more comments on your blog. Well, according to my calculations, I&#8217;m probably not the most qualified person to provide advice on this topic &#8211; this blog has a participation rate of only 6% (it&#8217;s really inflated by plugin-related posts getting a disproportionately huge number of comments). So instead of trying to pull a bunch of plausible-sounding tips out of thin air, I present you with a selection of relevant links :</p>
<ul>
<li><a href="http://www.problogger.net/archives/2006/10/12/10-techniques-to-get-more-comments-on-your-blog/">10 Techniques To Get More Comments on Your Blog</a></li>
<li><a href="http://www.problogdesign.com/general-tips/10-best-plugins-to-get-more-comments/">10 Best Plugins To Get More Comments</a></li>
<li><a href="http://www.instigatorblog.com/5-blog-writing-tips-to-get-more-comments/2006/10/04/">5 Writing Tips To Get More Comments</a></li>
<li><a href="http://www.searchengineguide.com/mack-collier/want-more-comments-on-your-blog.php">Want More Comments On Your Blog?</a></li>
<li><a href="http://freelancefolder.com/5-ways-to-engage-readers-on-your-blog/">5 Ways To Better Engage Readers on Your Blog</a></li>
<li><a href="http://sem-group.net/search-engine-optimization-blog/how-to-get-more-comments-on-your-blog/">How To Get More Comments On Your Blog</a></li>
</ul>
<p><em>(My, <span style="text-decoration: line-through;">bloggers</span> we do love formulaic headlines.)</em></p>
<p>I predict there will be less than 5 comments on this post.</p>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2010/01/20/blog-participation-rate/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Eclipse Link Cloaker 1.1 &#8211; Keywords Into Links, Conversion Tracking And More</title>
		<link>http://w-shadow.com/blog/2009/12/30/eclipse-link-cloaker-1-1-keywords-into-links-conversion-tracking-more/</link>
		<comments>http://w-shadow.com/blog/2009/12/30/eclipse-link-cloaker-1-1-keywords-into-links-conversion-tracking-more/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 20:36:10 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[News and Rants]]></category>
		<category><![CDATA[affiliate marketing]]></category>
		<category><![CDATA[link cloaker]]></category>
		<category><![CDATA[link cloaking]]></category>
		<category><![CDATA[new features]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress plugins]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1573</guid>
		<description><![CDATA[I&#8217;ve just released a major update for Eclipse Link Cloaker &#8211; the premium link cloaking plugin for WordPress.  Version 1.1 includes a fine selection of bug fixes and UI enhancements, as well as two big new features : the ability to automatically turn specified keywords into links, and conversion tracking support. The new version is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just released a major update for <a href="http://eclipsecloaker.com/">Eclipse Link Cloaker</a> &#8211; the premium link cloaking plugin for WordPress.  Version 1.1 includes a fine selection of bug fixes and UI enhancements, as well as two big new features : the ability to automatically turn specified keywords into links, and conversion tracking support. The new version is already available for purchase on <a href="http://eclipsecloaker.com/">EclipseCloaker.com</a>. Existing users will get this upgrade for free.</p>
<p>Here&#8217;s a more detailed overview of the new features.</p>
<h3>Keyword Autolinking</h3>
<p>So how does this &#8220;autolinking&#8221; stuff work? Basically, it lets you take any URL and specify one or more keywords that should be automatically linked to that URL. The plugin will then automatically analyze your posts and turn all instances of the specified keywords into links.</p>
<p><a href="http://w-shadow.com/wp-content/uploads/2009/12/eclipse-cloaker-add-link.png"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-1580" title="Eclipse Cloaker : The Add Link form" src="http://w-shadow.com/wp-content/uploads/2009/12/eclipse-cloaker-add-link-sm.png" alt="" width="479" height="183" /></a></p>
<p>Of course, this feature is completely configurable. You can set the maximum number of automatically inserted links per URL/per post, exclude certain posts, give the autolinked keywords a unique look by applying custom CSS rules, make automatically inserted links open in a new window, and more.</p>
<h3>Conversion Tracking</h3>
<p>Some affiliate programs offer an option to insert custom tracking code on the order confirmation page. With the new version of Eclipse Cloaker, you can use this feature to keep track of how many of the people who click your cloaked links actually buy the product you linked to. You just need to place the tracker code that the plugin generates on the merchant&#8217;s confirmation page, and the conversion stats will start showing up in the <em>Cloaked Links</em> tab.</p>
<div id="attachment_1581" class="wp-caption aligncenter" style="width: 507px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://w-shadow.com/wp-content/uploads/2009/12/eclipse-cloaker-settings-conversion-tracking.png"><img class="size-full wp-image-1581" title="Eclipse Cloaker : Conversion tracking settings" src="http://w-shadow.com/wp-content/uploads/2009/12/eclipse-cloaker-settings-conversion-tracking-small1.png" alt="" width="497" height="273" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">Conversion tracking settings (click for full size image)</p></div>
<p style="text-align: center;">
<div id="attachment_1584" class="wp-caption aligncenter" style="width: 493px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://w-shadow.com/wp-content/uploads/2009/12/eclipse-cloaker-link-stats.png"><img class="size-full wp-image-1584" title="Eclipse Cloaker : Simple link statistics" src="http://w-shadow.com/wp-content/uploads/2009/12/eclipse-cloaker-link-stats-sm.png" alt="" width="483" height="244" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">A sample link statistics chart. Clicks are in yellow, conversions in darker yellow.</p></div>
<h3>Other Improvements</h3>
<ul>
<li><strong>Localization support.</strong> The current release is still English-only, but the necessary code infrastructure for translation support is already in place and a French  translation should be available in the first half of January. If anyone&#8217;s willing to translate the plugin into another language, let me know. You could get a significant discount on the cloaker <img src='http://w-shadow.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>Search box. </strong>The list of cloaked links can get huge and unwieldy quickly when using automatic cloaking. Search box to the rescue! Enter a domain name (partial names also work), a keyword or part of the link&#8217;s name, and the plugin will filter the list to display only the links that match your query. You can also sort the results by name, URL, hits and so on.</li>
<li><strong>Interface improvements. </strong>Version 1.1 also includes a number of small UI changes intended to make the plugin easier to use. For example, the plugin will now automatically select the entire contents of the cloaked URL box when you click it.</li>
<li><strong>Bug fixes. </strong>The combined clicks &amp; conversions chart has been updated to use your blog&#8217;s configured timezone. Invalid pass-through URL parameters are filtered better. The free version&#8217;s .htaccess rules are correctly removed even if it is still active when Eclipse Cloaker is installed.</li>
</ul>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2009/12/30/eclipse-link-cloaker-1-1-keywords-into-links-conversion-tracking-more/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Top 10 Plugin Developers Of 2009</title>
		<link>http://w-shadow.com/blog/2009/12/28/top-10-plugin-developers-of-2009/</link>
		<comments>http://w-shadow.com/blog/2009/12/28/top-10-plugin-developers-of-2009/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 20:44:25 +0000</pubDate>
		<dc:creator>White Shadow</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[News and Rants]]></category>
		<category><![CDATA[lists]]></category>
		<category><![CDATA[plugin authors]]></category>
		<category><![CDATA[plugin development]]></category>
		<category><![CDATA[Top 10]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress plugins]]></category>

		<guid isPermaLink="false">http://w-shadow.com/?p=1558</guid>
		<description><![CDATA[ The end of a year is a time for reflection. A time to look back on your accomplishments, and also a time to give thanks to the people who helped you along the way. So, once again, I&#8217;ve compiled a list of the top WP developers whose plugins have been an immense boon to [...]]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;'  src="http://w-shadow.com/wp-content/uploads/2009/12/wp_xmas_06.png" alt="" title="WordPress and winter and sparkles, oh my!" width="256" height="256" class="alignleft size-full wp-image-1562" /> The end of a year is a time for reflection. A time to look back on your accomplishments, and also a time to give thanks to the people who helped you along the way. So, once again, I&#8217;ve compiled a list of the top WP developers whose plugins have been an immense boon to thousands of bloggers. Thank you, from all of us <img src='http://w-shadow.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>The list is ranked by the number of downloads from the WordPress.org plugin directory. You can also check out the huge <a href="http://w-shadow.com/files/top-1000-plugin-authors.html">Top 1000 table</a> or the <a href="http://w-shadow.com/blog/2008/12/28/top-10-wordpress-plugin-developers/">last year&#8217;s Top 10</a>.</em></p>
<div style='clear:both;'></div>
<p>
<style>
.bluelink {
   /*color: #5581C0 !important;*/
   text-decoration: none;
}
.minhead {
  font-size: 110%; 
}
ol.toplist {
  font: italic 1.3em Georgia, Times, serif;
  color: #999999;
}
ol.toplist li {
  margin-bottom: 4px;
}
ol.toplist span {
  color: black;
  font-style: normal;
  font-size: 0.8em;
  font-family: 'Lucida Grande',Verdana,Arial,Sans-Serif;
}
</style>
</p>
<ol class='toplist'>
<li><span><strong class='minhead'><a href="http://michaeltorbert.com/" class='bluelink'>Michael Torbert</a></strong><br />
	 4 534 779  downloads. Co-author of the most downloaded plugin ever, <a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">All In One SEO Pack</a>.</span></li>
<li><span><strong class='minhead'><a href="http://www.arnebrachhold.de/" class='bluelink'>Arne Brachnold</a></strong><br />
2 968 046 downloads. Author of the wildly popular <a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a> plugin.</span></li>
<li><span><strong class='minhead'><a href="http://lesterchan.net/" class='bluelink'>Lester &#8216;GaMerZ&#8217; Chan</a></strong><br />
2 303 984 downloads. Author of <a href="http://lesterchan.net/portfolio/programming/php/">WP-PageNavi</a> and other cool plugins.</span></li>
<li><span><strong class='minhead'><a href="http://ma.tt/" class='bluelink'>Matt Mullenweg</a></strong><br />
2 194 744 downloads. Matt is the founding developer of WordPress, and has also created many highly acclaimed plugins.</span></li>
<li><span><strong class='minhead'><a href="http://alexrabe.boelinger.com/" class='bluelink'>Alex Rabe</a></strong><br />
1 655 442 downloads. Author of <a href="http://alexrabe.boelinger.com/?page_id=80">NextGEN Gallery</a>.</span></li>
<li><span><strong class='minhead'><a href="http://andy.wordpress.com/" class='bluelink'>Andy Skelton</a></strong><br />
1 508 312 downloads. Author of <a href="http://wordpress.org/extend/plugins/stats/">WordPress.com Stats</a>.</span></li>
<li><span><strong class='minhead'><a href="http://ideasilo.wordpress.com/" class='bluelink'>Takayuki Miyoshi</a></strong><br />
1 365 010 downloads. Author of <a href="http://contactform7.com/">Contact Form 7</a>.</span></li>
<li><span><strong class='minhead'><a href="http://yoast.com/" class='bluelink'>Joost de Valk</a></strong><br />
1 154 124 downloads. Author of <a href="http://yoast.com/wordpress/analytics/">Google Analytics for WP</a> and dozens of other plugins.</span></li>
<li><span><strong class='minhead'><a href="http://ocaoimh.ie/" class='bluelink'>Donncha O Caoimh</a></strong><br />
1 059 256 downloads. Author of <a href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a>, and many more.</span></li>
<li><span><strong class='minhead'><a href="http://www.prelovac.com/vladimir/" class='bluelink'>Vladimir Prelovac</a></strong><br />
845 346	downloads. Author of <a href="http://www.prelovac.com/vladimir/wordpress-plugins/smart-youtube">Smart YouTube</a> and many other plugins.</span></li>
</ol>
<h3>Special Mentions</h3>
<ul>
<li><strong>Most prolific plugin author</strong> : <a href="http://coffee2code.com/">Scott Reily</a> has <strong>44 plugins</strong> hosted on WordPress.org.</li>
<li><strong>Most user ratings</strong> : <a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a> by <a href="http://www.arnebrachhold.de/">Arne Brachnold</a>, with <strong>over 800 votes</strong> and an average rating of 4 &frac12; stars.</li>
<li><strong>Most confusing data point</strong> : <a href="http://blogplay.com/plugin">Sociable</a>. This extremely popular plugin has changed hands three times now, going from Peter Harkins to Joost de Valk, and most recently to the privacy-loving folks of Blogplay.com. I omitted it from the Top 10, but you can still find it in the Top 1000.</li>
</ul>
<p><em>By the way, I&#8217;m #24 on the Top 1000 list. Yay <img src='http://w-shadow.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<hr/>Copyright &copy; 2010 <strong><a href="http://w-shadow.com">W-Shadow.com</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@w-shadow.com so we can take legal action immediately.]]></content:encoded>
			<wfw:commentRss>http://w-shadow.com/blog/2009/12/28/top-10-plugin-developers-of-2009/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
