O:9:"MagpieRSS":19:{s:6:"parser";i:0;s:12:"current_item";a:0:{}s:5:"items";a:10:{i:0;a:14:{s:5:"title";s:31:"Yoast – New & Improved images";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/rRXCSlWZvRw/";s:4:"guid";s:24:"http://yoast.com/?p=4146";s:8:"comments";s:111:"http://yoast.com/yoast-improved-image/#utm_source=rss&utm_medium=rss&utm_campaign=yoast-improved-image#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:107:"http://yoast.com/yoast-improved-image/#utm_source=rss&utm_medium=rss&utm_campaign=yoast-improved-imagefeed/";}s:5:"slash";a:1:{s:8:"comments";s:2:"41";}s:7:"pubdate";s:31:"Mon, 25 Apr 2011 21:36:47 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:8:"category";s:14:"OfftopicAvatar";s:11:"description";s:734:"<p>I've been known online by my avatar for quite a few years now, even having people in conferences come up to me and say they recognized me from it. The original credit for the avatar goes to Paul Madden, the SEO formerly known as SEO Idiot. I decided it was time to start taking this [...]</p><p><a href="http://yoast.com/yoast-improved-image/">Yoast &#8211; New &#038; Improved images</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:1538:"<p>I've been known online by my avatar for quite a few years now, even having people in conferences come up to me and say they recognized me from it. The original credit for the avatar goes to <a href="http://www.paulmadden.co.uk/">Paul Madden</a>, the SEO formerly known as SEO Idiot. I decided it was time to start taking this exercise in personal branding a step further, so I'm having a friend and talented illustrator, <a href="http://www.erwinbrouwer.nl/">Erwin Brouwer</a>, draw some more images of me. </p>
<p>I thought it'd be fun to share the first two here for your enjoyment. One is me in a business suit, the other one me as superman, inspired by <a href="http://twitter.com/Pamela_Lund/status/54985495578554368">this tweet</a> from Pamela Lund. So here we go:</p>
<p><img src="http://yoast.com/wp-content/uploads/2011/04/Yoast-Drawn.jpg" alt="" title="Yoast - Drawn" width="500" height="300" class="aligncenter size-full wp-image-4147" /></p>
<p>Let me know what you think in the comments!</p>
<p><a href="http://yoast.com/yoast-improved-image/">Yoast &#8211; New &#038; Improved images</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/rRXCSlWZvRw" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:102:"http://yoast.com/yoast-improved-image/#utm_source=rss&utm_medium=rss&utm_campaign=yoast-improved-image";}s:7:"summary";s:734:"<p>I've been known online by my avatar for quite a few years now, even having people in conferences come up to me and say they recognized me from it. The original credit for the avatar goes to Paul Madden, the SEO formerly known as SEO Idiot. I decided it was time to start taking this [...]</p><p><a href="http://yoast.com/yoast-improved-image/">Yoast &#8211; New &#038; Improved images</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:1538:"<p>I've been known online by my avatar for quite a few years now, even having people in conferences come up to me and say they recognized me from it. The original credit for the avatar goes to <a href="http://www.paulmadden.co.uk/">Paul Madden</a>, the SEO formerly known as SEO Idiot. I decided it was time to start taking this exercise in personal branding a step further, so I'm having a friend and talented illustrator, <a href="http://www.erwinbrouwer.nl/">Erwin Brouwer</a>, draw some more images of me. </p>
<p>I thought it'd be fun to share the first two here for your enjoyment. One is me in a business suit, the other one me as superman, inspired by <a href="http://twitter.com/Pamela_Lund/status/54985495578554368">this tweet</a> from Pamela Lund. So here we go:</p>
<p><img src="http://yoast.com/wp-content/uploads/2011/04/Yoast-Drawn.jpg" alt="" title="Yoast - Drawn" width="500" height="300" class="aligncenter size-full wp-image-4147" /></p>
<p>Let me know what you think in the comments!</p>
<p><a href="http://yoast.com/yoast-improved-image/">Yoast &#8211; New &#038; Improved images</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/rRXCSlWZvRw" height="1" width="1"/>";}i:1;a:14:{s:5:"title";s:40:"Upgrade WordPress, then upgrade plugins!";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/97NXcyuNIjY/";s:4:"guid";s:24:"http://yoast.com/?p=4139";s:8:"comments";s:105:"http://yoast.com/upgrade-wordpress/#utm_source=rss&utm_medium=rss&utm_campaign=upgrade-wordpress#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:101:"http://yoast.com/upgrade-wordpress/#utm_source=rss&utm_medium=rss&utm_campaign=upgrade-wordpressfeed/";}s:5:"slash";a:1:{s:8:"comments";s:2:"37";}s:7:"pubdate";s:31:"Fri, 22 Apr 2011 07:32:15 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:8:"category";s:26:"WordPressWordPress Plugins";s:11:"description";s:761:"<p>The current version of my WordPress SEO plugin has a new feature: it supports post type archives in several places. It also has a bug: if your version of WordPress (ie. everything before 3.1) doesn't support post type archives, it'll break. Now, this is annoying and something I will fix in the next release, but [...]</p><p><a href="http://yoast.com/upgrade-wordpress/">Upgrade WordPress, then upgrade plugins!</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:3339:"<p>The current version of my WordPress SEO plugin has a new feature: it supports post type archives in several places. It also has a bug: if your version of WordPress (ie. everything before 3.1) doesn't support post type archives, it'll break. Now, this is annoying and something I will fix in the next release, but I'm absolutely astounded by the number of people that seem to upgrade to a new version of my plugin religiously (thank you!) but do not upgrade WordPress.</p>
<p>You see, the plugin is in beta. WordPress is not. Why, please do tell me, would you not upgrade WordPress first but instead upgrade the plugin and then decide not to upgrade WordPress? I've had 10+ threads on the WP forums about this same topic now (which actually is another issue in itself, people don't search and I can't close threads). </p>
<h2>Common reasons not to upgrade WordPress</h2>
<p>Let me list some standard reasons for not upgrading and my response:</p>
<ul>
<li>"I'll loose my customizations" - I'm sorry to say that you've done it wrong and should've built a plugin, which is your fault, not mine. At some point I will drop support for 3.0, so you really should go and fix it.</li>
<li>"My theme doesn't work with 3.1" - for starters, I don't believe it. WordPress 3.1 hardly broke anything that was built using normal WP standards. If it's really true, you've got a crappy theme and you should either fix it or change themes.</li>
<li>"I can't tell you why but it's not an option to upgrade WordPress" - if you can't tell me, I can't help you, but the above reasons probably apply.</li>
<li>"My developer says it's not safe to upgrade" - fire him and get another developer. If he / she thought it was safe to use beta software (my plugin) but doesn't think it's safe to upgrade WordPress, he has too high an opinion of my coding and too low an opinion of the WordPress development team. You're in luck though, apparently there are <a href="http://wpcandy.com/reports/20000-people-make-a-living-with-wordpress">20,000+ of them</a>.</li>
<li>"Other plugin X-Y-Z breaks when I upgrade." So, instead of complaining to the developer that doesn't update his plugin to work with the latest version of WordPress, you decided to complain to the developer who did do that, in fact updated his plugin to let you benefit of all the new functionality? Wrong way round.</li>
<li>"This plugin I paid for breaks when I upgrade". This is he worst of all. Read the line above and then add to that in your head that my plugin is <em>free</em>.</li>
</ul>
<p>Now, I'll point everyone here who has one of these issues. If you feel I'm too harsh: I'm sorry. That won't change my opinion though. If you really need my plugin and are at a loss at what to do, you can always, you know, <a href="http://yoast.com/hire-me/">hire me</a>.</p>
<p><a href="http://yoast.com/upgrade-wordpress/">Upgrade WordPress, then upgrade plugins!</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/97NXcyuNIjY" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:96:"http://yoast.com/upgrade-wordpress/#utm_source=rss&utm_medium=rss&utm_campaign=upgrade-wordpress";}s:7:"summary";s:761:"<p>The current version of my WordPress SEO plugin has a new feature: it supports post type archives in several places. It also has a bug: if your version of WordPress (ie. everything before 3.1) doesn't support post type archives, it'll break. Now, this is annoying and something I will fix in the next release, but [...]</p><p><a href="http://yoast.com/upgrade-wordpress/">Upgrade WordPress, then upgrade plugins!</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:3339:"<p>The current version of my WordPress SEO plugin has a new feature: it supports post type archives in several places. It also has a bug: if your version of WordPress (ie. everything before 3.1) doesn't support post type archives, it'll break. Now, this is annoying and something I will fix in the next release, but I'm absolutely astounded by the number of people that seem to upgrade to a new version of my plugin religiously (thank you!) but do not upgrade WordPress.</p>
<p>You see, the plugin is in beta. WordPress is not. Why, please do tell me, would you not upgrade WordPress first but instead upgrade the plugin and then decide not to upgrade WordPress? I've had 10+ threads on the WP forums about this same topic now (which actually is another issue in itself, people don't search and I can't close threads). </p>
<h2>Common reasons not to upgrade WordPress</h2>
<p>Let me list some standard reasons for not upgrading and my response:</p>
<ul>
<li>"I'll loose my customizations" - I'm sorry to say that you've done it wrong and should've built a plugin, which is your fault, not mine. At some point I will drop support for 3.0, so you really should go and fix it.</li>
<li>"My theme doesn't work with 3.1" - for starters, I don't believe it. WordPress 3.1 hardly broke anything that was built using normal WP standards. If it's really true, you've got a crappy theme and you should either fix it or change themes.</li>
<li>"I can't tell you why but it's not an option to upgrade WordPress" - if you can't tell me, I can't help you, but the above reasons probably apply.</li>
<li>"My developer says it's not safe to upgrade" - fire him and get another developer. If he / she thought it was safe to use beta software (my plugin) but doesn't think it's safe to upgrade WordPress, he has too high an opinion of my coding and too low an opinion of the WordPress development team. You're in luck though, apparently there are <a href="http://wpcandy.com/reports/20000-people-make-a-living-with-wordpress">20,000+ of them</a>.</li>
<li>"Other plugin X-Y-Z breaks when I upgrade." So, instead of complaining to the developer that doesn't update his plugin to work with the latest version of WordPress, you decided to complain to the developer who did do that, in fact updated his plugin to let you benefit of all the new functionality? Wrong way round.</li>
<li>"This plugin I paid for breaks when I upgrade". This is he worst of all. Read the line above and then add to that in your head that my plugin is <em>free</em>.</li>
</ul>
<p>Now, I'll point everyone here who has one of these issues. If you feel I'm too harsh: I'm sorry. That won't change my opinion though. If you really need my plugin and are at a loss at what to do, you can always, you know, <a href="http://yoast.com/hire-me/">hire me</a>.</p>
<p><a href="http://yoast.com/upgrade-wordpress/">Upgrade WordPress, then upgrade plugins!</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/97NXcyuNIjY" height="1" width="1"/>";}i:2;a:13:{s:5:"title";s:34:"Separating frontend and admin code";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/7k_ceVrs0g0/";s:4:"guid";s:51:"http://yoast.com/?post_type=wp_best_practice&p=4035";s:8:"comments";s:144:"http://yoast.com/wp-best-practice/separate-frontend-admin-code/#utm_source=rss&utm_medium=rss&utm_campaign=separate-frontend-admin-code#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:140:"http://yoast.com/wp-best-practice/separate-frontend-admin-code/#utm_source=rss&utm_medium=rss&utm_campaign=separate-frontend-admin-codefeed/";}s:5:"slash";a:1:{s:8:"comments";s:1:"7";}s:7:"pubdate";s:31:"Tue, 19 Apr 2011 14:00:52 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:11:"description";s:751:"<p>In most cases, your plugin has stuff it needs to do in the admin area. It probably also has stuff it needs to do in the frontend. These two never happen at the same time, so you can actually separate the two. The easiest way of separating frontend and backend code is having a set [...]</p><p><a href="http://yoast.com/wp-best-practice/separate-frontend-admin-code/">Separating frontend and admin code</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:3550:"<p>In most cases, your plugin has stuff it needs to do in the admin area. It probably also has stuff it needs to do in the frontend. These two never happen at the same time, so you can actually separate the two. The easiest way of separating frontend and backend code is having a set of classes, most of my plugins end up with at least three classes: </p>
<ul>
<li>A common class, for stuff that is needed everywhere, for instance declaring a custom post type.</li>
<li>An admin class, for all the admin related stuff, like my admin settings page.</li>
<li>A frontend class, for all the stuff that is specific to the frontend, like loading a script or performing a shortcode.</li>
</ul>
<p>You separate these by checking for two simple things:</p>

<div><div><pre><span>if</span> <span>&#40;</span> is_admin<span>&#40;</span><span>&#41;</span> <span>&#41;</span>
	<span>require</span> <span>'class-admin.php'</span><span>;</span>
<span>else</span>
	<span>require</span> <span>'class-frontend.php'</span><span>;</span></pre></div></div>

<p>Easy enough right? Well you might want to take it even one step further. WordPress sets a constant for when you're doing an AJAX request. This constant is <code>DOING_AJAX</code>. When WordPress is performing an AJAX request in the admin area, you probably won't need to load the code for your admin settings pages, but you <em>do</em> need to load the code for your AJAX requests.</p>
<p><a href="http://example.com/">Separating</a>.</p>
<p>So you'll end up with code like this:</p>

<div><div><pre><span>if</span> <span>&#40;</span> is_admin<span>&#40;</span><span>&#41;</span> <span>&#41;</span> <span>&#123;</span>
	<span>if</span> <span>&#40;</span> <span>defined</span><span>&#40;</span><span>'DOING_AJAX'</span><span>&#41;</span> <span>&amp;&amp;</span> DOING_AJAX <span>&#41;</span>
		<span>require</span> <span>'class-admin-ajax.php'</span><span>;</span>
	<span>else</span>
		<span>require</span> <span>'class-admin.php'</span><span>;</span>
<span>&#125;</span> <span>else</span> <span>&#123;</span>
	<span>require</span> <span>'class-frontend.php'</span><span>;</span>
<span>&#125;</span></pre></div></div>

<p>This also means that the first snippet should be amended a bit, even when you're not doing anything with AJAX, you should load it like this:</p>

<div><div><pre><span>if</span> <span>&#40;</span> is_admin<span>&#40;</span><span>&#41;</span> <span>&amp;&amp;</span> <span>&#40;</span> <span>!</span><span>defined</span><span>&#40;</span> <span>'DOING_AJAX'</span> <span>&#41;</span> <span>||</span> <span>!</span>DOING_AJAX <span>&#41;</span> <span>&#41;</span>
	<span>require</span> <span>'class-admin.php'</span><span>;</span>
<span>else</span>
	<span>require</span> <span>'class-frontend.php'</span><span>;</span></pre></div></div>

<p>By loading your code in a modular way like that, you're making 100% sure your code has the lightest footprint possible and you're not loading stuff that you (could) know upfront will never be used.</p>
<p><a href="http://yoast.com/wp-best-practice/separate-frontend-admin-code/">Separating frontend and admin code</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/7k_ceVrs0g0" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:135:"http://yoast.com/wp-best-practice/separate-frontend-admin-code/#utm_source=rss&utm_medium=rss&utm_campaign=separate-frontend-admin-code";}s:7:"summary";s:751:"<p>In most cases, your plugin has stuff it needs to do in the admin area. It probably also has stuff it needs to do in the frontend. These two never happen at the same time, so you can actually separate the two. The easiest way of separating frontend and backend code is having a set [...]</p><p><a href="http://yoast.com/wp-best-practice/separate-frontend-admin-code/">Separating frontend and admin code</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:3550:"<p>In most cases, your plugin has stuff it needs to do in the admin area. It probably also has stuff it needs to do in the frontend. These two never happen at the same time, so you can actually separate the two. The easiest way of separating frontend and backend code is having a set of classes, most of my plugins end up with at least three classes: </p>
<ul>
<li>A common class, for stuff that is needed everywhere, for instance declaring a custom post type.</li>
<li>An admin class, for all the admin related stuff, like my admin settings page.</li>
<li>A frontend class, for all the stuff that is specific to the frontend, like loading a script or performing a shortcode.</li>
</ul>
<p>You separate these by checking for two simple things:</p>

<div><div><pre><span>if</span> <span>&#40;</span> is_admin<span>&#40;</span><span>&#41;</span> <span>&#41;</span>
	<span>require</span> <span>'class-admin.php'</span><span>;</span>
<span>else</span>
	<span>require</span> <span>'class-frontend.php'</span><span>;</span></pre></div></div>

<p>Easy enough right? Well you might want to take it even one step further. WordPress sets a constant for when you're doing an AJAX request. This constant is <code>DOING_AJAX</code>. When WordPress is performing an AJAX request in the admin area, you probably won't need to load the code for your admin settings pages, but you <em>do</em> need to load the code for your AJAX requests.</p>
<p><a href="http://example.com/">Separating</a>.</p>
<p>So you'll end up with code like this:</p>

<div><div><pre><span>if</span> <span>&#40;</span> is_admin<span>&#40;</span><span>&#41;</span> <span>&#41;</span> <span>&#123;</span>
	<span>if</span> <span>&#40;</span> <span>defined</span><span>&#40;</span><span>'DOING_AJAX'</span><span>&#41;</span> <span>&amp;&amp;</span> DOING_AJAX <span>&#41;</span>
		<span>require</span> <span>'class-admin-ajax.php'</span><span>;</span>
	<span>else</span>
		<span>require</span> <span>'class-admin.php'</span><span>;</span>
<span>&#125;</span> <span>else</span> <span>&#123;</span>
	<span>require</span> <span>'class-frontend.php'</span><span>;</span>
<span>&#125;</span></pre></div></div>

<p>This also means that the first snippet should be amended a bit, even when you're not doing anything with AJAX, you should load it like this:</p>

<div><div><pre><span>if</span> <span>&#40;</span> is_admin<span>&#40;</span><span>&#41;</span> <span>&amp;&amp;</span> <span>&#40;</span> <span>!</span><span>defined</span><span>&#40;</span> <span>'DOING_AJAX'</span> <span>&#41;</span> <span>||</span> <span>!</span>DOING_AJAX <span>&#41;</span> <span>&#41;</span>
	<span>require</span> <span>'class-admin.php'</span><span>;</span>
<span>else</span>
	<span>require</span> <span>'class-frontend.php'</span><span>;</span></pre></div></div>

<p>By loading your code in a modular way like that, you're making 100% sure your code has the lightest footprint possible and you're not loading stuff that you (could) know upfront will never be used.</p>
<p><a href="http://yoast.com/wp-best-practice/separate-frontend-admin-code/">Separating frontend and admin code</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/7k_ceVrs0g0" height="1" width="1"/>";}i:3;a:13:{s:5:"title";s:15:"Optional Styles";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/uipHWqq3q_o/";s:4:"guid";s:51:"http://yoast.com/?post_type=wp_best_practice&p=4022";s:8:"comments";s:118:"http://yoast.com/wp-best-practice/optional-styles/#utm_source=rss&utm_medium=rss&utm_campaign=optional-styles#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:114:"http://yoast.com/wp-best-practice/optional-styles/#utm_source=rss&utm_medium=rss&utm_campaign=optional-stylesfeed/";}s:5:"slash";a:1:{s:8:"comments";s:2:"15";}s:7:"pubdate";s:31:"Mon, 18 Apr 2011 14:00:12 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:11:"description";s:746:"<p>A WordPress plugin or theme should never have to output inline styles, especially not in the frontend. Inline styles will prevent some doctypes from validating and they are actually a factor to slow down your page loads. If your plugin outputs a piece of code that needs styling, add an ID to the output and [...]</p><p><a href="http://yoast.com/wp-best-practice/optional-styles/">Optional Styles</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:1058:"<p>A WordPress plugin or theme should never have to output inline styles, especially not in the frontend. Inline styles will prevent some doctypes from validating and they are actually a factor to slow down your page loads.</p>
<p>If your plugin outputs a piece of code that needs styling, add an ID to the output and output the style using a <code>style</code> tag in the <code>&lt;head&gt;</code>. Next to that you should add an option to remove the style altogether, and tell users how to add the CSS to their own theme's stylesheet.</p>
<p><a href="http://yoast.com/wp-best-practice/optional-styles/">Optional Styles</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/uipHWqq3q_o" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:109:"http://yoast.com/wp-best-practice/optional-styles/#utm_source=rss&utm_medium=rss&utm_campaign=optional-styles";}s:7:"summary";s:746:"<p>A WordPress plugin or theme should never have to output inline styles, especially not in the frontend. Inline styles will prevent some doctypes from validating and they are actually a factor to slow down your page loads. If your plugin outputs a piece of code that needs styling, add an ID to the output and [...]</p><p><a href="http://yoast.com/wp-best-practice/optional-styles/">Optional Styles</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:1058:"<p>A WordPress plugin or theme should never have to output inline styles, especially not in the frontend. Inline styles will prevent some doctypes from validating and they are actually a factor to slow down your page loads.</p>
<p>If your plugin outputs a piece of code that needs styling, add an ID to the output and output the style using a <code>style</code> tag in the <code>&lt;head&gt;</code>. Next to that you should add an option to remove the style altogether, and tell users how to add the CSS to their own theme's stylesheet.</p>
<p><a href="http://yoast.com/wp-best-practice/optional-styles/">Optional Styles</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/uipHWqq3q_o" height="1" width="1"/>";}i:4;a:14:{s:5:"title";s:41:"Professional WordPress Plugin Development";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/GPLYwhz2Lvk/";s:4:"guid";s:24:"http://yoast.com/?p=4030";s:8:"comments";s:153:"http://yoast.com/professional-wordpress-plugin-development/#utm_source=rss&utm_medium=rss&utm_campaign=professional-wordpress-plugin-development#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:149:"http://yoast.com/professional-wordpress-plugin-development/#utm_source=rss&utm_medium=rss&utm_campaign=professional-wordpress-plugin-developmentfeed/";}s:5:"slash";a:1:{s:8:"comments";s:2:"15";}s:7:"pubdate";s:31:"Sat, 16 Apr 2011 18:58:30 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:8:"category";s:26:"WordPressWordPress Plugins";s:11:"description";s:791:"<p>As you might have noticed I've recently started reviewing WordPress plugins. I do this for free, because I think both users and developers benefit from peer reviews of plugins. I'm not saying all my plugins are perfect, they're not. I try hard though and if someone reviews my plugin I'll happily learn from what they [...]</p><p><a href="http://yoast.com/professional-wordpress-plugin-development/">Professional WordPress Plugin Development</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:3287:"<p><a rel="nofollow" href="http://www.amazon.com/gp/product/0470916222/ref=as_li_ss_tl?ie%3DUTF8%26tag%3Dyoastcom-20%26linkCode%3Das2%26camp%3D1789%26creative%3D390957%26creativeASIN%3D0470916222"><img src="http://yoast.com/wp-content/uploads/2011/04/professional-wordpress-plugin-development-238x300.jpg" alt="Professional WordPress plugin development" title="Professional WordPress plugin development" width="238" height="300" class="alignright size-medium wp-image-4031" /></a>As you might have noticed I've recently started <a href="http://yoast.com/wp-plugin-review/">reviewing WordPress plugins</a>. I do this for free, because I think both users and developers benefit from peer reviews of plugins. I'm not saying all my plugins are perfect, they're not. I try hard though and if someone reviews my plugin I'll happily learn from what they find. </p>
<p>What I did find though, is that there are lots of developers out there who don't know how to use all the powerful API's that WordPress provides them with to develop plugins. This is why I also immediately started a <a href="http://yoast.com/wp-best-practice/">WordPress development best practices</a> section in which I'll highlight the most important things. The issue is that there are quite a few development best practices that you should know about if you're intending to be a real good plugin developer.</p>
<h2>Professional WordPress Plugin Development: the book!</h2>
<p>This is where a new book, by Ozh Richard, Justin Tadlock and Brad Williams comes in, it's aptly titled <a rel="nofollow" href="http://www.amazon.com/gp/product/0470916222/ref=as_li_ss_tl?ie%3DUTF8%26tag%3Dyoastcom-20%26linkCode%3Das2%26camp%3D1789%26creative%3D390957%26creativeASIN%3D0470916222">Professional WordPress Plugin Development</a> (aff link). It's a big fat book that covers each and every bit you need to know to become a super developer of WordPress plugins. All you need after that is creativity and good ideas. </p>
<p>I have to admit, I am a bit biased, as I wrote the foreword for the book, but I'll also admit to having been incredibly honored when these guys asked me to write that. You see, these guys have been my source for interesting articles about WordPress for years and they were the perfect team to write this book. Having now gone through it completely, I'm 100% sure: if you're interested in WordPress plugin development, whether or not you want to do it professionally, you should buy and read this book.</p>
<p>So what are you waiting for? <a rel="nofollow" href="http://www.amazon.com/gp/product/0470916222/ref=as_li_ss_tl?ie%3DUTF8%26tag%3Dyoastcom-20%26linkCode%3Das2%26camp%3D1789%26creative%3D390957%26creativeASIN%3D0470916222">Go order that book!</a></p>
<p><a href="http://yoast.com/professional-wordpress-plugin-development/">Professional WordPress Plugin Development</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/GPLYwhz2Lvk" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:144:"http://yoast.com/professional-wordpress-plugin-development/#utm_source=rss&utm_medium=rss&utm_campaign=professional-wordpress-plugin-development";}s:7:"summary";s:791:"<p>As you might have noticed I've recently started reviewing WordPress plugins. I do this for free, because I think both users and developers benefit from peer reviews of plugins. I'm not saying all my plugins are perfect, they're not. I try hard though and if someone reviews my plugin I'll happily learn from what they [...]</p><p><a href="http://yoast.com/professional-wordpress-plugin-development/">Professional WordPress Plugin Development</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:3287:"<p><a rel="nofollow" href="http://www.amazon.com/gp/product/0470916222/ref=as_li_ss_tl?ie%3DUTF8%26tag%3Dyoastcom-20%26linkCode%3Das2%26camp%3D1789%26creative%3D390957%26creativeASIN%3D0470916222"><img src="http://yoast.com/wp-content/uploads/2011/04/professional-wordpress-plugin-development-238x300.jpg" alt="Professional WordPress plugin development" title="Professional WordPress plugin development" width="238" height="300" class="alignright size-medium wp-image-4031" /></a>As you might have noticed I've recently started <a href="http://yoast.com/wp-plugin-review/">reviewing WordPress plugins</a>. I do this for free, because I think both users and developers benefit from peer reviews of plugins. I'm not saying all my plugins are perfect, they're not. I try hard though and if someone reviews my plugin I'll happily learn from what they find. </p>
<p>What I did find though, is that there are lots of developers out there who don't know how to use all the powerful API's that WordPress provides them with to develop plugins. This is why I also immediately started a <a href="http://yoast.com/wp-best-practice/">WordPress development best practices</a> section in which I'll highlight the most important things. The issue is that there are quite a few development best practices that you should know about if you're intending to be a real good plugin developer.</p>
<h2>Professional WordPress Plugin Development: the book!</h2>
<p>This is where a new book, by Ozh Richard, Justin Tadlock and Brad Williams comes in, it's aptly titled <a rel="nofollow" href="http://www.amazon.com/gp/product/0470916222/ref=as_li_ss_tl?ie%3DUTF8%26tag%3Dyoastcom-20%26linkCode%3Das2%26camp%3D1789%26creative%3D390957%26creativeASIN%3D0470916222">Professional WordPress Plugin Development</a> (aff link). It's a big fat book that covers each and every bit you need to know to become a super developer of WordPress plugins. All you need after that is creativity and good ideas. </p>
<p>I have to admit, I am a bit biased, as I wrote the foreword for the book, but I'll also admit to having been incredibly honored when these guys asked me to write that. You see, these guys have been my source for interesting articles about WordPress for years and they were the perfect team to write this book. Having now gone through it completely, I'm 100% sure: if you're interested in WordPress plugin development, whether or not you want to do it professionally, you should buy and read this book.</p>
<p>So what are you waiting for? <a rel="nofollow" href="http://www.amazon.com/gp/product/0470916222/ref=as_li_ss_tl?ie%3DUTF8%26tag%3Dyoastcom-20%26linkCode%3Das2%26camp%3D1789%26creative%3D390957%26creativeASIN%3D0470916222">Go order that book!</a></p>
<p><a href="http://yoast.com/professional-wordpress-plugin-development/">Professional WordPress Plugin Development</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/GPLYwhz2Lvk" height="1" width="1"/>";}i:5;a:13:{s:5:"title";s:48:"Using a namespace for your functions and classes";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/k5pp2fEn45M/";s:4:"guid";s:51:"http://yoast.com/?post_type=wp_best_practice&p=4015";s:8:"comments";s:108:"http://yoast.com/wp-best-practice/namespaces/#utm_source=rss&utm_medium=rss&utm_campaign=namespaces#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:104:"http://yoast.com/wp-best-practice/namespaces/#utm_source=rss&utm_medium=rss&utm_campaign=namespacesfeed/";}s:5:"slash";a:1:{s:8:"comments";s:1:"5";}s:7:"pubdate";s:31:"Fri, 15 Apr 2011 12:03:08 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:11:"description";s:767:"<p>An often made mistake by WordPress developers is to use to generic function and class names. For instance, if you're building a plugin to do with YouTube, using a class name "Youtube" is bound to cause issues: if a user has multiple plugins dealing with Youtube, he or she could very well end up with [...]</p><p><a href="http://yoast.com/wp-best-practice/namespaces/">Using a namespace for your functions and classes</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:1661:"<p>An often made mistake by WordPress developers is to use to generic function and class names. For instance, if you're building a plugin to do with YouTube, using a class name "Youtube" is bound to cause issues: if a user has multiple plugins dealing with Youtube, he or she could very well end up with two plugins that have a class Youtube, which would immediately cause a crash. The only way of fixing that would be to remove either of the two plugins.</p>
<p>The best thing to do in these cases is to use one or more classes for your plugin, and to use a namespace for these. So, for instance, a class called "YoastYoutube" instead of "Youtube". One of the benefits of using a class is that the function names within that class can be short and concise and need not be namespace. So you could have a <code>function get()</code>, within that class, and it would never break anything.</p>
<p>This is also valid for other instances where your chosen names might collide: custom taxonomies and custom post types, widget names and also specific hooks for actions and filters that you add to your plugin or theme.</p>
<p><a href="http://yoast.com/wp-best-practice/namespaces/">Using a namespace for your functions and classes</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/k5pp2fEn45M" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:99:"http://yoast.com/wp-best-practice/namespaces/#utm_source=rss&utm_medium=rss&utm_campaign=namespaces";}s:7:"summary";s:767:"<p>An often made mistake by WordPress developers is to use to generic function and class names. For instance, if you're building a plugin to do with YouTube, using a class name "Youtube" is bound to cause issues: if a user has multiple plugins dealing with Youtube, he or she could very well end up with [...]</p><p><a href="http://yoast.com/wp-best-practice/namespaces/">Using a namespace for your functions and classes</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:1661:"<p>An often made mistake by WordPress developers is to use to generic function and class names. For instance, if you're building a plugin to do with YouTube, using a class name "Youtube" is bound to cause issues: if a user has multiple plugins dealing with Youtube, he or she could very well end up with two plugins that have a class Youtube, which would immediately cause a crash. The only way of fixing that would be to remove either of the two plugins.</p>
<p>The best thing to do in these cases is to use one or more classes for your plugin, and to use a namespace for these. So, for instance, a class called "YoastYoutube" instead of "Youtube". One of the benefits of using a class is that the function names within that class can be short and concise and need not be namespace. So you could have a <code>function get()</code>, within that class, and it would never break anything.</p>
<p>This is also valid for other instances where your chosen names might collide: custom taxonomies and custom post types, widget names and also specific hooks for actions and filters that you add to your plugin or theme.</p>
<p><a href="http://yoast.com/wp-best-practice/namespaces/">Using a namespace for your functions and classes</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/k5pp2fEn45M" height="1" width="1"/>";}i:6;a:13:{s:5:"title";s:18:"WordPress HTTP API";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/5kfWWhLiFlE/";s:4:"guid";s:51:"http://yoast.com/?post_type=wp_best_practice&p=4011";s:8:"comments";s:124:"http://yoast.com/wp-best-practice/wordpress-http-api/#utm_source=rss&utm_medium=rss&utm_campaign=wordpress-http-api#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:120:"http://yoast.com/wp-best-practice/wordpress-http-api/#utm_source=rss&utm_medium=rss&utm_campaign=wordpress-http-apifeed/";}s:5:"slash";a:1:{s:8:"comments";s:1:"8";}s:7:"pubdate";s:31:"Wed, 13 Apr 2011 19:48:29 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:11:"description";s:764:"<p>Why you should want to know about the WordPress HTTP API? Well, some WordPress installs may have CURL installed for instance, others may not. On some installs you're allowed to do file_get_contents to external URLs, on others you're not. If you're relying on these features to work, your plugin might not work for a lot [...]</p><p><a href="http://yoast.com/wp-best-practice/wordpress-http-api/">WordPress HTTP API</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:5196:"<p>Why you should want to know about the WordPress HTTP API? Well, some WordPress installs may have CURL installed for instance, others may not. On some installs you're allowed to do <code>file_get_contents</code> to external URLs, on others you're not. If you're relying on these features to work, your plugin might not work for a lot of users. That's where the WordPress HTTP API comes in.  It allows you to either GET or POST something from or to other sites outside of your WordPress site.</p>
<p>The WordPress HTTP API makes fetching from or posting to remote servers a breeze. It does this by allowing you to be transport agnostic when you fetch or post something. The HTTP API will choose the fastest and most reliable method out of the five different transports available in PHP. It'll take care of discovering what transports are allowed on that server at that time.</p>
<p>The two most important functions and the ones you will probably use 99% of the time are:</p>
<ul>
<li><a href="http://yoast.com#wp_remote_get"><code>wp_remote_get()</code></a>.</li>
<li><a href="http://yoast.com#wp_remote_post"><code>wp_remote_post()</code></a>.</li>
</ul>
<h2><code>wp_remote_get()</code></h2>
<p>As the <a href="http://codex.wordpress.org/Function_API/wp_remote_get">Codex</a> explains, this is a wrapper function for the WordPress HTTP API that does a remote get call for you. In most cases you'll only need to do:</p>

<div><div><pre><span>$resp</span> <span>=</span> wp_remote_get<span>&#40;</span> <span>'http://example.com/'</span> <span>&#41;</span><span>;</span></pre></div></div>

<p>The body of the page that you requested can then be accessed through <code>$resp['body']</code>. You should actually check though whether the <code>$resp['response']['code']</code> was actually 200 first, so do something like this:</p>

<div><div><pre><span>if</span> <span>&#40;</span> <span>200</span> <span>==</span> <span>$resp</span><span>&#91;</span><span>'response'</span><span>&#93;</span><span>&#91;</span><span>'code'</span><span>&#93;</span> <span>&#41;</span> <span>&#123;</span>
	<span>$body</span> <span>=</span> <span>$resp</span><span>&#91;</span><span>'body'</span><span>&#93;</span><span>;</span>
	<span>// perform action with the content.</span>
<span>&#125;</span></pre></div></div>

<p>There's also a function that can do this for you, although I don't really like the way it works myself. This function is called <code>wp_remote_retrieve_body</code>. The code for it is as follows:</p>

<div><div><pre><span>function</span> wp_remote_retrieve_body<span>&#40;</span> <span>&amp;</span><span>$response</span> <span>&#41;</span> <span>&#123;</span>
	<span>if</span> <span>&#40;</span> is_wp_error<span>&#40;</span><span>$response</span><span>&#41;</span> <span>||</span> <span>!</span> <span>isset</span><span>&#40;</span><span>$response</span><span>&#91;</span><span>'body'</span><span>&#93;</span><span>&#41;</span> <span>&#41;</span>
		<span>return</span> <span>''</span><span>;</span>
&nbsp;
	<span>return</span> <span>$response</span><span>&#91;</span><span>'body'</span><span>&#93;</span><span>;</span>
<span>&#125;</span></pre></div></div>

<p>You could use it in the following way:</p>

<div><div><pre><span>$body</span> <span>=</span> wp_remote_retrieve_body<span>&#40;</span> wp_remote_get<span>&#40;</span> <span>'http://example.com/'</span> <span>&#41;</span> <span>&#41;</span><span>;</span></pre></div></div>

<p>If something went wrong, <code>$body</code> would then be empty, so you'd have to check for that. Note that if the response code was 404, body <em>could</em> now contain the 404 page, as <code>wp_remote_get</code>, as far as I know, will not return an error when the result was a 404.</p>
<h2><code>wp_remote_post()</code></h2>
<p>If you want to post some data to a remote URL using the WordPress HTTP API, do the following:</p>

<div><div><pre><span>$args</span> <span>=</span> <span>array</span><span>&#40;</span>
	<span>'body'</span> <span>=&gt;</span> <span>'some data'</span><span>,</span>
	<span>'user-agent'</span> <span>=&gt;</span> <span>'Yoast Coolness'</span>
<span>&#41;</span><span>;</span>
<span>$resp</span> <span>=</span> wp_remote_post<span>&#40;</span> <span>'http://example.com'</span><span>,</span> <span>$args</span> <span>&#41;</span><span>;</span></pre></div></div>

<p>You can then handle <code>$resp</code> in the same way as with <code>wp_remote_get</code>. Both functions are actually wrapper functions on top of the function <code>request</code> in class <code>WP_Http</code>, see the <a href="http://xref.yoast.com/trunk/nav.html?_functions/request.html">XRef for that function</a> for more details.</p>
<p><a href="http://yoast.com/wp-best-practice/wordpress-http-api/">WordPress HTTP API</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/5kfWWhLiFlE" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:115:"http://yoast.com/wp-best-practice/wordpress-http-api/#utm_source=rss&utm_medium=rss&utm_campaign=wordpress-http-api";}s:7:"summary";s:764:"<p>Why you should want to know about the WordPress HTTP API? Well, some WordPress installs may have CURL installed for instance, others may not. On some installs you're allowed to do file_get_contents to external URLs, on others you're not. If you're relying on these features to work, your plugin might not work for a lot [...]</p><p><a href="http://yoast.com/wp-best-practice/wordpress-http-api/">WordPress HTTP API</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:5196:"<p>Why you should want to know about the WordPress HTTP API? Well, some WordPress installs may have CURL installed for instance, others may not. On some installs you're allowed to do <code>file_get_contents</code> to external URLs, on others you're not. If you're relying on these features to work, your plugin might not work for a lot of users. That's where the WordPress HTTP API comes in.  It allows you to either GET or POST something from or to other sites outside of your WordPress site.</p>
<p>The WordPress HTTP API makes fetching from or posting to remote servers a breeze. It does this by allowing you to be transport agnostic when you fetch or post something. The HTTP API will choose the fastest and most reliable method out of the five different transports available in PHP. It'll take care of discovering what transports are allowed on that server at that time.</p>
<p>The two most important functions and the ones you will probably use 99% of the time are:</p>
<ul>
<li><a href="http://yoast.com#wp_remote_get"><code>wp_remote_get()</code></a>.</li>
<li><a href="http://yoast.com#wp_remote_post"><code>wp_remote_post()</code></a>.</li>
</ul>
<h2><code>wp_remote_get()</code></h2>
<p>As the <a href="http://codex.wordpress.org/Function_API/wp_remote_get">Codex</a> explains, this is a wrapper function for the WordPress HTTP API that does a remote get call for you. In most cases you'll only need to do:</p>

<div><div><pre><span>$resp</span> <span>=</span> wp_remote_get<span>&#40;</span> <span>'http://example.com/'</span> <span>&#41;</span><span>;</span></pre></div></div>

<p>The body of the page that you requested can then be accessed through <code>$resp['body']</code>. You should actually check though whether the <code>$resp['response']['code']</code> was actually 200 first, so do something like this:</p>

<div><div><pre><span>if</span> <span>&#40;</span> <span>200</span> <span>==</span> <span>$resp</span><span>&#91;</span><span>'response'</span><span>&#93;</span><span>&#91;</span><span>'code'</span><span>&#93;</span> <span>&#41;</span> <span>&#123;</span>
	<span>$body</span> <span>=</span> <span>$resp</span><span>&#91;</span><span>'body'</span><span>&#93;</span><span>;</span>
	<span>// perform action with the content.</span>
<span>&#125;</span></pre></div></div>

<p>There's also a function that can do this for you, although I don't really like the way it works myself. This function is called <code>wp_remote_retrieve_body</code>. The code for it is as follows:</p>

<div><div><pre><span>function</span> wp_remote_retrieve_body<span>&#40;</span> <span>&amp;</span><span>$response</span> <span>&#41;</span> <span>&#123;</span>
	<span>if</span> <span>&#40;</span> is_wp_error<span>&#40;</span><span>$response</span><span>&#41;</span> <span>||</span> <span>!</span> <span>isset</span><span>&#40;</span><span>$response</span><span>&#91;</span><span>'body'</span><span>&#93;</span><span>&#41;</span> <span>&#41;</span>
		<span>return</span> <span>''</span><span>;</span>
&nbsp;
	<span>return</span> <span>$response</span><span>&#91;</span><span>'body'</span><span>&#93;</span><span>;</span>
<span>&#125;</span></pre></div></div>

<p>You could use it in the following way:</p>

<div><div><pre><span>$body</span> <span>=</span> wp_remote_retrieve_body<span>&#40;</span> wp_remote_get<span>&#40;</span> <span>'http://example.com/'</span> <span>&#41;</span> <span>&#41;</span><span>;</span></pre></div></div>

<p>If something went wrong, <code>$body</code> would then be empty, so you'd have to check for that. Note that if the response code was 404, body <em>could</em> now contain the 404 page, as <code>wp_remote_get</code>, as far as I know, will not return an error when the result was a 404.</p>
<h2><code>wp_remote_post()</code></h2>
<p>If you want to post some data to a remote URL using the WordPress HTTP API, do the following:</p>

<div><div><pre><span>$args</span> <span>=</span> <span>array</span><span>&#40;</span>
	<span>'body'</span> <span>=&gt;</span> <span>'some data'</span><span>,</span>
	<span>'user-agent'</span> <span>=&gt;</span> <span>'Yoast Coolness'</span>
<span>&#41;</span><span>;</span>
<span>$resp</span> <span>=</span> wp_remote_post<span>&#40;</span> <span>'http://example.com'</span><span>,</span> <span>$args</span> <span>&#41;</span><span>;</span></pre></div></div>

<p>You can then handle <code>$resp</code> in the same way as with <code>wp_remote_get</code>. Both functions are actually wrapper functions on top of the function <code>request</code> in class <code>WP_Http</code>, see the <a href="http://xref.yoast.com/trunk/nav.html?_functions/request.html">XRef for that function</a> for more details.</p>
<p><a href="http://yoast.com/wp-best-practice/wordpress-http-api/">WordPress HTTP API</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/5kfWWhLiFlE" height="1" width="1"/>";}i:7;a:14:{s:5:"title";s:47:"Power User Tip: Custom Post Type Feeds & Google";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/XxwDcboNn0w/";s:4:"guid";s:24:"http://yoast.com/?p=4004";s:8:"comments";s:129:"http://yoast.com/custom-post-type-feeds-google/#utm_source=rss&utm_medium=rss&utm_campaign=custom-post-type-feeds-google#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:125:"http://yoast.com/custom-post-type-feeds-google/#utm_source=rss&utm_medium=rss&utm_campaign=custom-post-type-feeds-googlefeed/";}s:5:"slash";a:1:{s:8:"comments";s:2:"32";}s:7:"pubdate";s:31:"Wed, 13 Apr 2011 15:54:39 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:8:"category";s:20:"SEOWordPress Plugins";s:11:"description";s:770:"<p>Not many people realize the power that WordPress gives them by making feeds for everything on the site. If you register a custom post type it gets a feed by default, so for my new WordPress Plugin Review section, which is built on a custom post type for plugin reviews, there's a custom feed here: [...]</p><p><a href="http://yoast.com/custom-post-type-feeds-google/">Power User Tip: Custom Post Type Feeds &#038; Google</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:2717:"<p>Not many people realize the power that WordPress gives them by making feeds for everything on the site. If you register a custom post type it gets a feed by default, so for my new <a href="http://yoast.com/wp-plugin-review/">WordPress Plugin Review</a> section, which is built on a custom post type for plugin reviews, there's a custom feed here:</p>
<pre>http://yoast.com/wp-plugin-review/feed/</pre>
<p>That feed is actually a valid "sitemap" for Google Webmaster Tools as well, so you can just submit it there, as you can see here:</p>
<div><img src="http://yoast.com/wp-content/uploads/2011/04/cpt-feeds.jpg" alt="Custom Post Type feeds in Google Webmaster Tools" title="Custom Post Type feeds in Google Webmaster Tools" width="548" height="205" class="size-full wp-image-4005" /><p>Custom Post Type feeds in Google Webmaster Tools</p></div>
<p>If you submit them there, Google will regularly poll them which will make it easier for you to get your custom post types indexed!</p>
<p>If you want to add your custom post type feed to the head section of your page, use the following code, of course adapting it for your own post type:</p>

<div><div><pre><span>function</span> yst_add_feed<span>&#40;</span><span>&#41;</span> <span>&#123;</span>
	<span>if</span> <span>&#40;</span> is_post_type_archive<span>&#40;</span> <span>array</span><span>&#40;</span><span>'plugin_review'</span><span>&#41;</span> <span>&#41;</span> 
		<span>||</span> is_singular<span>&#40;</span> <span>'plugin_review'</span> <span>&#41;</span> <span>&#41;</span> 
	<span>&#123;</span>
		<span>$feed</span> <span>=</span> get_post_type_archive_feed_link<span>&#40;</span> <span>'plugin_review'</span> <span>&#41;</span><span>;</span>
		<span>echo</span> <span>'&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; 
			title=&quot;Plugin Reviews by Yoast RSS Feed&quot; 
			href=&quot;'</span><span>.</span><span>$feed</span><span>.</span><span>'&quot; /&gt;'</span><span>;</span>
	<span>&#125;</span>
<span>&#125;</span>
add_action<span>&#40;</span> <span>'wp_head'</span><span>,</span> <span>'yst_add_feed'</span> <span>&#41;</span><span>;</span></pre></div></div>

<p><a href="http://yoast.com/custom-post-type-feeds-google/">Power User Tip: Custom Post Type Feeds &#038; Google</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/XxwDcboNn0w" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:120:"http://yoast.com/custom-post-type-feeds-google/#utm_source=rss&utm_medium=rss&utm_campaign=custom-post-type-feeds-google";}s:7:"summary";s:770:"<p>Not many people realize the power that WordPress gives them by making feeds for everything on the site. If you register a custom post type it gets a feed by default, so for my new WordPress Plugin Review section, which is built on a custom post type for plugin reviews, there's a custom feed here: [...]</p><p><a href="http://yoast.com/custom-post-type-feeds-google/">Power User Tip: Custom Post Type Feeds &#038; Google</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:2717:"<p>Not many people realize the power that WordPress gives them by making feeds for everything on the site. If you register a custom post type it gets a feed by default, so for my new <a href="http://yoast.com/wp-plugin-review/">WordPress Plugin Review</a> section, which is built on a custom post type for plugin reviews, there's a custom feed here:</p>
<pre>http://yoast.com/wp-plugin-review/feed/</pre>
<p>That feed is actually a valid "sitemap" for Google Webmaster Tools as well, so you can just submit it there, as you can see here:</p>
<div><img src="http://yoast.com/wp-content/uploads/2011/04/cpt-feeds.jpg" alt="Custom Post Type feeds in Google Webmaster Tools" title="Custom Post Type feeds in Google Webmaster Tools" width="548" height="205" class="size-full wp-image-4005" /><p>Custom Post Type feeds in Google Webmaster Tools</p></div>
<p>If you submit them there, Google will regularly poll them which will make it easier for you to get your custom post types indexed!</p>
<p>If you want to add your custom post type feed to the head section of your page, use the following code, of course adapting it for your own post type:</p>

<div><div><pre><span>function</span> yst_add_feed<span>&#40;</span><span>&#41;</span> <span>&#123;</span>
	<span>if</span> <span>&#40;</span> is_post_type_archive<span>&#40;</span> <span>array</span><span>&#40;</span><span>'plugin_review'</span><span>&#41;</span> <span>&#41;</span> 
		<span>||</span> is_singular<span>&#40;</span> <span>'plugin_review'</span> <span>&#41;</span> <span>&#41;</span> 
	<span>&#123;</span>
		<span>$feed</span> <span>=</span> get_post_type_archive_feed_link<span>&#40;</span> <span>'plugin_review'</span> <span>&#41;</span><span>;</span>
		<span>echo</span> <span>'&lt;link rel=&quot;alternate&quot; type=&quot;application/rss+xml&quot; 
			title=&quot;Plugin Reviews by Yoast RSS Feed&quot; 
			href=&quot;'</span><span>.</span><span>$feed</span><span>.</span><span>'&quot; /&gt;'</span><span>;</span>
	<span>&#125;</span>
<span>&#125;</span>
add_action<span>&#40;</span> <span>'wp_head'</span><span>,</span> <span>'yst_add_feed'</span> <span>&#41;</span><span>;</span></pre></div></div>

<p><a href="http://yoast.com/custom-post-type-feeds-google/">Power User Tip: Custom Post Type Feeds &#038; Google</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/XxwDcboNn0w" height="1" width="1"/>";}i:8;a:14:{s:5:"title";s:52:"Why WordPress and some of my plugins require PHP 5.2";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/bIWNbClBvOo/";s:4:"guid";s:24:"http://yoast.com/?p=3978";s:8:"comments";s:101:"http://yoast.com/requires-php-52/#utm_source=rss&utm_medium=rss&utm_campaign=requires-php-52#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:97:"http://yoast.com/requires-php-52/#utm_source=rss&utm_medium=rss&utm_campaign=requires-php-52feed/";}s:5:"slash";a:1:{s:8:"comments";s:2:"42";}s:7:"pubdate";s:31:"Mon, 11 Apr 2011 13:43:08 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:8:"category";s:46:"WordPressPHPWordPress HostingWordPress Plugins";s:11:"description";s:770:"<p>WordPress 3.2 will require PHP 5.2 or higher, as a result of which I've decided that my WordPress SEO plugin, currently still in beta, will also require PHP 5.2 and I will probably start having the same requirements for future version of my other plugins. This saves me time coding and testing against a version [...]</p><p><a href="http://yoast.com/requires-php-52/">Why WordPress and some of my plugins require PHP 5.2</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:2091:"<p>WordPress 3.2 <a href="http://wpdevel.wordpress.com/2011/03/18/wordpress-3-2-the-plan-faster-lighter/">will require PHP 5.2 or higher</a>, as a result of which I've decided that my WordPress SEO plugin, currently still in beta, will also require PHP 5.2 and I will probably start having the same requirements for future version of my other plugins. This saves me time coding and testing against a version of PHP that is broken, slow and generally not always easy to work with. </p>
<p>It's not that my plugin requires it per se right now to do what it does, although, knowing that for instance <code>json_encode</code> is always there is a great improvement. It's really the fact that it saves me testing time on older systems. As of the last release, because of that, my <a href="http://yoast.com/wordpress/seo/">WordPress SEO plugin</a> will automatically disable itself when it detects that you're running a PHP version lower than 5.2, linking to this post.</p>
<p><img src="http://yoast.com/wp-content/uploads/2011/04/wordpress-error-php-52.jpg" alt="" title="wordpress-error-php-52" width="580" class="aligncenter size-full wp-image-3981" /></p>
<p>Let me say this: if you're hosting with a hosting company, and they still offer you PHP4 as a default, they're daft and I wouldn't trust them. I've written extensively about what I think about <a href="http://yoast.com/articles/wordpress-hosting/">WordPress Hosting</a>, it might be a good idea for you to review that and switch hosting to WestHost or VPS.net now if you encounter that issue.</p>
<p><a href="http://yoast.com/requires-php-52/">Why WordPress and some of my plugins require PHP 5.2</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/bIWNbClBvOo" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:92:"http://yoast.com/requires-php-52/#utm_source=rss&utm_medium=rss&utm_campaign=requires-php-52";}s:7:"summary";s:770:"<p>WordPress 3.2 will require PHP 5.2 or higher, as a result of which I've decided that my WordPress SEO plugin, currently still in beta, will also require PHP 5.2 and I will probably start having the same requirements for future version of my other plugins. This saves me time coding and testing against a version [...]</p><p><a href="http://yoast.com/requires-php-52/">Why WordPress and some of my plugins require PHP 5.2</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:2091:"<p>WordPress 3.2 <a href="http://wpdevel.wordpress.com/2011/03/18/wordpress-3-2-the-plan-faster-lighter/">will require PHP 5.2 or higher</a>, as a result of which I've decided that my WordPress SEO plugin, currently still in beta, will also require PHP 5.2 and I will probably start having the same requirements for future version of my other plugins. This saves me time coding and testing against a version of PHP that is broken, slow and generally not always easy to work with. </p>
<p>It's not that my plugin requires it per se right now to do what it does, although, knowing that for instance <code>json_encode</code> is always there is a great improvement. It's really the fact that it saves me testing time on older systems. As of the last release, because of that, my <a href="http://yoast.com/wordpress/seo/">WordPress SEO plugin</a> will automatically disable itself when it detects that you're running a PHP version lower than 5.2, linking to this post.</p>
<p><img src="http://yoast.com/wp-content/uploads/2011/04/wordpress-error-php-52.jpg" alt="" title="wordpress-error-php-52" width="580" class="aligncenter size-full wp-image-3981" /></p>
<p>Let me say this: if you're hosting with a hosting company, and they still offer you PHP4 as a default, they're daft and I wouldn't trust them. I've written extensively about what I think about <a href="http://yoast.com/articles/wordpress-hosting/">WordPress Hosting</a>, it might be a good idea for you to review that and switch hosting to WestHost or VPS.net now if you encounter that issue.</p>
<p><a href="http://yoast.com/requires-php-52/">Why WordPress and some of my plugins require PHP 5.2</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/bIWNbClBvOo" height="1" width="1"/>";}i:9;a:14:{s:5:"title";s:23:"WordPress Plugin Review";s:4:"link";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/vDp_eUpTGIc/";s:4:"guid";s:24:"http://yoast.com/?p=3962";s:8:"comments";s:117:"http://yoast.com/wordpress-plugin-review/#utm_source=rss&utm_medium=rss&utm_campaign=wordpress-plugin-review#comments";s:3:"wfw";a:1:{s:10:"commentrss";s:113:"http://yoast.com/wordpress-plugin-review/#utm_source=rss&utm_medium=rss&utm_campaign=wordpress-plugin-reviewfeed/";}s:5:"slash";a:1:{s:8:"comments";s:2:"36";}s:7:"pubdate";s:31:"Fri, 08 Apr 2011 09:07:06 +0100";s:2:"dc";a:1:{s:7:"creator";s:13:"Joost de Valk";}s:8:"category";s:26:"WordPressWordPress Plugins";s:11:"description";s:729:"<p>I've decided to start doing plugin reviews on this blog, I get so many questions from people asking "is this a good plugin", "is that a good one", "can I trust that plugin". It'll probably help a lot more people if I start doing these reviews publicly. So, to start this, I've created a form [...]</p><p><a href="http://yoast.com/wordpress-plugin-review/">WordPress Plugin Review</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:7:"content";a:1:{s:7:"encoded";s:985:"<p>I've decided to start doing plugin reviews on this blog, I get so many questions from people asking "is this a good plugin", "is that a good one", "can I trust that plugin". It'll probably help a lot more people if I start doing these reviews publicly. So, to start this, I've created a form where you can add the plugin you'd like reviewed to the queue. So if you want me to review a certain WordPress plugin, or more than one, fill out the form below:</p>
<p></p>
<p><a href="http://yoast.com/wordpress-plugin-review/">WordPress Plugin Review</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/vDp_eUpTGIc" height="1" width="1"/>";}s:10:"feedburner";a:1:{s:8:"origlink";s:108:"http://yoast.com/wordpress-plugin-review/#utm_source=rss&utm_medium=rss&utm_campaign=wordpress-plugin-review";}s:7:"summary";s:729:"<p>I've decided to start doing plugin reviews on this blog, I get so many questions from people asking "is this a good plugin", "is that a good one", "can I trust that plugin". It'll probably help a lot more people if I start doing these reviews publicly. So, to start this, I've created a form [...]</p><p><a href="http://yoast.com/wordpress-plugin-review/">WordPress Plugin Review</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p>";s:12:"atom_content";s:985:"<p>I've decided to start doing plugin reviews on this blog, I get so many questions from people asking "is this a good plugin", "is that a good one", "can I trust that plugin". It'll probably help a lot more people if I start doing these reviews publicly. So, to start this, I've created a form where you can add the plugin you'd like reviewed to the queue. So if you want me to review a certain WordPress plugin, or more than one, fill out the form below:</p>
<p></p>
<p><a href="http://yoast.com/wordpress-plugin-review/">WordPress Plugin Review</a> is a post from <a href="http://yoast.com/about-me/">Joost de Valk</a>&#39;s <a href="http://yoast.com">Yoast - Tweaking Websites</a>. 

A good WordPress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? Check out my thoughts on <a href="http://yoast.com/wordpress-hosting/">WordPress hosting</a>!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/vDp_eUpTGIc" height="1" width="1"/>";}}s:7:"channel";a:8:{s:5:"title";s:29:"Yoast & The WordPress Podcast";s:11:"description";s:64:"This is the combined feed of Yoast.com and the WordPress Podcast";s:4:"link";s:22:"http://yoast.com/feed/";s:8:"language";s:5:"en-us";s:9:"generator";s:29:"http://wordpress.org/?v=yoast";s:2:"sy";a:2:{s:12:"updateperiod";s:6:"hourly";s:15:"updatefrequency";s:1:"1";}s:10:"feedburner";a:4:{s:14:"emailserviceid";s:11:"joostdevalk";s:18:"feedburnerhostname";s:28:"http://feedburner.google.com";s:9:"feedflare";s:158:"Subscribe with PodnovaSubscribe with NewsGatorSubscribe with NetvibesSubscribe with PageflakesSubscribe with My Yahoo!Subscribe with ODEOSubscribe with Google";s:15:"browserfriendly";s:195:"This is the combined feed for Yoast.com and the WordPress podcast. Subscribe now to get WordPress & Magento tips & tricks, helping you optimize your site for speed, search engines and conversion!";}s:7:"tagline";s:64:"This is the combined feed of Yoast.com and the WordPress Podcast";}s:9:"textinput";a:0:{}s:5:"image";a:6:{s:5:"title";s:29:"Yoast & The WordPress Podcast";s:3:"url";s:73:"http://cdn.yoast.com/wp-content/themes/yoast-v2/images/yoast-logo-rss.png";s:4:"link";s:22:"http://yoast.com/feed/";s:5:"width";s:3:"144";s:6:"height";s:3:"103";s:11:"description";s:17:"Tweaking Websites";}s:9:"feed_type";s:3:"RSS";s:12:"feed_version";s:3:"2.0";s:5:"stack";a:0:{}s:9:"inchannel";b:0;s:6:"initem";b:0;s:9:"incontent";b:0;s:11:"intextinput";b:0;s:7:"inimage";b:0;s:13:"current_field";s:0:"";s:17:"current_namespace";b:0;s:19:"_CONTENT_CONSTRUCTS";a:6:{i:0;s:7:"content";i:1;s:7:"summary";i:2;s:4:"info";i:3;s:5:"title";i:4;s:7:"tagline";i:5;s:9:"copyright";}s:4:"etag";s:27:"DbhUzV2HU4mOiJE+OOKIRNvw5Ww";s:13:"last_modified";s:29:"Sun, 01 May 2011 23:19:28 GMT";}