<?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>Oak Innovations Blog &#187; WordPress</title>
	<atom:link href="http://www.oakinnovations.co.uk/blog/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oakinnovations.co.uk/blog</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Wed, 01 Sep 2010 21:32:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WordPress at Risk from New Automatic, Distributed Attack &#8211; A Few Tactics for Prevention</title>
		<link>http://www.oakinnovations.co.uk/blog/2009/12/01/wordpress-at-risk-from-new-automatic-distributed-attack-a-few-tactics-for-prevention/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2009/12/01/wordpress-at-risk-from-new-automatic-distributed-attack-a-few-tactics-for-prevention/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 01:38:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/?p=796</guid>
		<description><![CDATA[The web&#8217;s been a bit of a buzz today regarding a report from the Internet Storm Center which detailed a new method of attack on WordPress sites.  Whilst this is a new take on an old trick, a simple brute force attack (where multiple passwords are attempted until one works), the delivery mechanism is causing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/wordpresslogo.png"><img class="alignright size-full wp-image-193" title="Wordpress Logo" src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/wordpresslogo.png" alt="Wordpress Logo" width="273" height="74" /></a>The web&#8217;s been a bit of a buzz today regarding a<a href="http://isc.sans.org/diary.html?storyid=7663"> report from the Internet Storm Center which detailed a new method of attack on WordPress sites</a>.  Whilst this is a new take on an old trick, a simple brute force attack (where multiple passwords are attempted until one works), the delivery mechanism is causing people to sit up and take notice.  This new attack allows the perpetrators to attack multiple sites simultaneously and intelligently.</p>
<p>The attack script appears to connect to a database which stores passwords that have been successfully discovered using the tool.  This, over time, will allow it to isolate patterns, spot trends and generally go about its attack in a more clinical and successful manner.  Going hand in hand with this potential intelligence (and it&#8217;s hard to say just how intelligent this script is without seeing it) is the scale at which these attacks could be carried out and the distributed nature of them.</p>
<p>There are, however, some simple tips you can follow to reduce the risk posed by attacks like this.</p>
<h3>Don&#8217;t Use the &#8220;admin&#8221; User</h3>
<p><a href="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2009/12/UserRoles.png"><img class="alignright size-medium wp-image-797" title="UserRoles" src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2009/12/UserRoles-300x78.png" alt="UserRoles" width="300" height="78" /></a>I&#8217;m going to go out on  limb and assume that this script attacks the site&#8217;s &#8220;admin&#8221; user &#8211; the user account automatically created when WordPress is installed that automatically gets granted full rights.  If this is true (it&#8217;s been true of many similar attacks in the past) and easy way to reduce the risk of becoming a victim of such an attack would be to remove, disable or lower the privilege of the admin account.</p>
<p>To do this, click on Users, then Authors &amp; Users and then click on Edit next to your admin user.  I recommend changing the role to &#8220;<strong>Subscriber</strong>&#8220;, which basically gives them no rights.  Have a look at <a href="http://codex.wordpress.org/Roles_and_Capabilities">this codex entry for more information on user roles</a>.</p>
<h3>Restrict Access to Admin Functionality</h3>
<p>If you always access your WordPress site from the same location (physical location) then a viable tactic is to restrict access to your administration functionality to users from certain IP addresses.  Fortunately, this is fairly trivial to do.  The first step is to find out your IP address.  This can be done a variety of ways, the easiest being a web service such as <a href="http://www.whatismyip.com/">What is My IP?</a>, which is free and quick.  Once you&#8217;ve got your IP address, you&#8217;ll need to create a small text file on your server, called a htaccess file, that restricts access to this IP address.</p>
<p>Create a blank text file on your computer and paste the following text into it:</p>
<pre>Order Deny,Allow
Deny from all
Allow from x</pre>
<p>Replace the &#8220;x&#8221; with your IP address and save the file as .htaccess.  No, that&#8217;s not a typo, it&#8217;s .htaccess.  Note that if you&#8217;re on a Mac you&#8217;ll need to turn on hidden files because every file on a mac who&#8217;s filename begins with a period gets hidden from view.  See <a href="http://lifehacker.com/188892/show-hidden-files-in-finder">this post from LifeHacker on how to display hidden files in OSX</a> (it&#8217;s really not complicated).  Once you&#8217;ve done that, fire up your FTP program of choice (<a href="http://www.panic.com/transmit/">Transmit</a>, before you ask) and upload the .htaccess file you&#8217;ve just created to the wp-admin folder on the server.</p>
<p>You can read some additional information on .htaccess files here.  .htaccess files only work with the Apache web server platform.  If you use a different platform, such as Microsoft&#8217;s IIS, you&#8217;ll need to follow the appropriate instructions for that platform.</p>
<p><strong>A word of warning</strong>.  Using this technique is dangerous.  It&#8217;s a bit like using a sledgehammer to crack a nut.  If your IP address changes at some point in the future, which happens regularly with most home ADSL connections, or you need to access your site from a different location (when on the move, in a hotel or airport etc), you&#8217;re out of luck.  The only way around this is to change or remove the .htaccess file.  An alternative would be to add additional IP addresses to your white list.  To do this, just copy the line beginning &#8220;Allow from&#8221; and add a new IP address.</p>
<h3>Use A Plugin</h3>
<p>The third option, which is less involved than manually adding a new .htaccess file is to use a plugin.  One such plugin is called <a href="http://wordpress.org/extend/plugins/login-lockdown/">Login Lockdown</a> and is described by the developer as such:</p>
<blockquote><p>Login LockDown records the IP address and timestamp of every failed login attempt. If more than a certain number of attempts are detected within a short period of time from the same IP range, then the login function is disabled for all requests from that range. This helps to prevent brute force password discovery. Currently the plugin defaults to a 1 hour lock out of an IP block after 3 failed login attempts within 5 minutes. This can be modified via the Options panel. Admisitrators can release locked out IP ranges manually from the panel.</p></blockquote>
<p>This particular plugin, and there are many alternatives, uses login attempts from IP addresses to detect potential intrusions.  It takes a more conservative approach than a <em>defaults to blocking</em> .htaccess file and is configurable. This configuration, in theory, allows you to make the blocking more aggressive should you feel the need or less aggressive if it&#8217;s causing you issues.  Despite this level of configuration, using a plugin does result in a lack of control which means you can get caught flat footed should the type of attack change (for example, if the IP addresses of the attack machines keep changing).  For most users though, this reflects an acceptable compromise.</p>
<p>What tips do you have for securing your blogs against attacks like these? Let us know in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2009/12/01/wordpress-at-risk-from-new-automatic-distributed-attack-a-few-tactics-for-prevention/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What WordPress Needs to do to Progress</title>
		<link>http://www.oakinnovations.co.uk/blog/2009/01/02/what-wordpress-needs-to-do-to-progress/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2009/01/02/what-wordpress-needs-to-do-to-progress/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 01:55:08 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Web Technologies]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/?p=653</guid>
		<description><![CDATA[Like millions of others, I&#8217;m a heavy user of WordPress. I run multiple blogs and am involved with many more.  I&#8217;m also finding that the number of sites I visit daily that are powered by WordPress is growing rapidly.  Everything from small one-man-band blogs to offshoots of major media outlets.  But despite its success, there [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-193" title="Wordpress Logo" src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/wordpresslogo.png" alt="Wordpress Logo" width="273" height="74" />Like millions of others, I&#8217;m a heavy user of <a href="http://www.wordpress.org/">WordPress</a>. I run multiple blogs and am involved with many more.  I&#8217;m also finding that the number of sites I visit daily that are powered by WordPress is growing rapidly.  Everything from small one-man-band blogs to offshoots of major media outlets.  But despite its success, there are still some niggling issues that long time users will be more than familiar with. For their part,<a href="http://automattic.com/"> Automattic</a> (the creators of WordPress) have <a href="http://www.polldaddy.com/survey.aspx?id=6fc3e15cde20b5b5">asked the users which features should be focused on next</a>, and WordPress 2.7 has certainly been a huge improvement over the lacklustre 2.5 release, so in this regard it&#8217;s difficult to criticise Automattic.</p>
<p>I still feel, however, that it&#8217;s important to focus on areas for improvement.  This is traditionally, and understandably, difficult when it comes to a tool like WordPress.  The extensive plugin community fills many gaps, and typically provide more choice than a solution that is baked into the core of the application itself.  So let&#8217;s look at some of the low risk enhancements that could, and should, be made to WordPress in the coming releases.</p>
<h3>Search</h3>
<p>By far the most controversial of my suggestions is improving the search functionality. I&#8217;ve seen arguments for and against this.  The arguments for simply state that the current search mechanism isn&#8217;t good enough.  The arguments against state that there are plugins out there to improve search, and by using a plugin you can choose a solution that better suits your needs.  Nevertheless, there are basic improvements that can be made to the search functionality that wouldn&#8217;t put anyone&#8217;s nose out of joint.  I can&#8217;t see many, if any, people who rely on the search mechanism working the way it currently does.</p>
<p>Personally, I tend to switch the blogs I control over to using Google Site Search instead of the default WordPress search feature.  Despite the fact that people temporarily leave the site, the look and feel changes dramatically, and the risk that your latest content is yet to be indexed, it still provides a significantly better experience (and results) than the default search.</p>
<h3>Speed and Stability</h3>
<p>Despite recent improvements, WordPress sites can and do struggle under moderate to heavy loads. The simple fact is that they use more server resources than they really need to.  Once again, I need to reiterate that this situation has improved vastly over the last few releases (no doubt in part to the close work the WordPress team have done in conjunction with the MySQL guys), but it&#8217;s still got some way to go, and lags behind many other blogging and CMS tools.</p>
<h3>The API</h3>
<p>To say the current <a href="http://www.xmlrpc.com/">XML-RPC</a> based API implementation is crippled would be an understatement. Managing a site is still only really possible through the web backend, with publishing new content (and still not every attribute is available when doing that) the only real option available. Quite why tool developers can&#8217;t have easy access to administration functions, most notably comment moderation, I don&#8217;t know. I&#8217;d love for the WordPress iPhone application to be able to do more than just post new content, that&#8217;s typically not what I want to do on the go. What I&#8217;m more likely to want to do on the go, the sort of thing that you <strong>have to address urgently</strong>, is moderate comments. I want to be able to do that.</p>
<p>WordPress also uses APIs to access some of its feature set through themes and plugins.  For example, the creation of <a href="http://www.blogthemagazine.com/issue-2/how-to-custom-headers-in-wordpress-themes.html">custom headers</a> &#8211; as seen in the default WordPress theme, is achieved through an API. The documentation for these APIs is, for the most part, extremely poor, if it exists at all. Many theme developers are just teased with this functionality, knowing it&#8217;s there but unable to fully exploit it.</p>
<h3>Custom Fields and Customisation</h3>
<p>I use the custom fields in WordPress quite a bit.  To do certain things in templates, you have no choice.  But my using them is not an endorsement of them, in fact I&#8217;m really not a fan. Currently a custom field is simply a key &#8211; value pair that gets associated with a post.  If a key has been used previously, it appears in a drop down list for future selection. In some ways, such a simple solution is elegant, but in practice it causes problems and tends to make theme developers think twice before using them.  Especially if the theme is to be used by those who are not tech literate.</p>
<p>As a minimum, I would expect the following options for each custom attribute: -</p>
<ul>
<li>Whether it&#8217;s mandatory,</li>
<li>Whether it appears in the RSS feed, and if so, where (beginning, end?),</li>
<li>The type of data it contains (currently all custom values use the same text box which isn&#8217;t usable for large pieces of data),</li>
<li>Whether users can choose to add new custom fields or whether they are restricted to a pre-defined set.</li>
</ul>
<p>Going hand in hand with these changes would be a method of customising the write page to better incorporate custom fields. I know which is currently possible, but is only accessible to theme and plugin developers, not the site administrators &#8211; which seems non-sensical to me.</p>
<h3>Misc.</h3>
<p>In addition to the four major changes I&#8217;ve listed above, there are some other changes I&#8217;d like to see that may be more controversial &#8211; and less likely to be implemented.  These are: -</p>
<ul>
<li>Management of multiple blogs through one admin interface (WordPress MU is a start, but it&#8217;s something that would do well to be built into the main tool to ensure theme and plugin compatibility),</li>
<li>Better options for site administrators,</li>
<li>Better organisation of plugin options.</li>
</ul>
<p>What are your hopes for future WordPress releases?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2009/01/02/what-wordpress-needs-to-do-to-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Help Shape the Future of WordPress</title>
		<link>http://www.oakinnovations.co.uk/blog/2008/09/16/help-shape-the-future-of-wordpress/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2008/09/16/help-shape-the-future-of-wordpress/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 15:11:57 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/?p=611</guid>
		<description><![CDATA[WordPress, the number one blogging platform on the Internet, is undergoing another fairly major change for version 2.7.  Amongst the changes is a restructuring of the Administration menus, which have only recently been redesigned.  If you happen to be a WordPress user, either self hosting or on WordPress.com, you can take part in a survey [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wordpress.org/">WordPress</a>, the number one blogging platform on the Internet, is undergoing another fairly major change for version 2.7.  Amongst the changes is a restructuring of the Administration menus, which have only recently been redesigned.  If you happen to be a WordPress user, either self hosting or on <a href="http://www.wordpress.com/">WordPress.com</a>, you can <a href="http://www.polldaddy.com/survey.aspx?id=a02a1308a9f8d944">take part in a survey</a> that will help shape the navigation and grouping of options in the next version of WordPress.  If you use WordPress, I would highly recommend it.</p>
<p>One of the interesting things about this survey is that the WordPress team rather publically enlisted the help of some <a href="http://www.happycog.com/">usability experts</a> for the 2.5 release, which completely redesigned the back end interface.  Whilst there were undoubtedly many improvements, there are <a href="http://wordpress.org/support/topic/169595">still some</a> <a href="http://www.cre8d-design.com/blog/2008/04/15/a-nice-wordpress-25-admin-hack/">aspects</a> of the <a href="http://opposablethumbz.wordpress.com/2008/05/21/wordpress-usability-testing-after-the-fact/">adminstration</a> interface that need work, and many of us (including myself) have felt that the structure and organisation of administration options is one of them.</p>
<p>So take part in the survey, and have your voice heard.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2008/09/16/help-shape-the-future-of-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Implement a Robust, Usable Image Thumbnail Solution in WordPress</title>
		<link>http://www.oakinnovations.co.uk/blog/2008/08/31/how-to-implement-a-robust-usable-image-thumbnail-solution-in-wordpress/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2008/08/31/how-to-implement-a-robust-usable-image-thumbnail-solution-in-wordpress/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 14:03:35 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress Themes]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/?p=588</guid>
		<description><![CDATA[In this article I'll show you how to create a robust and usable thumbnail solution for WordPress themes.  One that will automatically resize images and optionally add borders and copyright watermarks.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/wordpresslogo.png"><img class="alignright size-medium wp-image-193" title="Wordpress Logo" src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/wordpresslogo.png" alt="" width="273" height="74" /></a>There&#8217;s a trend in modern <a title="Wordpress Blogging Platform" href="http://www.wordpress.org/">WordPress</a> theme design of incorporating image thumbnails into the template.  This is especially obvious when looking at Magazine style templates, or templates designed for image-heavy sites.  take a look at the work over at <a title="Woo Themes" href="http://www.woothemes.com/amember/go.php?r=1617">Woo Themes</a>, one of the most popular theme sellers, and you&#8217;ll see that all of their themes support thumbnails in one way or another.  So how do you go about adding an image thumbnail to a WordPress theme?</p>
<h3 style="text-align: left;">Background</h3>
<p style="text-align: left;">I&#8217;ve recently soft-launched a photoblog, which can be found at <a title="Simon T Photos" href="http://simontphotos.com/">http://simontphotos.com</a>.  I took a look around and none of the available WordPress themes grabbed me.  They were either too clunky, or cluttered, or distracting.  Or, at the other end, they were too simple and didn&#8217;t have the style I was after.  So I had to create my own.  I thought about it, and realised that to make the blog usable, I&#8217;d have to use thumbnails to draw people into the posts, getting them to view more of my photos.  I had another requirement, when viewing the main post, I wanted to display the image front and centre, outside of the main body of text.  This meant that for every post I needed two different sizes of of each image.  This isn&#8217;t something I wanted to do manually, so I needed a system of automatically resizing them.</p>
<p style="text-align: left;">Before tackling these requirements, it&#8217;s important to understand that there isn&#8217;t specific WordPress functionality for this task.  While it accepts and re-sizes images, it doesn&#8217;t make any images available to use in templates specifically.  They just appear in line with the rest of the post, which makes it difficult to style these images on their own.  It&#8217;s nigh on impossible to implement a thumbnail using in line images, and if you could to it, it would be a hack that would be difficult to use.  WordPress will also re-size images to sizes it feels are appropriate, which takes away an element of control.</p>
<h3 style="text-align: left;">Custom Fields to the Rescue</h3>
<p style="text-align: left;">Fortunately, WordPress provides a feature called &#8220;<a href="http://codex.wordpress.org/Using_Custom_Fields">Custom Fields</a>&#8220;.  This allows you to assign a value to a post and give that value a name.  So when you&#8217;re designing your theme, you specifically return the value of that custom field.  For the purpose of this post, we&#8217;ll be creating a custom field called &#8220;image&#8221;.  This will hold the URL of the image you want to associate with your post as a thumbnail.</p>
<p style="text-align: left;">The custom field feature can be found towards the bottom of the post creation page in WordPress.  The &#8220;key&#8221; is the name of the value, where &#8220;value&#8221; is the value itself.</p>
<h3 style="text-align: left;">Putting it to Work &#8211; The Post</h3>
<p style="text-align: left;">So now we have a plan, let&#8217;s put it into practice.  Adding a thumbnail to a post is a two step process.  Firstly, you have to upload the image, secondly, you have to associate that image with the post.  Of course, if you are using an image that&#8217;s hosted elsewhere, you can skip the first step.</p>
<p style="text-align: left;"><a href="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2008/08/imageurl.jpg"><img class="size-medium wp-image-589 alignright" title="An Uploaded Image in WordPress" src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2008/08/imageurl-300x253.jpg" alt="" width="300" height="253" /></a>We&#8217;re going to use the standard WordPress image management functionality to upload our images.  You should be familiar with this (click the &#8220;Add an image&#8221; button, choose an image to upload).  After uploading an image, you should be presented with a screen similar to the one to the right.  It&#8217;s the &#8220;Link URL&#8221; value we&#8217;re interested in.  This is the location on your site where this image lives.  This is a configurable location, but will usually  be in folders organised by date.  You want to copy this URL.  When you&#8217;ve done this, make sure to Save the changes, and not &#8220;Insert into Post&#8221;.</p>
<p style="text-align: left;">The next step is to associate that URL with the post.  This is done by creating a new custom field with the key &#8220;image&#8221; (Note:  I&#8217;ve used image, you can use anything so long as you remember it for the rest of this article).  The image below shows how to add a custom field.</p>
<p style="text-align: left;"><a href="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2008/08/imagecustomfield500.jpg"><img class="size-full wp-image-590 alignnone" title="Adding a custom field" src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2008/08/imagecustomfield500.jpg" alt="" width="500" height="191" /></a></p>
<p style="text-align: left;">Note that in the image above a drop down menu is present that contains the option &#8220;image&#8221;.  This drop down contains a list of all the custom field keys you have previously used.  If you&#8217;ve not used any, it won&#8217;t appear and you&#8217;ll have to manually type image into the Key field.  Then, simply paste the URL you copied earlier into the Value field, and click &#8220;Add Custom Field&#8221;.  That&#8217;s it, the image URL is now associated with your post.  So let&#8217;s look at getting that into your theme.</p>
<h3 style="text-align: left;">Putting it to Work &#8211; The Theme</h3>
<p style="text-align: left;"><strong>If you&#8217;re reading this post, I&#8217;m going to make an assumption about you &#8211; you are at least passingly familiar with WordPress Theme Development and PHP.  You may be able to work your way through this post if you&#8217;re not, but any problems you come across may be insurmountable.</strong></p>
<p style="text-align: left;">Retrieving a custom field in a WordPress theme is remarkable easy.  There&#8217;s a function called <a href="http://codex.wordpress.org/Function_Reference/get_post_meta">get_post_meta</a> which takes three arguments &#8211; the Post ID, the Key (or name) of the value, and whether you want it to only return one value or not.  When invoked it returns (note that it returns the value as opposed to printing it) the value held against that post with that key.  Use it like this:</p>
<pre style="text-align: left;">get_post_meta($post-&gt;ID, "image", true);</pre>
<p style="text-align: left;">That returns the URL of the image you have associated with the post.  All you have to do is echo out the URL as the SRC attribute of an IMG tag, like so:</p>
<pre style="text-align: left;">&lt;img src="&lt;?php echo(get_post_meta($post-&gt;ID, "image", true)); ?&gt;" /&gt;</pre>
<p style="text-align: left;">And that will display the image associated with your post in your theme.  This really is touching the surface of what&#8217;s capable and will display the image in the same size as it was uploaded as.  You&#8217;ll also want to wrap a link around the image and make sure there&#8217;s an alt attribute in there.  I would image you&#8217;d also want to add a class or two to help with styling.</p>
<h3 style="text-align: left;">Taking it a Step Further</h3>
<p style="text-align: left;">As I mentioned at the start of this post, I want to do something a bit different.  I need the image in two different sizes.  I don&#8217;t want to have to re-size the images myself and then upload multiple copies, that&#8217;s far too time consuming.  So what we need is a way to automatically re size the image depending on what we want to use it for.  Step Up <a title="PHPThumb PHP Thumbnail Generator" href="http://phpthumb.sourceforge.net/">phpThumb</a>.  phpThumb is an open source PHP script that will automatically re-size images for you.  One of the strengths of phpThumb is that is caches images, which means that it only re-sizes them once, saves the re-sized version on your server, and then serves the saved version.  This speeds up your page loads and reduces the strain on your server.  There are also a load of options, but we&#8217;ll look at those later.</p>
<p style="text-align: left;">To use phpThumb, you need to store the script in your themes folder (it doesn&#8217;t have to be, but it really is best if you plan on making the theme portable).  Then, instead of calling the image directly you call the phpThumb script and give it the URL of the image you want to re-size and the size you want to output to be.  So, instead of this:</p>
<pre style="text-align: left;">&lt;img src="http://www.yoursite.com/image.jpg" /&gt;</pre>
<p style="text-align: left;">You will have this:</p>
<pre style="text-align: left;">&lt;img src="http://www.yoursite.com/phpthumb.php?src=image.jpg&amp;w=100&amp;h=75" /&gt;</pre>
<p style="text-align: left;">The second URL will result in an image that&#8217;s been scaled to 100 pixels wide by 75 pixels high whereas the first one will just display the image in its native size.  The first time this URL is called, phpThumb will re-size the image and save it on your server.  Subsequent calls will simply serve the previously saved image.  So, to incorporate that into our theme, we would do something like this:</p>
<pre style="text-align: left;">&lt;img src="&lt;?php echo TEMPLATEPATH; ?&gt;/phpthumb.php?src=
&lt;?php echo (get_post_meta($post-&gt;ID, "image", true)); ?&gt;
&amp;w=100&amp;h=75" /&gt;</pre>
<p style="text-align: left;">That code will result in the image you added to your post being re-sized to 100 by 75 pixels and displayed.  Easy, huh?  <strong>Warning:</strong> The script above makes some assumptions about the location of the phpThumb script, please change it as necessary to suit your needs.</p>
<h3 style="text-align: left;">Getting Super-Advanced</h3>
<p style="text-align: left;">I bet you&#8217;re pretty happy with the results.  But there&#8217;s so much more you can do with phpThumb.  Below is the function I use to generate the phpThumb URL.</p>
<pre style="text-align: left;">&lt;?php
function thumbnail_url_builder($url,$width,$height,$zc,$copyright) {
    /* 
        This custom function uses the PHP Thumb script to build a URL for a scaled image
        There are additional options like copyright, size and whether to Zoom Crop
<span>        To see more information on PHP Thumb - <a href="http://phpthumb.sourceforge.net/">http://phpthumb.sourceforge.net/</a></span>
    */
    $tn_url = get_bloginfo('template_url').'/phpThumb/phpThumb.php?'; //  Base PHPThumb URL
    $tn_url .= 'src='.$url;  // Add original image URL
    $tn_url .= '&amp;amp;w='.$width; //  Add Width
    $tn_url .= '&amp;amp;h='.$height; //  Add Height
    $tn_url .= '&amp;amp;q=90'; //  Add Quality, default to 90
    //  Zoom Crop or not?
    if ($zc == 'true') {
        $tn_url .= '&amp;amp;zc=1'; //  Zoom Crop is true (On)
    } else {
        $tn_url .= '&amp;amp;zc=0'; //  Zoom Crop is false (off)
    }
    //  Add copyright?
    if ($copyright == 'true') {
        $tn_url .= '&amp;amp;fltr[]=wmt|Copyright 2008|2|BR|FFFFFF||50'; //  Add copyright
    }
    $tn_url .= '&amp;amp;f=jpg'; //  Set Output Format
    return $tn_url;
}
?&gt;</pre>
<p style="text-align: left;">This function provides me with several options.  I can control the size, quality and format of the image as well as optionally adding a copyright watermark and deciding whether I want to use Zoom Crop (Zoom Crop will display part of the image, in the requested size, retaining its aspect ratio.  Turning it off will display the full image in the requested size but will change the aspect ratio) or not.  I&#8217;m not going to go through the options in detail, they are all covered in detail on the phpThumb site.  But as you can see, the tool is pretty versatile and works well when trying to create thumbnails.  My function is called like so:</p>
<pre style="text-align: left;">&lt;?php
        if (get_post_meta($post-&gt;ID, "image", true)) {
            //  There is an image
            //  Get the url for a scaled version of the image
            $tn_url =
thumbnail_url_builder(get_post_meta($post-&gt;ID, "image", true),'289','100','true','false');
            //  File does exist, go ahead and print it
            ?&gt;
            &lt;p&gt;&lt;a href="&lt;?php the_permalink(); ?&gt;"&gt;
&lt;img src="&lt;?php echo $tn_url ?&gt;"
alt="&lt;?php the_title(); ?&gt;" /&gt;&lt;/a&gt;&lt;/p&gt;
        &lt;?php</pre>
<pre style="text-align: left;">        } // end if image
?&gt;</pre>
<p>If you try this technique, be sure to let us know your results and / or any problems you come across.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2008/08/31/how-to-implement-a-robust-usable-image-thumbnail-solution-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Effectively add Links to your Blog Posts</title>
		<link>http://www.oakinnovations.co.uk/blog/2007/09/08/how-to-effectively-add-links-to-your-blog-posts/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2007/09/08/how-to-effectively-add-links-to-your-blog-posts/#comments</comments>
		<pubDate>Sat, 08 Sep 2007 19:57:11 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/2007/09/08/how-to-effectively-add-links-to-your-blog-posts/</guid>
		<description><![CDATA[Linking is the lifeblood of the internet. Without the ability to link, the internet would be a very difficult place to frequent. The same is true for sites and blogs, without links to expand on ideas, provide further reading and guide your readers to usefull content, a blog can become a very unwelcoming place. There [...]]]></description>
			<content:encoded><![CDATA[<p>Linking is the lifeblood of the internet.  Without the ability to link, the internet would be a very difficult place to frequent.  The same is true for sites and blogs, without links to expand on ideas, provide further reading and guide your readers to usefull content, a blog can become a very unwelcoming place.  There are, of course, other reasons for providing thorough linking throughout your content, not least search engine optimisation and reducing bounce rates.  Therefore, you should try and link to relevant content as much as possible, be it within the same site, or not.</p>
<p><span id="more-248"></span><p style="margin-top: 15px; margin-bottom: 15px"><script type="text/javascript"><!--
			google_ad_client = "pub-6658933383054976";
			google_ad_slot = "0000000000";
			google_ad_width = 468;
			google_ad_height = 60;
			//--></script>
			<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p></p>
<p>So that&#8217;s the &#8220;why&#8221; out of the way, what about the &#8220;how&#8221;?  I&#8217;ve previously covered two plugins that assist you with linking in WordPress Blogs by automatically turning certain strings of text into links in my <a href="http://www.oakinnovations.co.uk/blog/2007/08/09/5-crucial-but-invisible-wordpress-plugins/" title="5 Crucial but Invisible WordPress Plugins">crucial but invisible WordPress plugins</a> post.  One will automatically turn typed <a href="http://www.coffee2code.com/wp-plugins/" title="Auto-hyperlink URLs">URLs into hyperlinks</a>, and the other will automatically turn <a href="http://www.centrostudilaruna.it/huginnemuninn/2007/07/17/plugin-per-wordpress-categories-autolink/" title="Categories Autolink">category names into hyperlinks</a>.  Both these plugins require very little to no maintenance and just work as advertised.  I wasn&#8217;t overstating the fact when I called them crucial.</p>
<p>Today, I&#8217;ve added a new tool to my arsenal.  While reading the excellent Daily Blog Tips blog, I came across a post on <a href="http://www.dailyblogtips.com/10-easy-ways-to-improve-internal-linking-on-your-blog/" title="10 Easy Ways to Improve internal Linking">10 Easy Ways to Improve Internal Linking</a>.  Within that post is a link to a plugin called <a href="http://headzoo.com/alinks" title="aLinks WordPress Plugin">aLinks</a>.  aLinks allows you to turn any phrase or word into a link, this makes linking to other sites, and other pages on the same site, an absolute breeze.  Now, instead of having to type out the URL every time you want to link to another one of your posts, you can just type its name, and aLinks will automatically turn it into a link for you.  Another factor which makes this plugin very easy to recommend is the excellent help file that comes with it, a help file which is accessible, and appropriately linked to, from the WordPress admin interface.  I wish more plugins did this.  There is also a nice module implementation, so you can expand the functionality quickly and easily, but only if you need to.</p>
<p>I thoroughly recommend it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2007/09/08/how-to-effectively-add-links-to-your-blog-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2 Ways to Automatically get your Content &quot;Out There&quot;</title>
		<link>http://www.oakinnovations.co.uk/blog/2007/08/26/2-ways-to-automatically-get-your-content-out-there/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2007/08/26/2-ways-to-automatically-get-your-content-out-there/#comments</comments>
		<pubDate>Sun, 26 Aug 2007 16:03:47 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/2007/08/26/2-ways-to-automatically-get-your-content-out-there/</guid>
		<description><![CDATA[One of the great blogging challenges is getting your content out there for people to see. For the most part, this involves manually promoting your site and spending lots of time (and money!) finding places to post links and just generally doing the promotion thing. Luckily, there are a few easy, free and automatic ways [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/sitemappluginprefs.png" title="SiteMap Plugin Preferences"><img src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/sitemappluginprefs.thumbnail.png" title="SiteMap Plugin Preferences" alt="SiteMap Plugin Preferences" align="right" /></a>One of the great blogging challenges is getting your content out there for people to see.  For the most part, this involves manually promoting your site and spending lots of time (and money!) finding places to post links and just generally doing the promotion thing.  Luckily, there are a few easy, free and automatic ways to get your content out there in front of your potential audience.  I&#8217;ll cover two such methods in this post and how to automatically set them up in everyone&#8217;s favourite blogging tool, WordPress.</p>
<p><span id="more-214"></span><br />
<p style="margin-top: 15px; margin-bottom: 15px"><script type="text/javascript"><!--
			google_ad_client = "pub-6658933383054976";
			google_ad_slot = "0000000000";
			google_ad_width = 468;
			google_ad_height = 60;
			//--></script>
			<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p><br />
<strong>Google Sitemaps</strong> &#8211; For better or for worse, Google is still the search engine king.  While there are many &#8220;Search Engine Optimisation&#8221; facilities out there, the very first thing you should do is make sure Google knows about your site.  For many people, this means just submitting it to Google.  However, if you do this there&#8217;s no telling when Google will get round to indexing your site, and then when any further content you create gets indexed.  So why not tell Google about your site in a format it understands, why not tell it to index specific pages and give it the structure of your site.  Better still, why not also tell Google when your site is updated, so it knows to come and have a look again?  Luckily, there&#8217;s a way to do this through sitemaps.  A sitemap is an XML file that you put on your server, and point Google at.  The XML file contains the structure of your site, and all the pages contained within.  Creating a sitemap yourself is not recommended.  Not only is it incredibly tedious, but oyu&#8217;ll have to update it everytime you post new content.  It&#8217;s also quite likely you&#8217;ll make some mistakes.  There are some excellent tools out there, such as <a href="http://www.xml-sitemaps.com/" title="Google Sitemap Generator">XML Sitemaps</a>, that generate sitemaps automatically, which is a bonus.  Better still, if you&#8217;re a WordPress user you can use the <a href="http://www.oakinnovations.co.uk/blog/2007/08/09/5-crucial-but-invisible-wordpress-plugins/" title="5 Crucial but Invisible WordPress Plugins">previously mentioned</a> <a href="http://www.arnebrachhold.de/2005/06/05/google-sitemaps-generator-v2-final" title="Google Sitemaps WordPress Plugin">Google Sitemaps Plugin</a>.</p>
<p><a href="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/pingserverlist.png" title="Ping Services"><img src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/pingserverlist.thumbnail.png" title="Ping Services" alt="Ping Services" align="right" /></a><strong>Ping Services</strong> &#8211; With the introduction of XML services, and specifically RSS, a whole bunch of services sprang up that grab all this content to make it available to users.  Visitors can then visit these services and see the recently updated sites and all sorts of other information.  When you let one of these sites know you&#8217;ve updated your site, this is known as &#8220;pinging&#8221;.  <a href="http://www.technorati.com" title="Technorati Blog Aggregator">Technorati</a> is an example of one of these services, and the functionality that can be built around services like this.  Not all are the size of Technorati, and not all provide the amount of functionality, but they all provide benefit, even if it&#8217;s just a handfull of visitors every day.  The old fashioned way of letting these services know you had updated your site was to go to a page, paste in the URL of your site&#8217;s feed, and submit it.  This worked, but pinging more than a handfull of services was time consuming.  Fortunately, WordPress lets you automatically ping as many of these services as you want whenever you post.  The image to the left (click to enlarge) shows you where you can add the list of these services in WordPress.  If you&#8217;re wondering how you find out about services to use, there&#8217;s a <a href="http://codex.wordpress.org/Update_Services" title="List of update Services">handy list</a> to be found in the WordPress Documentation.</p>
<p>By combining these two tips, you are guaranteeing two important traffic sources know about your latest and greatest content, and can start sending visitors your way.</p>
<p>I&#8217;ve posted a number of tips to do with blogging over the past couple of weeks, if you enjoyed this tip, why not have a look at One Week to a Better Blog, <a href="http://www.oakinnovations.co.uk/blog/2007/08/04/how-to-scientifically-identify-content-thats-perfect-for-your-blog/" title="Scientifically identifying content for your blog">How to Scientifically Identify Content that&#8217;s Great for your Blog</a> and <a href="http://www.oakinnovations.co.uk/blog/2007/08/12/5-simple-steps-to-a-better-blog/" title="5 Simple Steps to a Better Blog">5 Simple Steps to a Better Blog.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2007/08/26/2-ways-to-automatically-get-your-content-out-there/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 Crucial, but Invisible, WordPress Plugins</title>
		<link>http://www.oakinnovations.co.uk/blog/2007/08/09/5-crucial-but-invisible-wordpress-plugins/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2007/08/09/5-crucial-but-invisible-wordpress-plugins/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 23:41:25 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[5 Things]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/2007/08/09/5-crucial-but-invisible-wordpress-plugins/</guid>
		<description><![CDATA[I&#8217;m a huge fan of WordPress. It just seems to be the most complete Open Source project out there, and not just web based open source applications, all open source applications. One of it&#8217;s great strengths is that the developers made an excellent decision with regards to leaving functionality out. As most developers will tell [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/wordpresslogo.png" title="Wordpress Logo"><img src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/08/wordpresslogo.thumbnail.png" title="Wordpress Logo" alt="Wordpress Logo" align="right" /></a>I&#8217;m a huge fan of <a href="http://www.wordpress.org/" title="Wordpress Blogging Platform">WordPress</a>.  It just seems to be the most complete Open Source project out there, and not just web based open source applications, all open source applications.  One of it&#8217;s great strengths is that the developers made an excellent decision with regards to leaving functionality out.  As most developers will tell you, this is often the hardest part of any project, and is a skill in itself.  Fortunately, by leaving certain features out of the core product, WordPress have allowed a thriving plugin community to spring up, and there are some real gems to be found.  Now I&#8217;ll try my best not to recover ground that&#8217;s been covered elsewhere, so I&#8217;m going to give you my five favourite WordPress plugins that keep your blog running smoothly, but remain almost invisible to your users.</p>
<p><span id="more-191"></span><br />
<p style="margin-top: 15px; margin-bottom: 15px"><script type="text/javascript"><!--
			google_ad_client = "pub-6658933383054976";
			google_ad_slot = "0000000000";
			google_ad_width = 468;
			google_ad_height = 60;
			//--></script>
			<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p></p>
<ol>
<li> <a href="http://www.protectwebform.com/plugin_wordpress" title="CAPTCHA From ProtectWebForm">CAPTCHA, From ProtectWebForm</a> &#8211; Akismet is great, it catches a whole bunch of spam and keeps your comments section clean.  However, the fact that the comments are getting as far as Akismet means that each and every failed Spam comment is taking up valuable resource on your server.  So why not stop them before it gets that far.  The plugin supplied by ProtectWebForm allows JavaScript enabled browsers (almost all of them) to post with no problems, if there is no JavaScript a CAPTCHA test is displayed.  The key is, almost all spam bots don&#8217;t understand JavaScript, so they can&#8217;t submit comments at all!  Genius.  And even if a genuine user wants to leave a comment, but have JavaScript disabled, they can simply complete the CAPTCHA test and comment away.  On one of my blogs which receives a large amount of spam, the installation of this plugin saw Spam comments caught by Akismet drop from over a thousand a day to 1 or 2, it&#8217;s THAT good.  The upshot is you can allow largely un-moderated comments on your blog, confident in the fact that the vast majority of spam comments will get caught by this plugin, and the rest will be caught by Akismet.  That&#8217;s the policy I use on this blog, and there aren&#8217;t any spam comments, nor have there ever been.  Combine this with the excellent <a href="http://sw-guide.de/wordpress/simple-trackback-validation-plugin/" title="Simple Trackback Validation">Simple Trackback Validation</a> plugin to stop trackback spam as well.</li>
<li><a href="http://mnm.uib.es/gallir/wp-cache-2/" title="WP-Cache WordPress Plugin">WP-Cache</a> &#8211; Anyone who&#8217;s had a site go <a href="http://www.oakinnovations.co.uk/blog/2007/04/02/the-digg-effect-and-unreliable-hosts/" title="The digg effect and unreliable hosts">down under a heavy load</a>, a <a href="http://web2.0-blog.com/2007/02/28/quantifying-the-digg-effect/" title="Quantifying the digg effect">digg</a> perhaps, will appreciate this plugin.  Essentially, it converts all the dynamic pages on your blog into static pages.  This greatly reduces the load on the server, especially under heavy stress, as the database does not need to be queried multiple times for every page load.  All that sounds great, but this plugin goes a few steps beyond that.  Each static page is updated regularly, so they are never stale.  They are also automatically updated if the content changes at all, for example if someone leaves a comment or you update the post.  This plugin requires no maintenance and you will only realise it&#8217;s even there when your site remains up under a particularly heavy load.</li>
<li>Autolink Plugins &#8211; I use two plugins on this blog that counteract my inherent laziness.  The first is <a href="http://www.centrostudilaruna.it/huginnemuninn/2007/07/17/plugin-per-wordpress-categories-autolink/" title="Categories Autolink">Categories Autolink</a>, which turns any word that matches the name of a category on your blog, into a link pointing to that category.  Great for pointing visitors to other related content on your blog with absolutely zero effort.  The second simply turns URLs into hyperlinks, and is called <a href="http://www.coffee2code.com/wp-plugins/" title="Auto-hyperlink URLs">Auto-hyperlink URLs</a>.  So if I type www.google.com, it automatically becomes a link without me having to go through the hugely time consuming process of adding the link manually (if it appears as a link for you, that&#8217;s the plugin in action).</li>
<li><a href="http://seologs.com/duplicate-content-cure/" title="Wordpress Duplicate Content Cure">WordPress Duplicate Content Cure</a> &#8211; For some reason, Google has a bit of a problem understanding the way blogs constantly link to their own content.  Whether this is linking to an older post, or the fact that links to posts occur across many pages, the homepage, the categories page, the archives by date and others.  This plugin adds some confusing stuff to your pages, possibly magic, that prevents Search Engines from indexing your content in multiple locations.  You&#8217;ll know that you need this plugin if you Google your blog and all the results have the &#8220;Supplemental Result&#8221; marker next to them.  A word to the wise though, even after installing this plugin it can still take a while for you to lose the Supplemental status.  I still haven&#8217;t completely lost it on all my pages, but other users have reported complete successes.</li>
<li><a href="http://www.arnebrachhold.de/redir/sitemap-home/" title="Google (XML) Sitemaps">Google (XML) Sitemaps</a> &#8211; If you build it, they won&#8217;t come.  You need to go out there and grab an audience.  Yet, even in this social, Web 2.0 world, a large proportion of your traffic will come from search engines.  In fact, Google alone sends over 40% of this site&#8217;s traffic every day.  So how do you make sure Google knows how to get around your site?  Well you send it a description of your site that it can understand, a map of your site if you will.  If you were to do this manually, it would be incredibly tedious.  Fortunately, Google supports an industry standard XML schema for sitemaps, a schema that this plugin follows.  Essentially, every time you add content this plugin updates the sitemap and tells Google that it needs to come and have a look at the changes.  I can pretty much guarantee that if you use this plugin, your Google search rankings will improve (warning:  Not a real guarantee!).</li>
</ol>
<p>I hope this list has given you some food for thought.  It&#8217;s sometimes worth remembering that your blog needs some under-the-bonnet work, just to keep it running smoothly.  If these plugins work correctly, they will be completely invisible to your users, which is kind of the point.</p>
<p>I&#8217;d like to give some honorable mentions to the following:</p>
<ul>
<li><a href="http://www.g-loaded.eu/2006/01/05/add-meta-tags-wordpress-plugin/" title="Add Meta Tags">Add Meta Tags</a> &#8211; Yes, they are still important, and this plugin in does it all.</li>
<li><a href="http://www.mutube.com/projects/wordpress/adsense-manager/?utm_source=plugin&amp;utm_medium=admin" title="Adsense Manager">Adsense Manager</a> &#8211; If you use Adsense, you are going to be interested in this plugin which allows you to easily place adverts in your posts and in certain other areas of your blog.  You can create multiple ads in different zones and ensure consistent colourisation.  Very nifty.</li>
<li><a href="http://akismet.com/" title="Akismet">Akismet</a> &#8211; This is a given.  It comes with new WordPress installations and does an absolutely stellar job of stopping spam.</li>
<li><a href="http://orderedlist.com/wordpress-plugins/feedburner-plugin/" title="Feeburner Feed Replacement">Feedburner Feed Replacement</a> &#8211; If you use Feedburner, you&#8217;ll want this plugin which automatically replaces the feed URLs WordPress generates with ones that point to your Feedburner feed.  No mess.  No fuss.</li>
</ul>
<p>Hopefully you enjoyed this post.  If you did, why not subscribe to ensure you don&#8217;t miss out on any future content.  If you have any WordPress plugins you simply cannot do without, let us know in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2007/08/09/5-crucial-but-invisible-wordpress-plugins/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>5 Services Every Blogger Should Know About</title>
		<link>http://www.oakinnovations.co.uk/blog/2007/03/26/5-services-every-blogger-should-know-about/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2007/03/26/5-services-every-blogger-should-know-about/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 20:32:15 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[5 Things]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/?p=74</guid>
		<description><![CDATA[There are many, many blogs out there. Some are better than others. Some that are not so good seem to get more traffic than they may deserve and some really good blogs remain fairly obscure. There are ways to give your blog a competitive edge however, so I&#8217;ll run through them just to even the [...]]]></description>
			<content:encoded><![CDATA[<p>There are many, many blogs out there.  Some are better than others.  Some that are not so good seem to get more traffic than they may deserve and some really good blogs remain fairly obscure.  There are ways to give your blog a competitive edge however, so I&#8217;ll run through them just to even the score a bit.  These are very much aimed at the &#8220;beginner&#8221; end of the market, I&#8217;m sure you pro-bloggers out there can add to this list.  And hey, these work for me, you and your blog may be different.  As always, your mileage may vary.</p>
<p><span id="more-74"></span></p>
<ol>
<li><a href="http://www.feedburner.com/" title="Feed Burner Site Feed services">Feedburner</a> &#8211; So you&#8217;ve got a feed on your blog?  Great!  Thats  a step in the right direction.  Why not spruce up your feed using Feed Burner<img src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/03/feedburnerlogo.png" title="Feedburner Logo" alt="Feedburner Logo" align="right" />.  Not only does it give you detailed stats about your subscribers but it also lets you easily promote your feed and add some cool toys such as del.icio.us links and tools to email stories.  Also, once you sign up to Feed Burner it lets you email your new stories to your readers, this is a great tool if the subject, or readers, of your blog are less tech savvy and/or scared of that little orange RSS symbol.</li>
<li>Google Adsense &#8211; So you&#8217;ve got your blog, and you&#8217;ve got some readers.  Now, how about paying those bills?  Even fairly small blogs can run up some substantial bills.  This blog, for instance, uses around 10Gb of bandwidth every month.  Getting that much allowance in a host that isn&#8217;t pig slow isn&#8217;t exactly cheap.  The best way to pay the bills for bloggers is still Google Adsense.  There are others out there, such as Text Link Ads, but their different approach can lead to the smaller sites not making a proportionate amount.  The reason Google Adsense works for bloggers is that your advertisements change when your content changes, and we all know bloggers aren&#8217;t too hot at staying on topic.  The key is to make your ads clickable but not obtrusive and annoying.<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6658933383054976";
google_ad_output = "textlink";
google_ad_format = "ref_text";
google_cpa_choice = "CAAQnfzw4AIaCPmw4TvhrEDcKN2uuIEB";
google_ad_channel = "5185787215";
//-->
</script><br />
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></li>
<li><a href="http://www.pingoat.com/" title="Pingoat Ping Service">PinGoat</a> &#8211; Awful name, good service.  What Ping Goat does is simple, it lets a whole bunch of sites know about your content.  You pick the sites you want to inform, enter the address of your site&#8217;s RSS feed and hit go.  From there it will let all the sites you selected know about your content.  Bookmark the results page and then just call it up each time you add new content.  It saves you having to do the work manually and submits the info to <em>allot</em> of sites.</li>
<li><a href="http://www.stikkit.com/" title="Stikkit">Stikkit</a> &#8211; Oh, how I love Stikkit.  As someone who really needs to be pushed to add new posts (its a memory thing, really) Stikkit always keeps me on my toes.  The way it works is, you create a <a href="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/03/stikkit-3.png" title="Stikkit Meeting"><img src="http://www.oakinnovations.co.uk/blog/wp-content/uploads/2007/03/stikkit-3.thumbnail.png" title="Stikkit Meeting" alt="Stikkit Meeting" align="right" /></a>stikkit which is just a box that allows free typing, and stikkit figures out that you meant and then acts upon it.  So, I have a stikkit with a list of post ideas, stikkit translates this into a to-do list so I can check them off to avoid repetition.  I&#8217;ve also added a simple line to the end, &#8220;remind me every tuesday 5pm&#8221;, which means stikkit will send me an email every tuesday reminding me to blog!  The reason I like stikkit is simple, it works for me as a blogger but it would also work for me as a project manager or whatever else I want to use it for.  Its so adaptable and so easy to use, it really makes your life easier as a blogger.</li>
<li>News Sites &#8211; Its quite hard for most bloggers to be proactive in creating content, most are reactionary creatures, posting articles about whatever the hot news is at the time.  So finding this hot news is increasingly important.  One of the best ways of finding this content is to have a list of sites that either aggregate this content or provide you with whats popular.  For this purpose, sites like <a href="http://www.digg.com/" title="Digg Social news">digg</a>, <a href="http://del.icio.us/" title="delicious social bookmarking">del.icio.us</a>, <a href="http://www.technorati.com" title="Technorati Blog Aggregator">Technorati</a>, <a href="http://news.google.com/" title="Google News">Google News</a>, and for those interested in tech news, <a href="http://www.techmeme.com/" title="TechMeMe">Techmeme</a>, are absolutely invaluable.</li>
</ol>
<p>Is there anything I&#8217;ve missed?  If so, let me know in the comments.  I&#8217;m sure something like a statistics package should be in there, something like Google Analytics, but you need a fair amount of traffic before something like that is really necessary.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2007/03/26/5-services-every-blogger-should-know-about/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Post Installation Checklist</title>
		<link>http://www.oakinnovations.co.uk/blog/2007/01/15/wordpress-post-installation-checklist/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2007/01/15/wordpress-post-installation-checklist/#comments</comments>
		<pubDate>Tue, 16 Jan 2007 00:45:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/?p=23</guid>
		<description><![CDATA[There&#8217;s a good post over at Download Squad that goes through some essential things that must be done after installing WordPress. Seeing as that&#8217;s something I&#8217;ve just done, I can whole heartedly concur, except for a few settings here and there and their choice of plugins. Its a good post if your new to this [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a good post over at <a title="Download Squad, WordPress Post iantallation checklist" href="http://www.downloadsquad.com/2007/01/15/wordpress-the-complete-post-install-checklist/">Download Squad</a> that goes through some essential things that must be done after installing WordPress.  Seeing as that&#8217;s something I&#8217;ve just done, I can whole heartedly concur, except for a few settings here and there and their choice of plugins.  Its a good post if your new to this sort of thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2007/01/15/wordpress-post-installation-checklist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Quick Note on Installing Worpress and Permalinks</title>
		<link>http://www.oakinnovations.co.uk/blog/2007/01/05/a-quick-note-on-installing-worpress-and-permalinks/</link>
		<comments>http://www.oakinnovations.co.uk/blog/2007/01/05/a-quick-note-on-installing-worpress-and-permalinks/#comments</comments>
		<pubDate>Sat, 06 Jan 2007 01:54:04 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Oak Innovations]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.oakinnovations.co.uk/blog/?p=13</guid>
		<description><![CDATA[As you may have noticed this blog is driven by WordPress, the very fine blogging platform. I&#8217;ve installed a number of WordPress implementations over the last year but this is the first one I&#8217;ve had any problems with, and this is why. Usually, I settle for the standard, prettyish permalink setting that includes the index.php [...]]]></description>
			<content:encoded><![CDATA[<p>As you may have noticed this blog is driven by <a title="Wordpress" href="http://www.wordpress.org/">WordPress</a>, the very fine blogging platform.  I&#8217;ve installed a number of WordPress implementations over the last year but this is the first one I&#8217;ve had any problems with, and this is why.</p>
<p>Usually, I settle for the standard, prettyish <a title="Wordpress Permlink page" href="http://codex.wordpress.org/Using_Permalinks">permalink</a> setting that includes the index.php prefix.  So the result is a link that looks like &#8220;&#8230;/index.php/2006/12/10/post-name/&#8221; and thats been fine.  I&#8217;ve been limited to this because for the most part I use IIS servers.  For this blog, however, I thought I would go with a Linux hosting package and take advantage of mod_rewrite to have proper pretty permalinks.  So I set up the main part of the site, which can be found at <a title="Oak Innovations" href="http://www.oakinnovations.co.uk/">http://www.oakinnovations.co.uk/</a> and wrote a nice little .htaccess file to enable pretty permalinks for those pages.  And it works a treat.</p>
<p>Now, I&#8217;d heard that WordPress automagically sets up .htaccess for you once you choose the permalink options, unfortunately, this just wasn&#8217;t the case for me.  Yes, it created a .htaccess file and seemed to add the correct rules but it just wouldn&#8217;t work.  After much searching It was starting to look as if this may be a problem with my host, <a title="Domain Names and other services" href="http://www.godaddy.com/">godaddy.com</a>.  Reading these <a title="Wordpress Support Forum" href="http://wordpress.org/support/topic/28464">forum posts</a> would lead you to think the same I&#8217;m sure.</p>
<p>I&#8217;ve used Godaddy before for other sites and not had any problems, in fact, I&#8217;ve found them to be very good, so I wasn&#8217;t going to believe that they could have a problem as fundamental as detailed in the forum posts above.  Thats when it struck me.  This WordPress installation is sitting in a sub directory called &#8220;blog&#8221; but for some reason, the mod_rewrite rules seemed to assume that WordPress was in the root directory of the domain.  So, I copied the WordPress generated rules and popped them in my main htaccess file and &#8230; bingo!  Success.  So for all those out there experiencing similar problems, and theres seems to be a few, try that approach and see where it gets you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oakinnovations.co.uk/blog/2007/01/05/a-quick-note-on-installing-worpress-and-permalinks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

