<?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>blog.forret.com &#187; Wordpress</title>
	<atom:link href="http://blog.forret.com/categories/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.forret.com</link>
	<description>and I mean it</description>
	<lastBuildDate>Tue, 17 Nov 2009 19:00:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The sneaky shall inherit the earth</title>
		<link>http://blog.forret.com/2007/09/the-sneaky-shall-inherit-the-earth/</link>
		<comments>http://blog.forret.com/2007/09/the-sneaky-shall-inherit-the-earth/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 13:39:26 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://blog.forret.com/2007/09/the-sneaky-shall-inherit-the-earth/</guid>
		<description><![CDATA[
&#8220;Wie niet waagt, blijft maagd&#8221;, as they say over here. This guy promises to ask his spam buddies to stop comment-spamming, als long as you put a link to his site. A while ago, he used to promise only &#8220;If you dont like advertising comments please send me an email with your site address to tedirectory(at)yahoo(dot)com [...]


Related posts:<ol><li><a href='http://blog.forret.com/2005/11/avoiding-wiki-spam-in-mediawiki/' rel='bookmark' title='Permanent Link: Avoiding wiki spam in Mediawiki'>Avoiding wiki spam in Mediawiki</a> <small> The great thing about Wiki&#8217;s is that everyone can...</small></li><li><a href='http://blog.forret.com/2006/01/why-spam-opt-out-lists-wont-work/' rel='bookmark' title='Permanent Link: Why spam opt-out lists won&#8217;t work'>Why spam opt-out lists won&#8217;t work</a> <small> I was reading about a technique to discourage spammers:...</small></li><li><a href='http://blog.forret.com/2005/01/dont-unsubscribe-from-spam/' rel='bookmark' title='Permanent Link: Don&#8217;t unsubscribe from spam'>Don&#8217;t unsubscribe from spam</a> <small> Brian McWilliams, author of Spam Kings has published an...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/pforret/1329495149/" title="Photo Sharing"><img width="500" src="http://farm2.static.flickr.com/1030/1329495149_222dd6e6c6.jpg" alt="Ge moet maar durven" height="189" /></a></p>
<p>&#8220;Wie niet waagt, blijft maagd&#8221;, as they say over here. This guy promises to ask his spam buddies to stop comment-spamming, als long as you put a link to his site. A while ago, he used to promise only &#8220;<em>If you dont like advertising comments please send me an email with your site address to tedirectory(at)yahoo(dot)com and <strong>I will not write</strong> on your site</em>&#8221; (cf <a href="http://yahooinsiders.com/blog/the-new-yahoo-bookmarks-and-toolbar-get-a-refresh/">yahooinsiders</a>), but now he seems to have expanded his influence. He is spamming several of my websites continuously. The source seems to be some people over at Global Net Access, Atlanta (via <a href="http://spam.tinyweb.net/comment.php?mode=view&amp;cid=72">spam.tinyweb.net</a>).</p>
<p>Which makes me dream of &#8216;Big Spammer&#8217;, a TV-show where known spammers are followed by a hidden camera for a couple of weeks (<em>&#8217;see how he has been wearing the same shorts for a whole week now&#8217;</em>) after which they are sued, convicted and dragged to jail, while all their computers are crushed by a huge truck. Mmmm, revenge &#8230;</p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2005/11/avoiding-wiki-spam-in-mediawiki/' rel='bookmark' title='Permanent Link: Avoiding wiki spam in Mediawiki'>Avoiding wiki spam in Mediawiki</a> <small> The great thing about Wiki&#8217;s is that everyone can...</small></li><li><a href='http://blog.forret.com/2006/01/why-spam-opt-out-lists-wont-work/' rel='bookmark' title='Permanent Link: Why spam opt-out lists won&#8217;t work'>Why spam opt-out lists won&#8217;t work</a> <small> I was reading about a technique to discourage spammers:...</small></li><li><a href='http://blog.forret.com/2005/01/dont-unsubscribe-from-spam/' rel='bookmark' title='Permanent Link: Don&#8217;t unsubscribe from spam'>Don&#8217;t unsubscribe from spam</a> <small> Brian McWilliams, author of Spam Kings has published an...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2007/09/the-sneaky-shall-inherit-the-earth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>K2 Sidebar modules vs. widgets</title>
		<link>http://blog.forret.com/2007/08/k2-sidebar-modules-vs-widgets/</link>
		<comments>http://blog.forret.com/2007/08/k2-sidebar-modules-vs-widgets/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 14:37:13 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.forret.com/2007/08/k2-sidebar-modules-vs-widgets/</guid>
		<description><![CDATA[I upgraded to the latest version of Wordpress recently, and in the process my K2 Sidebar modules were deleted because now Wordpress has &#8216;widgets&#8217; built in. Having used both systems for a while, I can only conclude: it&#8217;s a big step backward.
K2 Sidebar modules

The K2 theme comes with this plugin installed and it is the [...]


Related posts:<ol><li><a href='http://blog.forret.com/2007/07/test-your-karma-early-in-the-morning/' rel='bookmark' title='Permanent Link: Test your karma early in the morning'>Test your karma early in the morning</a> <small>The &#8220;Wordpress Automatic Upgrade plugin&#8221;&#8220;: if it works flawlessly (like...</small></li><li><a href='http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/' rel='bookmark' title='Permanent Link: Create your own Wordpress plugin'>Create your own Wordpress plugin</a> <small> Wordpress has a really nifty system for adding functionality:...</small></li><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://blog.forret.com/2007/07/test-your-karma-early-in-the-morning/">upgraded to the latest version of Wordpress</a> recently, and in the process my <a href="http://getk2.com/">K2</a> Sidebar modules were deleted because now Wordpress has <em>&#8216;widgets&#8217;</em> built in. Having used both systems for a while, I can only conclude: it&#8217;s a big step backward.</p>
<h4>K2 Sidebar modules</h4>
<p><a href="http://www.flickr.com/photos/pforret/1103843665/" title="Photo Sharing"><img width="500" src="http://farm2.static.flickr.com/1392/1103843665_fcb8cefb67.jpg" alt="k2-sidebar" height="324" /></a></p>
<p>The K2 theme comes with this plugin installed and it is the perfect sidebar framework:</p>
<ul>
<li>it has an HTML, navigation, RSS, calendar &#8230; block and if you really need to do something very specific, there&#8217;s always the PHP block.</li>
<li>per block you can decide on which type of pages it should be displayed. E.g. you can show the navigation only in the static pages, and your recent comments only in the blog section. You can even exclude the showing on individual pages (e.g.: if on one page you need an IFRAME of 800 pixels wide, you can disable all sidebar modules.)</li>
<li>the blocks show the name that you gave them: you don&#8217;t have blocks named &#8216;Text 1&#8242;, &#8216;Text 2&#8242; but e.g. &#8216;About&#8217; and &#8216;Adsense&#8217;. This is much clearer if you want to change the order afterwards.</li>
</ul>
<p>Just compare this: the RSS block for K2 and Widgets:<br />
<a href="http://www.flickr.com/photos/pforret/1103843121/" title="Photo Sharing"><img width="236" src="http://farm2.static.flickr.com/1306/1103843121_50826cd7ee.jpg" alt="k2-sidebar-feed" height="500" /></a> <a href="http://www.flickr.com/photos/pforret/1103848243/" title="Photo Sharing"><img width="240" src="http://farm2.static.flickr.com/1130/1103848243_e722b84928_m.jpg" alt="wp_widgets_rss" height="127" /></a></p>
<p>Which is why I dove into the Wordpress forums to find a way to disable those simplistic widgets and get my original sidebar back. Here is the trick: the <a href="http://schulte.mn/2007/05/04/disable-wordpress-widgets/">disable-wordpress-widgets</a> plugin (also on <a href="http://code.google.com/p/kaytwo/issues/detail?id=284">code.google.com</a> - via <a href="http://wordpress.org/extend/plugins/disable-wordpress-widgets/">wordpress.org</a>) disables the Widgets. I then installed the lastest stable version of <a href="http://getk2.com/download/">K2 (0.9.6)</a> over my Wordpress 2.2.1 and not only are the sidebar modules active again, the sidebar was recovered as it was (from the database, probably). Awesome! Throw out those widgets!</p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2007/07/test-your-karma-early-in-the-morning/' rel='bookmark' title='Permanent Link: Test your karma early in the morning'>Test your karma early in the morning</a> <small>The &#8220;Wordpress Automatic Upgrade plugin&#8221;&#8220;: if it works flawlessly (like...</small></li><li><a href='http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/' rel='bookmark' title='Permanent Link: Create your own Wordpress plugin'>Create your own Wordpress plugin</a> <small> Wordpress has a really nifty system for adding functionality:...</small></li><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2007/08/k2-sidebar-modules-vs-widgets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test your karma early in the morning</title>
		<link>http://blog.forret.com/2007/07/test-your-karma-early-in-the-morning/</link>
		<comments>http://blog.forret.com/2007/07/test-your-karma-early-in-the-morning/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 09:55:29 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.forret.com/2007/07/test-your-karma-early-in-the-morning/</guid>
		<description><![CDATA[The &#8220;Wordpress Automatic Upgrade plugin&#8221;&#8220;: if it works flawlessly (like when I used it on video.forret.com), an amazing tool! It upgrades your Wordpress installation to the latest version, while taking a backup of files and database, and disables your plugins right before and re-enables them right after.
 However, when it doesn&#8217;t work as expected (like [...]


Related posts:<ol><li><a href='http://blog.forret.com/2007/08/k2-sidebar-modules-vs-widgets/' rel='bookmark' title='Permanent Link: K2 Sidebar modules vs. widgets'>K2 Sidebar modules vs. widgets</a> <small>I upgraded to the latest version of Wordpress recently, and...</small></li><li><a href='http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/' rel='bookmark' title='Permanent Link: Create your own Wordpress plugin'>Create your own Wordpress plugin</a> <small> Wordpress has a really nifty system for adding functionality:...</small></li><li><a href='http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/' rel='bookmark' title='Permanent Link: url.rewrite for Wordpress on Lighttpd'>url.rewrite for Wordpress on Lighttpd</a> <small>This blog now runs on a Lighttpd (Lighty) webserver instead...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>The &#8220;<a href="http://techie-buzz.com/wordpress-plugins/wordpress-automatic-upgrade-plugin.html">Wordpress Automatic Upgrade plugin&#8221;</a>&#8220;: if it works flawlessly (like when I used it on <a href="http://video.forret.com">video.forret.com</a>), an amazing tool! It upgrades your Wordpress installation to the latest version, while taking a backup of files and database, and disables your plugins right before and re-enables them right after.</p>
<p><a href="http://www.flickr.com/photos/pforret/871481719/" title="Photo Sharing"><img style="float: right" src="http://farm2.static.flickr.com/1396/871481719_ae510f35af_m.jpg" width="160" height="240" alt="Stilleven (2)" /></a> However, when it doesn&#8217;t work as expected (like yesterday morning here on <a href="http://blog.forret.com">blog.forret.com</a>), it can be painful. In my case: my <a href="http://getk2.com">K2</a> template was broken after the upgrade. There is no &#8216;revert&#8217;/'rollback&#8217; function, so you just have to dive in the K2 PHP code and disable the odd line here and there. Once you&#8217;re done, you realize that the new version of <a href="http://wordpress.org">Wordpress</a> now has Widgets pre-installed, and the K2 Sidebar modules you so carefully handcrafted are gone. So you have to frantically look for the right widgets to do rebuild your sidebar, like the <a href="http://www.bencoleman.co.uk/">Flickr Badge Widget</a>,the <a href="http://navyroad.com/wordpress-plugins/nrs-folding-pages-widget/">Folding Pages Widget</a>, the <a href="http://ottodestruct.com/">Executable PHP widget and Google Adsense Widget</a>. Then you nervously look for the right HTML code for your <a href="http://www.adhese.com">Adhese</a> ads, and try to get the widgets in the right order. And only then you relax to drink your first coffee of the day (it was 6AM). </p>
<p>Thanks for the tip, <a href="http://pascal.vanhecke.info">Pascal</a> <img src='http://blog.forret.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2007/08/k2-sidebar-modules-vs-widgets/' rel='bookmark' title='Permanent Link: K2 Sidebar modules vs. widgets'>K2 Sidebar modules vs. widgets</a> <small>I upgraded to the latest version of Wordpress recently, and...</small></li><li><a href='http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/' rel='bookmark' title='Permanent Link: Create your own Wordpress plugin'>Create your own Wordpress plugin</a> <small> Wordpress has a really nifty system for adding functionality:...</small></li><li><a href='http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/' rel='bookmark' title='Permanent Link: url.rewrite for Wordpress on Lighttpd'>url.rewrite for Wordpress on Lighttpd</a> <small>This blog now runs on a Lighttpd (Lighty) webserver instead...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2007/07/test-your-karma-early-in-the-morning/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>url.rewrite for Wordpress on Lighttpd</title>
		<link>http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/</link>
		<comments>http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 13:12:12 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/</guid>
		<description><![CDATA[This blog now runs on a Lighttpd (Lighty) webserver instead of Apache, and this means the configuration for &#8216;pretty URLs&#8217; or permalinks of Wordpress doesn&#8217;t work like it used to.
(As you might have noticed, I use permalinks like /2007/02/this-is-permalink/)
Whereas Wordpress can automatically adapt the Apache .htacccess file to something like
&#60;IfModule mod_rewrite.c&#62;
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond [...]


Related posts:<ol><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li><li><a href='http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/' rel='bookmark' title='Permanent Link: Migration to Wordpress: me vs Murphy'>Migration to Wordpress: me vs Murphy</a> <small>Some of you might have noticed my recent domain dance:...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm1.static.flickr.com/36/122571807_97bd810dd7_t.jpg" style="float: right" alt="Lighty" />This blog now runs on a <a href="http://www.lighttpd.net/">Lighttpd</a> (Lighty) webserver instead of Apache, and this means the configuration for &#8216;pretty URLs&#8217; or permalinks of <a href="http://wordpress.org">Wordpress</a> doesn&#8217;t work like it used to.<br />
(As you might have noticed, I use permalinks like <em>/2007/02/this-is-permalink/</em>)</p>
<p>Whereas Wordpress can automatically adapt the Apache .htacccess file to something like<br />
<code>&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
&lt;/IfModule&gt;</code><br />
it does not do anything automatically for your Lighty .conf configuration file (which is logical, since an application should not be allowed to mess with a central config file).<br />
<span id="more-706"></span><br />
So what you have to use is:</p>
<ol>
<li>a Wordpress blog installed in the root of your (sub-) domain:<br />
<code>$HTTP["host"] =~ "{yourdomain}" {<br />
    var.app  = "{yourdomain}"<br />
    accesslog.filename = base + "/logs/" + app + ".access.log"<br />
    server.errorlog = base + "/logs/" + app + ".error.log"<br />
    load php app<br />
    url.rewrite = (<br />
        "^/(wp-.+).*/?" => "$0",<br />
        "^/(sitemap.xml)" => "$0",<br />
        "^/(xmlrpc.php)" => "$0",<br />
        "^/(.+)/?$" => "/index.php/$1"<br />
        )<br />
}</code>
</li>
<li> a Wordpress blog installed in a subfolder (e.g. /blog/)<br />
<code>$HTTP["host"] =~ "{yourdomain}" {<br />
    var.app = "{yourdomain}"<br />
    accesslog.filename = base + "/logs/" + app + ".access.log"<br />
    server.errorlog = base + "/logs/" + app + ".error.log"<br />
    load php app<br />
    url.rewrite = (<br />
        "^/?$" => "/blog/index.php",<br />
        "^/blog/(wp-.+)$" => "$0",<br />
        "^/blog/xmlrpc.php" => "$0",<br />
        "^/blog/sitemap.xml" => "$0",<br />
        "^/blog/(.+)/?$" => "/blog/index.php/$1"<br />
        )<br />
}</code>
</li>
</ol>
<p>The xmlrpc.php rule is necessary for external access (like, publishing from del.icio.us or Flickr), and the sitemap.xml file is something for Google Sitemaps.</p>
<p>For those stubborn visitors who always precede their URLs with www, you can also add a redirect:<br />
<code><br />
$HTTP["host"] =~ "www.blog.forret.com" {<br />
url.redirect = ( ".*" => "http://blog.forret.com")<br />
}<br />
</code></p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li><li><a href='http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/' rel='bookmark' title='Permanent Link: Migration to Wordpress: me vs Murphy'>Migration to Wordpress: me vs Murphy</a> <small>Some of you might have noticed my recent domain dance:...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Create your own Wordpress plugin</title>
		<link>http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/</link>
		<comments>http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/#comments</comments>
		<pubDate>Tue, 09 Jan 2007 19:18:16 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/</guid>
		<description><![CDATA[
Wordpress has a really nifty system for adding functionality: the WP plugins. There are a ton of them around, but if you have some knowledge of SQL and PHP you can make your own plugins! You of course have to know how to display stuff, how to add a configuration panel to the Options or [...]


Related posts:<ol><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li><li><a href='http://blog.forret.com/2007/07/test-your-karma-early-in-the-morning/' rel='bookmark' title='Permanent Link: Test your karma early in the morning'>Test your karma early in the morning</a> <small>The &#8220;Wordpress Automatic Upgrade plugin&#8221;&#8220;: if it works flawlessly (like...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/pforret/351892220/" title="Photo Sharing"><img src="http://farm1.static.flickr.com/126/351892220_a44ce6173d.jpg" width="500" height="208" alt="wp-plugins" /></a><br />
Wordpress has a really nifty system for adding functionality: the <a href="http://codex.wordpress.org/Plugins">WP plugins</a>. There are a ton of them around, but if you have some knowledge of SQL and PHP you can make your own plugins! You of course have to know how to display stuff, how to add a configuration panel to the Options or Manage tab, &#8230; When I read the code of some well-developed plugins, I thought: it should be easy to come up with a Wordpress plugin template generator. So that&#8217;s what I did: here&#8217;s the first (far from complete) version of the <a href="http://web.forret.com/tools/wp-plugin.asp">Wordpress Plugin Generator</a>!</p>
<p>Currently it supports the following features:</p>
<ol>
<li>return the result as
<ul>
<li>REPLACE TAG: replace all occurences of <code>&lt;!--myplugin_tag--&gt;</code> by  a certain text/html</li>
<li>AFTER/BEFORE POST: add after/before each post (e.g. for tags, DiggMe buttons, Adsense, &#8230;)</li>
<li>CALL FUNCTION: call the <code>myplugin_showhtml()</code> function (e.g. in sidebar.php)</li>
<li>BY PLUGIN PAGE: the result is displayed when the <code>wp-content/plugins/myplugin/myplugin.php</code> page is called (e.g. for results in XML or TXT format)</li>
</ul>
</li>
<li>add the result only to posts, pages, search and/or archive pages</li>
<li>add a config page to the &#8220;Options&#8221; or the &#8220;Manage&#8221; panel<br />
<small>(here I need to do some work to create a good way to generate the display code and the form processing &#8211; showing and changing parameters of your plugin)</small></li>
<li>add optional GPL license text</li>
</ol>
<p>I of course try to use the guidelines published by <a href="http://codex.wordpress.org/Writing_a_Plugin">Wordpress</a> and <a href="http://mattread.com/projects/wp-plugins/installer-the-plugin/">Installer</a>. I&#8217;ll write something about that later.</p>
<p><span id="more-616"></span><br />
A first plugin that I made myself with the wizard is <em>pfmirror</em>. What does this (mini) plugin do? It grabs an external HTML page, replaces all relative links by absolute links (e.g. &#8220;<code>images/test.jpg</code>&#8221; becomes &#8220;<code>http://www.example.com/some/path/images/test.jpg</code>&#8220;) and parses only the part between &lt;body&gt; and &lt;/body&gt; It then returns the remaining HTML. So I need to execute:<br />
<code>echo pfmirror_showhtml("http://www.example.com/some/path/page.html")</code> (either in a PHP file of the theme, or by using the RunPHP plugin, in any post page).<br />
Obvious improvements that I could do:<br />
- more flexible parsing (show only everything between pattern#1 and pattern #2)<br />
- disable JavaScripts (they mostly don&#8217;t work properly when transported anyway)<br />
But most of all, it was a proof of concept of the template generator.</p>
<p>Any suggestions for improving my <a href="http://web.forret.com/tools/wp-plugin.asp">WP-plugin wizard</a>?</p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li><li><a href='http://blog.forret.com/2007/07/test-your-karma-early-in-the-morning/' rel='bookmark' title='Permanent Link: Test your karma early in the morning'>Test your karma early in the morning</a> <small>The &#8220;Wordpress Automatic Upgrade plugin&#8221;&#8220;: if it works flawlessly (like...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My 10 essential Wordpress plugins</title>
		<link>http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/</link>
		<comments>http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/#comments</comments>
		<pubDate>Sun, 07 Jan 2007 21:53:58 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/</guid>
		<description><![CDATA[
Since I&#8217;ve been doing quite a lot of Wordpress blog upgrading recently, I&#8217;ve been diving into its plugins a lot. There are lots of them around and I have grown a liking to some of them.
Here&#8217;s a list of plugins that I&#8217;ve found to be essential to any of my WP installations:

WP Installer
what: install plugins/themes [...]


Related posts:<ol><li><a href='http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/' rel='bookmark' title='Permanent Link: Create your own Wordpress plugin'>Create your own Wordpress plugin</a> <small> Wordpress has a really nifty system for adding functionality:...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li><li><a href='http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/' rel='bookmark' title='Permanent Link: Migration to Wordpress: me vs Murphy'>Migration to Wordpress: me vs Murphy</a> <small>Some of you might have noticed my recent domain dance:...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/pforret/339867739/" title="Photo Sharing"><img style="float: right" src="http://farm1.static.flickr.com/128/339867739_95e87fb3e3_m.jpg" width="240" height="222" alt="Xampled: samples from Donna Summer" /></a><br />
Since I&#8217;ve been doing quite a lot of Wordpress blog upgrading recently, I&#8217;ve been diving into its plugins a lot. There are lots of them around and I have grown a liking to some of them.<br />
Here&#8217;s a list of plugins that I&#8217;ve found to be essential to any of my WP installations:</p>
<ol>
<li><b>WP Installer</b><br />
what: install plugins/themes without using FTP<br />
why: makes installing and maintaining plugins really easy, even behind a firewall. This is the first plugin I always install.<br />
where: <a href="http://mattread.com/projects/wp-plugins/installer-the-plugin/">mattread.com</a><br />
install: <a href="http://mattread.com/download/installer-04">installer-04.zip</a>
</li>
<li><b>Akismet</b><br />
what: delete comment and trackback spam &#8211; not perfect but indispensable &#8211; pre-installed on <a href="http://www.dreamhost.com/r.cgi?166410">Dreamhost accounts</a><br />
why: save you time and annoyance by filtering out the real comments<br />
site: <a href="http://akismet.com/">akismet.com/</a><br />
install: <a href="http://downloads.wordpress.org/plugin/akismet.zip">akismet.zip</a> (v1.2.1)
</li>
<li><b>WP Cache</b><br />
what: keep cached copies of your pages &#8211; pre-installed on <a href="http://www.dreamhost.com/r.cgi?166410">Dreamhost accounts</a><br />
why: speeds up your site<br />
site: <a href="http://mnm.uib.es/gallir/wp-cache-2/">mnm.uib.es</a><br />
install: <a href="http://mnm.uib.es/gallir/wp-content/wp-cache-2-0-21.zip">wp-cache-2-0-21.zip</a>
</li>
<li><b>Brian&#8217;s Latest Comments</b><br />
what: displays your recent comments in a nicer format<br />
why: gives a better view of the popular articles<br />
site: <a href="http://meidell.dk/archives/category/wordpress/latest-comments/">meidell.dk</a><br />
install: <a href="http://brianslatestcomments.googlecode.com/svn/trunk/brianslatestcomments.zip">brianslatestcomments.zip</a>
</li>
<li><b>K2 Theme</b><br />
what: more than just a theme, includes a WYSIWYG sidebar and customisable header image<br />
why: if you can live with its looks, the most powerful theme available<br />
site: <a href="http://getk2.com/">getk2.com</a><br />
install: <a href="http://getk2.com/files/k2-091.zip">k2-091.zip</a>
</li>
<li><b>MightyAdsense</b><br />
what: manage your Google Adsense code insertion<br />
why: easily decide what ad goes where without modifying your theme<br />
site: <a href="http://mightyhitter.com/main-page/plugins/mightyadsense/">mightyhitter.com</a><br />
install: <a href="http://mightyhitter.com/wp-content/uploads/2006/09/mightyadsense41.zip">mightyadsense41.zip</a>
</li>
<li><b>RunPHP</b><br />
what: run PHP code inside your blog posts<br />
why: create pages that actually do stuff<br />
site: <a href="http://www.nosq.com/blog/2006/01/runphp-plugin-for-wordpress/">www.nosq.com</a><br />
install: <a href="http://www.nosq.com/download/runPHP2.1b.zip">runPHP2.1b.zip</a>
</li>
<li><b>Popularity contest</b><br />
what: keep track of # views, comments &#8230; of all your posts<br />
why: makes it easy to show your popular posts<br />
site: <a href="http://alexking.org/projects/wordpress/readme?project=popularity-contest">alexking.org</a><br />
install: <a href="http://alexking.org/projects/wordpress/plugins/popularity-contest.zip">popularity-contest.zip</a> v1.2.1
</li>
<li><b>Ultimate Tag Warrior</b><br />
what: add tags/keywords to your posts (Technorati compatible), show related posts based on those<br />
why: last tagging plugin you&#8217;ll ever need<br />
site: <a href="http://www.neato.co.nz/ultimate-tag-warrior/">neato.co.nz</a><br />
install: <a href="http://www.neato.co.nz/plugins/UTW3-141592WP2.zip">UTW3-141592WP2.zip</a>
</li>
<li><b>Google Sitemap generator</b><br />
what: creates a Google Sitemap XML file automatically<br />
why: because you need it, and you won&#8217;t do it manually anyway<br />
site: <a href="http://www.arnebrachhold.de/2005/06/05/google-sitemaps-generator-v2-final">arnebrachhold.de</a><br />
install: <a href="http://www.arnebrachhold.de/redir/sitemap-dl-en/">sitemap.zip</a> v2.7
</li>
</ol>
<p><a href="http://www.flickr.com/photos/pforret/339867738/" title="Photo Sharing"><img style="float: right" src="http://farm1.static.flickr.com/127/339867738_02345bbf25_m.jpg" width="237" height="240" alt="Samples from Funky Drummer (James Brown)" /></a><br />
And some nice to have&#8217;s:</p>
<ul>
<li><a href="http://eightface.com/wordpress/flickrrss/">FlickrRSS</a>: show Flickr photos in your sidebar</li>
<li><a href="http://www.gravatar.com/">Gravatar</a>: show avatars for commenters (currently under reconstruction)</li>
<li><a href="http://seanmcb.com/projects/wordpress/sparkstats">Sparkstats</a>: show blog and comment activity</li>
<li><a href="http://gdymov.com/inbound-links-backlinks-wordpress-plugin/">Backlinks</a>: show incoming links trend</li>
<li><a href="http://www.dagondesign.com/articles/sitemap-generator-plugin-for-wordpress/">Dagon Sitemap</a>: list all posts per category (index or sitemap)</li>
</ul>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/' rel='bookmark' title='Permanent Link: Create your own Wordpress plugin'>Create your own Wordpress plugin</a> <small> Wordpress has a really nifty system for adding functionality:...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li><li><a href='http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/' rel='bookmark' title='Permanent Link: Migration to Wordpress: me vs Murphy'>Migration to Wordpress: me vs Murphy</a> <small>Some of you might have noticed my recent domain dance:...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WP-Cache speeds up your Wordpress!</title>
		<link>http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/</link>
		<comments>http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/#comments</comments>
		<pubDate>Wed, 20 Sep 2006 11:09:23 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/</guid>
		<description><![CDATA[Ever wondered if you needed a caching plugin for your Wordpress blog? You have the impression your blog&#8217;s homepage takes forever to load? You hate it when your friends call your blog &#8216;interesting, but so slow&#8217;?
Well, I did, so I wanted to find out just how slow it was. I set up an MRTG monitoring [...]


Related posts:<ol><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li><li><a href='http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/' rel='bookmark' title='Permanent Link: Create your own Wordpress plugin'>Create your own Wordpress plugin</a> <small> Wordpress has a really nifty system for adding functionality:...</small></li><li><a href='http://blog.forret.com/2006/02/migrating-from-blogger-to-wordpress-20/' rel='bookmark' title='Permanent Link: Migrating from Blogger to Wordpress 2.0'>Migrating from Blogger to Wordpress 2.0</a> <small>Ever since I saw the new &#8216;import from Blogger&#8217; functionality...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Ever wondered if you needed a caching plugin for your <a href="http://www.wordpress.org">Wordpress</a> blog? You have the impression your blog&#8217;s homepage takes forever to load? You hate it when your friends call your blog &#8216;interesting, but so slow&#8217;?</p>
<p>Well, I did, so I wanted to find out just how slow it was. I set up an <a href="http://oss.oetiker.ch/mrtg/">MRTG</a> monitoring system on my <a href="http://www.dreamhost.com/r.cgi?166410">Dreamhost</a> account. First thing I did was to add 2 tests:</p>
<ul>
<li>the download time of my blog&#8217;s home page (which involves quite some PHP/MySQL)</li>
<li>the download time of a small CSS file on the same site, which involves no PHP</li>
</ul>
<p>Let&#8217;s take a look at the CSS file first:<br />
<a href="http://www.flickr.com/photos/pforret/248146088/" title="Photo Sharing"><img src="http://static.flickr.com/97/248146088_32f0e60117.jpg" width="500" height="135" alt="Getting a CSS file from my site: always fast" /></a><br />
The green line is my 500ms treshold: everything above it is too slow.You see that most of the time my CSS file can be downloaded faster than that (actually the average is around 250ms). There is the occasional peak, which might be caused by temporary network congestion or a server busy doing other stuff &#8211; it IS a shared hosting after all.</p>
<p>Now compare this to the time it takes to get my homepage:<span id="more-476"></span><br />
<a href="http://www.flickr.com/photos/pforret/248144593/" title="Photo Sharing"><img src="http://static.flickr.com/93/248144593_c30c85f4e2.jpg" width="500" height="135" alt="The effect of WP-Cache on Wordpress speed" /></a><br />
The average was more around 1,5 seconds, that is, until last Monday. On Monday I installed <a href="http://mnm.uib.es/gallir/wp-cache-2/">WP-Cache 2.0</a>, a Wordpress (2.0) plugin that saves each delivered page on disk for an hour. So the PHP overhead (including SQL statements to get posts, related posts, comments, blogroll, &#8230;) is no longer executed for each and every page request. If that page was requested less than an hour ago, there is a saved copy on disk that is returned immediately instead of re-rendering it. The effect: my average access time has dropped to 302ms.</p>
<p>Let&#8217;s show you the immediate effect on a second blog I manage:<br />
<a href="http://www.flickr.com/photos/pforret/248146089/" title="Photo Sharing"><img src="http://static.flickr.com/54/248146089_072270c69e.jpg" width="500" height="135" alt="Immediate effect of WP-cache" /></a><br />
This is a &#8216;DAY&#8217; chart instead of a &#8216;WEEK&#8217; chart, so you can see the individual samples (every five minutes). How hard is it to guess where WP-Cache kicked in?</p>
<p>Any Wordpress installation, but certainly those with plugins like the <a href="http://www.neato.co.nz/ultimate-tag-warrior/">Ultimate Tag Warrior</a> (those &#8216;related posts&#8217; are super, but slow) or <a href="http://meidell/latestcomments/">Brian&#8217;s Latest Comments</a>, could profit from this caching tool. Depending on the traffic, that is: you need at least something like 48 visits/day to see an improvement, if you keep the default expiration of 3600 seconds.</p>
<p><a href="http://mnm.uib.es/gallir">Ricardo Galli</a> has developed a top-notch plugin, that works out-of-the-box with minimal configuration necessary. Make your Wordpress fly, get <a href="http://mnm.uib.es/gallir/wp-cache-2/">WP-Cache</a>!</p>
<p><em>(hat-tip to <a href="http://theblogjoint.com/2006/08/29/top-wordpress-plugins/">theblogjoint.com</a> for reminding me I should try it)</em></p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li><li><a href='http://blog.forret.com/2007/01/create-your-own-wordpress-plugin/' rel='bookmark' title='Permanent Link: Create your own Wordpress plugin'>Create your own Wordpress plugin</a> <small> Wordpress has a really nifty system for adding functionality:...</small></li><li><a href='http://blog.forret.com/2006/02/migrating-from-blogger-to-wordpress-20/' rel='bookmark' title='Permanent Link: Migrating from Blogger to Wordpress 2.0'>Migrating from Blogger to Wordpress 2.0</a> <small>Ever since I saw the new &#8216;import from Blogger&#8217; functionality...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Fancy Wordpress themes on Dreamhost</title>
		<link>http://blog.forret.com/2006/09/fancy-wordpress-themes-on-dreamhost/</link>
		<comments>http://blog.forret.com/2006/09/fancy-wordpress-themes-on-dreamhost/#comments</comments>
		<pubDate>Fri, 15 Sep 2006 21:22:13 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.forret.com/2006/09/fancy-wordpress-themes-on-dreamhost/</guid>
		<description><![CDATA[
It used to be that when you installed Wordpress on Dreamhost, you only got 3 standard themes installed. Now you get a whopping 50: 2exquisite, 534, Abstrakt3c, Almost-spring, Artsemerging, Barthelme, Blue Kino, Classic, Connections-reloaded, Craving4green, Dapit_hapon, Darknight2.0, Daydream, Default, Disconnected, Durable, Fasttrack, Fluidityrs, Fspring_widgets, Greening, Hemmednoajax, Leone, Lush, Milc3, Modern, Newzen_2.0_build_105, Nineshadesgreen, Nolimits, Ocadia, Orchids, [...]


Related posts:<ol><li><a href='http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/' rel='bookmark' title='Permanent Link: url.rewrite for Wordpress on Lighttpd'>url.rewrite for Wordpress on Lighttpd</a> <small>This blog now runs on a Lighttpd (Lighty) webserver instead...</small></li><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/pforret/243912032/" title="Photo Sharing"><img src="http://static.flickr.com/84/243912032_ee271e5b26.jpg" width="500" height="363" alt="new Wordpress themes on Dreamhost" /></a></p>
<p>It used to be that when you installed Wordpress on <a href="http://www.dreamhost.com/r.cgi?166410 ">Dreamhost</a>, you only got 3 standard themes installed. Now you get a whopping 50: 2exquisite, 534, Abstrakt3c, Almost-spring, Artsemerging, Barthelme, Blue Kino, Classic, Connections-reloaded, Craving4green, Dapit_hapon, Darknight2.0, Daydream, Default, Disconnected, Durable, Fasttrack, Fluidityrs, Fspring_widgets, Greening, Hemmednoajax, Leone, Lush, Milc3, Modern, Newzen_2.0_build_105, Nineshadesgreen, Nolimits, Ocadia, Orchids, Phoenixblue, Plaintxtblog, Pressrow, Qwilm!, Rounded-v2, Roundflow, Rusty, Shadedgrey, Simply-vic, Sirius, Stripedplus, Tbs-blue, Thirteen, Tiga, Typoxp, Unsleepable, Veryplaintxt, Vslider2, Wpandreas03, Wpglass, Wpjeriko01.<br />
<span id="more-468"></span><br />
Here are some screenshots:<br />
<a href="http://www.flickr.com/photos/pforret/244111692/" title="Photo Sharing"><img src="http://static.flickr.com/93/244111692_e7b6567589_b.jpg" width="410" height="1024" alt="Wordpress themes on Dreamhost" /></a><br />
and more themes on <a href="http://themes.wordpress.net/">themes.wordpress.net</a></p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/' rel='bookmark' title='Permanent Link: url.rewrite for Wordpress on Lighttpd'>url.rewrite for Wordpress on Lighttpd</a> <small>This blog now runs on a Lighttpd (Lighty) webserver instead...</small></li><li><a href='http://blog.forret.com/2007/01/my-10-essential-wordpress-plugins/' rel='bookmark' title='Permanent Link: My 10 essential Wordpress plugins'>My 10 essential Wordpress plugins</a> <small> Since I&#8217;ve been doing quite a lot of Wordpress...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2006/09/fancy-wordpress-themes-on-dreamhost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migration to Wordpress: me vs Murphy</title>
		<link>http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/</link>
		<comments>http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/#comments</comments>
		<pubDate>Tue, 21 Mar 2006 05:51:43 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/</guid>
		<description><![CDATA[Some of you might have noticed my recent domain dance: blog.forret.com to peter.smoothouse.com to peter.forret.com and back. You might ask yourself the questions: why was that necessary, couldn&#8217;t he have done it in a smoother way and why did it take so long? Those would be three relevant questions. I am used to managing DNS [...]


Related posts:<ol><li><a href='http://blog.forret.com/2006/03/blogger-snafu-emergency-migration-to-wordpress/' rel='bookmark' title='Permanent Link: Blogger snafu: emergency migration to Wordpress'>Blogger snafu: emergency migration to Wordpress</a> <small>One of the reasons why I have been posting less...</small></li><li><a href='http://blog.forret.com/2006/02/migrating-from-blogger-to-wordpress-20/' rel='bookmark' title='Permanent Link: Migrating from Blogger to Wordpress 2.0'>Migrating from Blogger to Wordpress 2.0</a> <small>Ever since I saw the new &#8216;import from Blogger&#8217; functionality...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Some of you might have noticed my recent domain dance: blog.forret.com to peter.smoothouse.com to peter.forret.com and back. You might ask yourself the questions: why was that necessary, couldn&#8217;t he have done it in a smoother way and why did it take so long? Those would be three relevant questions. I am used to managing DNS and blogs for other people, so my pride got hurt in the process too.</p>
<p><strong>PROLOGUE: WHY BOTHER?</strong><br />
I have been blogging since 2004 and have built blog.forret.com up to Google Pagerank 6 and Technorati rank 8000. For the non-bloggers amongst you: it&#8217;s an ego thing. I don&#8217;t want to start again from a PageRank 0, Technorati rank ∞. So that&#8217;s why I didn&#8217;t stop until I got it back.<br />
<span id="more-282"></span><br />
<strong>SAGA 1: Blogger -&gt; Bluehost</strong><br />
I started blogging in Feb 2004 through Blogger. I published my blog through FTP, first on www.forret.com, then on a subdomain blog.forret.com (on a shared hosting account of mine). I had already started my migration towards Wordpress from the moment I saw Wordpresss 2.0 supported import from Blogger.<br />
<a href="http://www.bluehost.com/track/pforret/MIGRATE"><img src="http://img.bluehost.com/234x60/1.gif" alt="Bluehost" style="float: right; border: 0px" /></a>I had taken an account with <a href="http://www.bluehost.com/track/pforret/MIGRATE">Bluehost</a>, that I already use for my <a href="http://www.easytango.com/">Argentine Tango &#8216;tangopedia&#8217; wiki</a>, my <a href="http://www.samoera.com/">dutch poetry blog</a>, my <a href="http://www.smoothouse.com/podcast/validator.php">podcast feed validator</a> &#8230; The main domain name is smoothouse.com, with a (Wordpress) blog on <a href="http://www.smoothouse.com/blog/">www.smoothouse.com/blog</a>. This would turn out to be a crucial detail.<br />
I had installed a new Wordpress on peter.smoothouse.com, done the import from my Blogger account (posts + comments &#8211; really neat!), and was playing around with themes and plugins to see what I wanted. Then Google/Blogger made the unfortunate decision to <a href="http://blog.forret.com/2006/03/blogger-snafu-emergency-migration-to-wordpress/">mark my blog as a spamblog</a> and consequently mess up my whole blog setup. I was thoroughly pissed off (not having been warned, my template gone &#8230;), so I decided to give them the finger and switch immediately. I &#8216;just&#8217; needed to convert my peter.smoothouse.com blog into a blog.forret.com. How hard could that be? Then I discovered that Bluehost has limits to what it can do on DNS subdomain hosting:</p>
<ul>
<li>the DNS servers of your domain (i.e. forret.com) should be the Bluehost ones</li>
<li>through Bluehost DNS management, you cannot map a subdomain onto an external server, i.e. add a &#8216;A&#8217; or &#8216;CNAME&#8217; DNS record. I have a lot of <a href="http://www.forret.com/tools/">forret web tools</a> running on a Windows server, so I need www.forret.com to keep pointing to that server. With Bluehost, that was a no-go</li>
<li>a subdomain XYZ.forret.com WILL ALWAYS map to the subfolder /XYZ &#8211; you have no choice there. In my case: blog.forret.com maps to the folder /blog. Unfortunately smoothouse.com/blog/ is running from that folder too.</li>
</ul>
<p>I had no time to lose, so I thought: too bad, there goes the domain name. I went ahead and redirected all requests on blog.forret.com to <u>peter.smoothouse.com</u>. I then figured out I could temporarily switch my forret.com DNS servers to the Bluehost servers, get Bluehost to accept to host forret.com domains and then switch back to my regular DNS provider. Once that was done, I could create a peter.forret.com that mapped to folder /peter, the same location as peter.smoothouse.com.</p>
<p>So this was the situation after 1 day: all my blog posts and comments were imported by my new Wordpress on <u>peter.forret.com</u>, but this domain was virtually unknown, all Google results still pointed to <u>blog.forret.com/&#8230;</u> urls.<br />
I got confirmation from Bluehost tech support that there was no way I could map blog.forret.com to /peter. Darn. I tried some scenarios (throw away my Smoothouse blog, merge them, &#8230;) but I saw no elegant solution. So I went to step 2.</p>
<p><strong>SAGA 2: Bluehost -&gt; Dreamhost</strong><br />
<a href="http://www.dreamhost.com/r.cgi?166410"><img src="http://www.dreamhost.com/images/rewards/234x60-a.gif" alt="Dreamhost" style="float: right; border: 0px" /></a>I ordered a new hosting account on <a href="http://www.dreamhost.com/r.cgi?166410">Dreamhost</a>. Which means I now have 3 hosting accounts (not counting my Blogspot blogs) &#8211; my parents will be so proud. I already knew that Dreamhost was less strict on the DNS stuff. It is a good idea to host your DNS management with them also, but you don&#8217;t have to. So I configured it to host blog.forret.com and equiped it with yet another Wordpress. And then: <em>how does one migrate from one Wordpress host to another</em>? Wordpress cannot import from another Wordpress, because it prefers the <em>database backup on host 1, database restore on host 2</em> method. So all I needed to do was a backup of my Wordpress database on Bluehost. Unfortunately, Murphy kicked in again and made all my phpMyAdmin backup trials terminate abnormally. It was impossible to get a decent backup, and so I sent another email to Bluehost support. In the meantime I had a brand new, pre-paid-for hosting account, doing absolutely nothing. I was not happy.</p>
<p>Bluehost contacted me a couple of days later with another method to take a database backup. That worked, I did the backup, restored it to my new Dreamhost set-up, copied the theme and plugins and had a perfect copy running. Halleluiah! I also copied all the Blogger-generated archives to a subfolder /blog, so that every URL in Google would still point to an existing page. These &#8216;old&#8217; static HTML pages still had the old layout, but I didn&#8217;t care for that then. I switched DNS for blog.forret.com over to the new Dreamhost server, and lo and behold, everything worked.</p>
<p><strong>SAGA 3: rewrite and redirect</strong><br />
So I had 2 sets of pages:</p>
<ul>
<li>OLD: <u>blog.forret.com/blog/2006/03/whatever-title-was.html</u>, my Blogger archive, static HTML files</li>
<li>NEW: <u>blog.forret.com/2006/03/whatever-the-title-was/</u> page, dynamically served by my new Wordpress.</li>
</ul>
<p>Visitors to my &#8216;old&#8217; pages were still redirected to Blogger when they wanted to add a comment. That was not how I wanted it. So I continued further with my <code>mod_rewrite/mod_alias</code> experiments.<br />
The monthly archives were easy to add to .htaccess in the /blog/ folder:<br />
<code>RedirectMatch permanent /archive/([0-9][0-9][0-9][0-9])_([0-9][0-9])_.*$ http://blog.forret.com/$1/$2/</code><br />
The root of the folder was also easy<br />
<code>RedirectMatch permanent /$ http://blog.forret.com/<br />
RedirectMatch permanent /index.html$ http://blog.forret.com/</code><br />
which took care of <u>blog.forret.com/blog/</u> and <u>blog.forret.com/blog/index.html</u></p>
<p>But then: what to do with individual posts? The title-to-URL translation by Blogger is different from the Wordpress rules (e.g. Blogger drops &#8216;the&#8217;, &#8216;a&#8217; and other common words, the &#8216;é&#8217; is dropped instead of being translated into &#8216;e&#8217;). So I decided on using the <code>?s=</code> querystring parameter (used for search terms). After some trial and error, I ended up with:<br />
<code>RewriteEngine on<br />
RewriteBase /blog/<br />
RewriteRule ^([0-9][0-9][0-9][0-9])/([0-9][0-9])/([a-z]*)-([a-z]*).*$ http://blog.forret.com/$1/$2/?s=$3+$4 [R,L]</code><br />
So every post is mapped onto a list of (partial) posts of the same month that contain the 2 first words of the title. It&#8217;s not perfect, but the best I could do. Undoubtedly some of my blog URLs that can be found in Google will map to an Error-404 page. Can&#8217;t make an omelet without breaking eggs.</p>
<p>So this was my struggle with Murphy&#8217;s Law. It took me slightly less than 2 weeks to get everything sorted out, but here I am back, on my beloved &#8216;blog.forret.com&#8217; domain. One thing was really easy: my blog feed. It is managed through <a href="http://www.feedburner.com">Feedburner</a>, so stayed the same during the whole procedure. I had to change the source feed URL a couple of times, but my subscribers should not have noticed too much.</p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2006/03/blogger-snafu-emergency-migration-to-wordpress/' rel='bookmark' title='Permanent Link: Blogger snafu: emergency migration to Wordpress'>Blogger snafu: emergency migration to Wordpress</a> <small>One of the reasons why I have been posting less...</small></li><li><a href='http://blog.forret.com/2006/02/migrating-from-blogger-to-wordpress-20/' rel='bookmark' title='Permanent Link: Migrating from Blogger to Wordpress 2.0'>Migrating from Blogger to Wordpress 2.0</a> <small>Ever since I saw the new &#8216;import from Blogger&#8217; functionality...</small></li><li><a href='http://blog.forret.com/2006/09/wp-cache-speeds-up-your-wordpress/' rel='bookmark' title='Permanent Link: WP-Cache speeds up your Wordpress!'>WP-Cache speeds up your Wordpress!</a> <small>Ever wondered if you needed a caching plugin for your...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Blogger snafu: emergency migration to Wordpress</title>
		<link>http://blog.forret.com/2006/03/blogger-snafu-emergency-migration-to-wordpress/</link>
		<comments>http://blog.forret.com/2006/03/blogger-snafu-emergency-migration-to-wordpress/#comments</comments>
		<pubDate>Thu, 09 Mar 2006 22:54:39 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[blogger]]></category>

		<guid isPermaLink="false">http://peter.smoothouse.com/2006/03/09/blogger-snafu-emergency-migration-to-wordpress/</guid>
		<description><![CDATA[One of the reasons why I have been posting less the last couple of days, is because I was working on a migration from Blogger to Wordpress. I was still working out some DNS stuff (don&#8217;t let me get into that, it&#8217;s complicated stuff , to do with how Bluehost&#8217;s -my hosting provider- DNS management [...]


Related posts:<ol><li><a href='http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/' rel='bookmark' title='Permanent Link: Migration to Wordpress: me vs Murphy'>Migration to Wordpress: me vs Murphy</a> <small>Some of you might have noticed my recent domain dance:...</small></li><li><a href='http://blog.forret.com/2006/02/migrating-from-blogger-to-wordpress-20/' rel='bookmark' title='Permanent Link: Migrating from Blogger to Wordpress 2.0'>Migrating from Blogger to Wordpress 2.0</a> <small>Ever since I saw the new &#8216;import from Blogger&#8217; functionality...</small></li><li><a href='http://blog.forret.com/2004/12/setting-up-a-new-blogger-site/' rel='bookmark' title='Permanent Link: Setting up a new Blogger site'>Setting up a new Blogger site</a> <small> So you want to blog? Blogger is by far...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>One of the reasons why I have been posting less the last couple of days, is because I was working on a migration from Blogger to Wordpress. I was still working out some DNS stuff (don&#8217;t let me get into that, it&#8217;s complicated stuff , to do with how <a href="http://www.bluehost.com">Bluehost</a>&#8217;s -my hosting provider- DNS management works).</p>
<p>So I was just writing a piece on how Google bought Writely with my <a href="http://wbloggar.com/">w.bloggar</a> local client, and when I publish I get an error: &#8220;<em>Post was saved as draft, please log in to </em><a href="http://www.blogger.com/"><em>http://www.blogger.com/</em></a><em> to publish it</em>&#8220;. Weird, never have that normally. Anyway, I log in, get the Blogger CAPTCHA &#8216;word verification&#8217; box and I publish. But I see no changes on <a href="http://blog.forret.com/">blog.forret.com</a>. I publish again. Nothing. Then I click the &#8216;View Blog&#8217; tab in my Blogger interface. This is what I see:</p>
<p><a href="http://www.flickr.com/photos/pforret/110234991/" title="Photo Sharing"><img width="400" src="http://static.flickr.com/49/110234991_599cda6bfc.jpg" alt="Blogger Fuck-up" /></a><br />
Apparently:</p>
<ul>
<li>my blog is now published to some new awkward blogspot location.</li>
<li>my template is gone</li>
<li>the new template advises me to discover <a href="http://wordpress.org/">wordpress.org</a></li>
</ul>
<p><span id="more-271"></span><br />
Somewhat startled I dive into my Blogger interface again and the damage is as follows:</p>
<ul>
<li>my blog has been marked as a spam blog &#8211; YOU %**@!?! (after all <a href="http://peter.forret.com/categories/spam/">I&#8217;ve written on spam</a>, I&#8217;m not too happy with that)</li>
<li>I need to do <em>word verification</em> for each post I do</li>
<li>my FTP publishing settings are gone and replaced by the meaningless blogspot location</li>
<li>my template is gone and replaced by the &#8220;Discover Wordpress&#8221; placeholder</li>
</ul>
<p><a href="http://www.flickr.com/photos/pforret/110234992/" title="Photo Sharing"><img width="400" src="http://static.flickr.com/55/110234992_27337ad11e.jpg" alt="Blogger Fuck-up" /></a></p>
<p>Instead of putting effort into restoring my Blogger set-up, I&#8217;ve decided to switch as of now to my new Wordpress set-up. Unfortunately this means I have to change my URL to <a href="http://peter.forret.com/">peter.forret.com</a> . This totally sucks, I know. The blog.forret.com URLs should be redirected to their new locations, and I might switch back to the old URL once I figure it all out. For now, here I am, bigger, better and quite pissed at Google/Blogger.</p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/' rel='bookmark' title='Permanent Link: Migration to Wordpress: me vs Murphy'>Migration to Wordpress: me vs Murphy</a> <small>Some of you might have noticed my recent domain dance:...</small></li><li><a href='http://blog.forret.com/2006/02/migrating-from-blogger-to-wordpress-20/' rel='bookmark' title='Permanent Link: Migrating from Blogger to Wordpress 2.0'>Migrating from Blogger to Wordpress 2.0</a> <small>Ever since I saw the new &#8216;import from Blogger&#8217; functionality...</small></li><li><a href='http://blog.forret.com/2004/12/setting-up-a-new-blogger-site/' rel='bookmark' title='Permanent Link: Setting up a new Blogger site'>Setting up a new Blogger site</a> <small> So you want to blog? Blogger is by far...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2006/03/blogger-snafu-emergency-migration-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrating from Blogger to Wordpress 2.0</title>
		<link>http://blog.forret.com/2006/02/migrating-from-blogger-to-wordpress-20/</link>
		<comments>http://blog.forret.com/2006/02/migrating-from-blogger-to-wordpress-20/#comments</comments>
		<pubDate>Sun, 26 Feb 2006 21:20:00 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[bluehost]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://peter.smoothouse.com/2006/02/26/migrating-from-blogger-to-wordpress-20/</guid>
		<description><![CDATA[Ever since I saw the new &#8216;import from Blogger&#8217; functionality in Wordpress 2.0, I&#8217;ve known I would eventually migrate my main blog. Blogger is a great way to start blogging , but I want categories, easy template updating (without republish) and all the Wordpress plug-in sweetness. As a dress rehearsal, I migrated my Dutch poetry [...]


Related posts:<ol><li><a href='http://blog.forret.com/2006/03/blogger-snafu-emergency-migration-to-wordpress/' rel='bookmark' title='Permanent Link: Blogger snafu: emergency migration to Wordpress'>Blogger snafu: emergency migration to Wordpress</a> <small>One of the reasons why I have been posting less...</small></li><li><a href='http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/' rel='bookmark' title='Permanent Link: Migration to Wordpress: me vs Murphy'>Migration to Wordpress: me vs Murphy</a> <small>Some of you might have noticed my recent domain dance:...</small></li><li><a href='http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/' rel='bookmark' title='Permanent Link: url.rewrite for Wordpress on Lighttpd'>url.rewrite for Wordpress on Lighttpd</a> <small>This blog now runs on a Lighttpd (Lighty) webserver instead...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Ever since I saw the new &#8216;import from Blogger&#8217; functionality in Wordpress 2.0, I&#8217;ve known I would eventually migrate my main blog. Blogger is a great way to start blogging , but I want categories, easy template updating (without republish) and all the Wordpress plug-in sweetness. As a dress rehearsal, I migrated my Dutch poetry blog first: <a href="http://www.zohelptpoezie.be">Zo helpt Poezie &#8230;</a>.</p>
<h3>START SITUATION</h3>
<ul>
<li>The site was managed with Blogger but published via FTP on one of my own domains. Because my old hosting system did not support domain mapping while serving multiple domains, I had to publish each domain in a subfolder. All blog&#8217;s files were stored under <a href="http://www.samoera.com/poezie/">www.samoera.com/poezie/</a>.</li>
<li>The individual posts (one poem per post) were saved as <code>/poezie/[YEAR]/[MONTH]/[TITLE].html</code> (e.g. /poezie/2004/04/02/kwijt-bart-moeyaert.html). I always used &#8220;[POEM TITLE] ([POEM AUTHOR])&#8221; as title for a post. Since Blogger removes special characters, this means that the file name typically ends with the author&#8217;s last name (something I will try to use later).</li>
<li>The monthly archives were saved as <code>/poezie/[YEAR]_[MONTH]_01_gedichten.html</code> (e.g. /poezie/2006_02_01_gedichten.html).</li>
</ul>
<h3>STEP 1: NEW HOSTING</h3>
<p><a href="http://www.bluehost.com/track/pforret/BLOGGER"><img border="0" src="http://img.bluehost.com/234x60/1.gif" /></a>I have taken an account with <a href="http://www.bluehost.com/track/pforret/BLOGGER"><strong>Bluehost.com</strong></a>. For $6.95 they offer 10GB storage, 250GB bandwidth and the excellent <a href="http://www.cpanel.net/">CPanel</a>/Fantastico combo to easily configure sites, install software and manage your DNS.<br />
My Bluehost hosting is on <a href="http://www.smoothouse.com">www.smoothouse.com</a>. I use it already for stuff like the <a href="http://www.smoothouse.com/podcast/validator.php">podcast feed validator</a> and other <a href="http://www.smoothouse.com/blog/">small Smoothouse development projects</a>.<br />
Another option is <a href="http://www.dreamhost.com/rewards.cgi?pforret">Dreamhost.com</a>: $7,99 per month, 20GB storage, 1TB bandwidth(!) but a less handy management panel. Don&#8217;t pay more than this.</p>
<h3>STEP 2: SET UP WORDPRESS</h3>
<p>Setting up Wordpress with Bluehost is quite easy: you go to the Fantastico page, select Wordpress, decide on a subfolder name (in my case: &#8220;poezie&#8221;), click &#8220;Install&#8221; and all the rest is automatic. After this, the blog is installed on -in my case- www.smoothouse.com/poezie. Later I will have to map the poetry site to this folder (without the <code>/poezie</code> folder showing)<br />
Even if you don&#8217;t have the Fantastico wizard, Wordpress is one of the easiest programs to install. Then take one of the standard templates</p>
<h3>STEP 3: IMPORT FROM BLOGGER</h3>
<p>On the new blog, go to the <code>/wp-admin/import.php</code> page, and give you Blogger username/password. Then select the Blogger Blog you want to import and then let the import wizard run. It will import ALL POSTS and ALL COMMENTS! This is friggin&#8217; awesome! It might take 5-10 minutes if you have a large blog.</p>
<h3>STEP 4: MOVE ARCHIVE</h3>
<p>Now download your full archive (via FTP with e.g. FileZilla) to your local drive and upload them to where they should be after you moved the domain. In my case: I uploaded them to www.smoothouse.com/poezie/poezie which will be mapped to www.samoera.com/poezie/ once the DNS transfer is done.<br />
The reason for this: all your posts will have new URLs and you don&#8217;t want people who find your old URLs in Google and click on them to get a &#8220;Error 404 not found&#8221; page. So you start by copying them to the new hosting server. We will do some more fancy redirect stuff later.</p>
<h3>STEP 5: DNS UPDATE</h3>
<p>Now comes the tricky stuff: you want your domain name to point to the new host. So you edit the A or CNAME record for the domain name. This will take somewhere between 1 and 24 hours to propagate.<br />
In my case (Bluehost) this also meant I had to transfer DNS management for all subdomains to Bluehost (i.e. change the SOA records). Bluehost requires you to this because the whole DNS management is linked to the Fantastico wizards. In this case it just meant that it took a while longer. I then mapped the www.samoera.com domain to map to the same /poezie folder I just created.<br />
Once that the transfer is done, all your URLs should continue to work (since you took care of that in step 4)!</p>
<h3>STEP 6: CHANGE CONFIGURATION</h3>
<p>Change Wordpress root path to www.samoera.com instead of www.smoothouse.com/poezie/ (Wordpress will adapt all links on the blog pages). I removed the index.html from archive root (<a href="http://www.samoera.com/poezie/">www.samoera.com/poezie</a>) because a lot of sites link to it and replaced it by a index.php that redirects to <a href="http://www.samoera.com">www.samoera.com</a>.<br />
OPTIONAL: you can play with Apache Redirect/Rewrite rules to take every visitor to one of the old URLs automatically to the new URL. What I tried was:<br />
<code><br />
### for the archives: easy to do!<br />
RedirectMatch permanent /poezie/([0-9][0-9][0-9][0-9])_([0-9][0-9])_01_.*html$ http://www.samoera.com/$1/$2/<br />
### for the post pages: this would have worked if Apache didn't have a bug<br />
#RedirectMatch permanent /poezie/([0-9][0-9][0-9][0-9])/([0-9][0-9])/.*-([a-z]*)\.html$ http://www.samoera.com/$1/$2<font color="#ff0000">/?s=$3</font></code><br />
I tried to use the fact that the author&#8217;s last name (a quite &#8216;unique&#8217; word) was the last word before the .html to construct queries like: <a href="http://www.samoera.com/2006/01/?s=tellegen">www.samoera.com/2006/01/?s=tellegen</a> (which shows all posts from Feb 2006 with the string &#8216;tellegen&#8217; in the text &#8211; which almost always translates into 1 post). However, due to a bug in Apache (the &#8216;?&#8217; before the querystring is always translated into <code>%3f</code> and this results in invalid URLs) I haven&#8217;t found the right way to do it yet. I could have used<br />
<code>RedirectMatch permanent /poezie/([0-9][0-9][0-9][0-9])/([0-9][0-9])/.*html$ http://www.samoera.com/$1/$2/</code> but this maps onto a whole month &#8211; or up to 10 poems. Maybe I&#8217;ll find some other trick.</p>
<h3>STEP 7: EXTERNAL STUFF</h3>
<p>Change your <a href="http://www.feedburner.com">Feedburner</a> source to the new URL. Everyone that&#8217;s subscribed stays subscribed. Ain&#8217;t that neat? You don&#8217;t have a Feedburner feed? What, you only had Blogger Atom feed? Shame on you. Go get one!</p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2006/03/blogger-snafu-emergency-migration-to-wordpress/' rel='bookmark' title='Permanent Link: Blogger snafu: emergency migration to Wordpress'>Blogger snafu: emergency migration to Wordpress</a> <small>One of the reasons why I have been posting less...</small></li><li><a href='http://blog.forret.com/2006/03/migration-to-wordpress-me-vs-murphy/' rel='bookmark' title='Permanent Link: Migration to Wordpress: me vs Murphy'>Migration to Wordpress: me vs Murphy</a> <small>Some of you might have noticed my recent domain dance:...</small></li><li><a href='http://blog.forret.com/2007/03/urlrewrite-for-wordpress-on-lighttpd/' rel='bookmark' title='Permanent Link: url.rewrite for Wordpress on Lighttpd'>url.rewrite for Wordpress on Lighttpd</a> <small>This blog now runs on a Lighttpd (Lighty) webserver instead...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2006/02/migrating-from-blogger-to-wordpress-20/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Googlistics: messing with the big &#8220;G&#8221;</title>
		<link>http://blog.forret.com/2005/04/googlistics-messing-with-the-big-g/</link>
		<comments>http://blog.forret.com/2005/04/googlistics-messing-with-the-big-g/#comments</comments>
		<pubDate>Tue, 05 Apr 2005 14:54:00 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://peter.smoothouse.com/2005/04/05/googlistics-messing-with-the-big-g/</guid>
		<description><![CDATA[
He probably also first thought it was an April&#8217;s Fool joke:
Matt Mullenweg from Wordpress was discovered to have used his PageRank 8 site (Wordpress is a popular open-source blogging software) for hosting lots of irrelevant content, with the purpose to get high scores in Google rankings and (let a customer of his) make money on [...]


Related posts:<ol><li><a href='http://blog.forret.com/2006/04/adsense-the-long-tail-of-spare-change/' rel='bookmark' title='Permanent Link: Adsense: The long tail of spare change'>Adsense: The long tail of spare change</a> <small> Last year, Google took in about $2.7 billion through...</small></li><li><a href='http://blog.forret.com/2005/07/amy-cross-spamming-technorati/' rel='bookmark' title='Permanent Link: Amy Cross spamming Technorati'>Amy Cross spamming Technorati</a> <small>If you look through the posts under the Technorati tag...</small></li><li><a href='http://blog.forret.com/2005/08/flickryahoo-experimenting-with-new-ad-format/' rel='bookmark' title='Permanent Link: Flickr/Yahoo experimenting with new ad format'>Flickr/Yahoo experimenting with new ad format</a> <small> Flickr has been placing contextual advertising on their &#8220;tag&#8221;...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.pixagogo.com/S5vpfnjbBPdPl-e2W8OWb0p0P6FZrPcCH4D0gR-!SZldfh0RFeDyvMK9oQ9WjU3iwzlQ!VQ4QWOL!x1!MEWtmDG3rYLLtx1xTExUG7YkS-t7yTcb-94r9KEfwcv3LOk8fSbUIm4JqJwUIj!vvnbe1o-g__/adwords.jpg"/><br />
He probably also first thought it was an April&#8217;s Fool joke:<br />
<a href="http://photomatt.net/">Matt Mullenweg</a> from <a href="http://www.wordpress.org/">Wordpress</a> was discovered to have used his PageRank 8 site (Wordpress is a popular open-source blogging software) for hosting lots of irrelevant content, with the purpose to get high scores in Google rankings and (let a customer of his) make money on Google Adsense.</p>
<blockquote><p>The content in articles is essentially advertising by a third party that we host for a flat fee. I&#8217;m not sure if we&#8217;re going to continue it much longer, but we&#8217;re committed to this month at least, it was basically an experiment. However around the beginning of Feburary donations were going down as expenses were ramping up, so it seemed like a good way to cover everything. The adsense on those pages is not ours and I have no idea what they get on it, we just get a flat fee. The money is used just like donations but more specifically it&#8217;s been going to the business/trademark expenses so it&#8217;s not entirely out of my pocket anymore.<br />
(from <a href="http://wordpress.org/support/topic.php?id=23657">wordpress.org</a>) </p></blockquote>
<p><a href="http://www.waxy.org/archive/2005/03/30/wordpres.shtml">Andy Baio (Waxy) broke the news</a> on March 30th, at a moment when Matt was on holiday (and off-line), so he only <a href="http://photomatt.net/2005/04/01/a-response/">replied on April 1st</a>, about a thousand angry emails later. His defense is that it was a interesting idea, badly implemented, not followed up and never evaluated. Since Matt does not have the profile of a cash-hungry opportunist, and he&#8217;s explaining this to an audience of people that understand these reasons (reads like an IT project management what-not-to-do list), the storm will probably blow over.</p>
<p>Normally this is the kind of situation where one would say: &#8220;SEO? Leave that to the professionals!&#8221;. But the fact is that here in Belgium, some of the companies that claim to be SEO specialists, use dirty tricks all over. Hidden links, bot <a href="http://www.google.com/webmasters/faq.html#cloaking">cloaking</a>, keyword spamming, <code>&lt;noscript&gt;</code> tricks, the whole shebang. It&#8217;s like they read the <a href="http://www.google.com/webmasters/seo.html">Google SEO warning page</a> as a guideline. <em>&#8220;Hey look! We could put ourselves and other customers on every client&#8217;s doorway pages. Neat!&#8221;</em>. </p>
<p>Joris just posted <a href="http://www.jwi.be/2005/04/immoweb_is_er_o.html">another example (Immoweb.be) on his SEO blog</a>. And again the so-called &#8220;SEO professional&#8221; fooling around is Extenseo, just as it was for <a href="http://www.jwi.be/2005/02/automagazine_is.html">Automagazine</a> and <a href="http://www.jwi.be/2005/01/verborgen_links.html">Actel</a>. As one can see on their unprotected Javascript hosting site, they recently add VW/MyWay to their customers, so we can expect those homepages to be featured in the <a href="http://www.jwi.be/hoe_het_niet_moet/">Hoe Het Niet Moet</a> (What Not To Do) series soon!</p>
<p>Technorati: <a href="http://technorati.com/tag/seo" rel="tag">SEO</a> &#8211; <a href="http://technorati.com/tag/google" rel="tag">Google</a></p>


<p>Related posts:<ol><li><a href='http://blog.forret.com/2006/04/adsense-the-long-tail-of-spare-change/' rel='bookmark' title='Permanent Link: Adsense: The long tail of spare change'>Adsense: The long tail of spare change</a> <small> Last year, Google took in about $2.7 billion through...</small></li><li><a href='http://blog.forret.com/2005/07/amy-cross-spamming-technorati/' rel='bookmark' title='Permanent Link: Amy Cross spamming Technorati'>Amy Cross spamming Technorati</a> <small>If you look through the posts under the Technorati tag...</small></li><li><a href='http://blog.forret.com/2005/08/flickryahoo-experimenting-with-new-ad-format/' rel='bookmark' title='Permanent Link: Flickr/Yahoo experimenting with new ad format'>Flickr/Yahoo experimenting with new ad format</a> <small> Flickr has been placing contextual advertising on their &#8220;tag&#8221;...</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.forret.com/2005/04/googlistics-messing-with-the-big-g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 5.870 seconds -->
