<?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>Xavisys&#187; Efficient Related Posts</title>
	<atom:link href="http://xavisys.com/tag/efficient-related-posts/feed/" rel="self" type="application/rss+xml" />
	<link>http://xavisys.com</link>
	<description>WordPress Plugins and Custom WordPress Development</description>
	<lastBuildDate>Wed, 16 Nov 2011 20:45:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<atom:link rel='hub' href='http://xavisys.com/?pushpress=hub'/>
		<item>
		<title>Efficient Related Posts 0.3.4 Released</title>
		<link>http://xavisys.com/efficient-related-posts-0-3-4-released/</link>
		<comments>http://xavisys.com/efficient-related-posts-0-3-4-released/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 23:43:09 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[WordPress Plugin Updates]]></category>
		<category><![CDATA[Efficient Related Posts]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=781</guid>
		<description><![CDATA[We just released version 0.3.4 of the Efficient Related Posts plugin for WordPress. It uses the new Xavisys Plugin Framwork (I&#8217;ll post more info on that soon), which gives it a nice new options page, links to the support forums, etc. We also did a lot of the work toward internationalizing it, and hopefully it [...]]]></description>
			<content:encoded><![CDATA[<p>We just released version 0.3.4 of the <a href="http://xavisys.com/wordpress-plugins/efficient-related-posts/">Efficient Related Posts plugin for WordPress</a>.  It uses the new Xavisys Plugin Framwork (I&#8217;ll post more info on that soon), which gives it a nice new options page, links to the support forums, etc.  We also did a lot of the work toward internationalizing it, and hopefully it will be fully translatable int he next version (coming soon).</p>
<p>If you want to request a feature, or need support, go to the <a href="http://xavisys.com/support/forum/efficient-related-posts/">Efficient Related Posts Support Forum</a>.  More information is available on the <a href="http://xavisys.com/wordpress-plugins/efficient-related-posts/">Efficient Related Posts</a> page.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/problem-related-post-plugins/' title='The Problem with Related Post Plugins'>The Problem with Related Post Plugins</a></li>
<li><a href='http://xavisys.com/xavisys-wordpress-plugin-framework/' title='The Xavisys WordPress Plugin Framework'>The Xavisys WordPress Plugin Framework</a></li>
<li><a href='http://xavisys.com/10-great-wordpress-plugins/' title='10 Great WordPress Plugins'>10 Great WordPress Plugins</a></li>
<li><a href='http://xavisys.com/wordpress-plugins/manual-related-links/' title='Manual Related Links'>Manual Related Links</a></li>
<li><a href='http://xavisys.com/wordpress-plugins/efficient-related-posts/' title='Efficient Related Posts'>Efficient Related Posts</a></li>
</ul>
<span class="sfforumlink"><a href="http://xavisys.com/support/forum/efficient-related-posts/efficient-related-posts-0-3-4-released/"><img src="http://xavisys.com/wp-content/plugins/simple-forum/styles/icons/default/bloglink.png" alt="" /> Join the forum discussion on this post</a></span>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/efficient-related-posts-0-3-4-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Efficient Related Posts 0.3.2 Released</title>
		<link>http://xavisys.com/efficient-related-posts-032-released/</link>
		<comments>http://xavisys.com/efficient-related-posts-032-released/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 17:48:55 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[WordPress Plugin Updates]]></category>
		<category><![CDATA[Efficient Related Posts]]></category>
		<category><![CDATA[Related Posts]]></category>
		<category><![CDATA[shortcodes]]></category>
		<category><![CDATA[Wordpress Plugin Update]]></category>

		<guid isPermaLink="false">http://xavisys.com/?p=464</guid>
		<description><![CDATA[Version 0.3.2 of Efficient Related Posts was just released. Due to popular demand, it now has a shortcode to add add the list of posts anywhere shortcodes are supported in the loop. The readme was also updated to answer some of the common usage questions and to explain how to use the new shortcode. The [...]]]></description>
			<content:encoded><![CDATA[<p>Version 0.3.2 of <a href="http://xavisys.com/2009/06/efficient-related-posts/">Efficient Related Posts</a> was just released.  Due to popular demand, it now has a shortcode to add add the list of posts anywhere shortcodes are supported in the loop.  The readme was also updated to answer some of the common usage questions and to explain how to use the new shortcode.</p>
<p>The best place to find information is on the <a href="http://xavisys.com/2009/06/efficient-related-posts/">Efficient Related Posts</a> page which is updated regularly.  However, here are some of the new FAQs.</p>
<h4>How can I add a list of related posts to my posts?</h4>
<p>You can configure Efficient Related Posts to add related posts automatically in Settings -&gt; Related Posts.  Alternatively you can use the shortcode [relatedPosts] or the helper functions <code>wp_get_related_posts()</code> and <code>wp_related_posts()</code> in your theme files.</p>
<h4>How exactly do you use the [relatedPosts] shortcode?</h4>
<p>To use the default settings (from Settings -&gt; Related Posts) you just need to add <code>[relatedPosts]</code> to your post or page where you want to list to be.  You can also add some attributes to it such as num_to_display (Number of related posts to display), no_rp_text (Text to display if there are no related posts), and title (Title for related posts list, empty for none) like this:</p>
<ul>
<li><code>[relatedPosts title="Most Related Post" num_to_display="1"]</code></li>
<li><code>[relatedPosts num_to_display="1" no_rp_text="No Related Posts Found"]</code></li>
<li><code>[relatedPosts title="Try these related posts:" num_to_display="3" no_rp_text="No Related Posts Found"]</code></li>
</ul>
<h4>How do the theme helper functions work?</h4>
<p>You can use <code>wp_get_related_posts()</code> and <code>wp_related_posts()</code> to display a list of related posts in your theme.  They need to be used in &#8220;the loop&#8221; and the only difference is that <code>wp_get_related_posts()</code> returns the list and wp_related_posts() echos the list.  You can also pass an associative array of arguments to it such as num_to_display (Number of related posts to display), no_rp_text (Text to display if there are no related posts), and title (Title for related posts list, empty for none) like this:</p>
<ul>
<li><code>wp_related_posts(array('title'=&gt;'Most Related Post', 'num_to_display'=&gt;1))</code></li>
<li><code>echo wp_get_related_posts(array('num_to_display'=&gt;1, 'no_rp_text'=&gt;'No Related Posts Found'))</code></li>
<li><code>wp_related_posts(array('title'=&gt;'Most Related Post', 'num_to_display'=&gt;3, 'no_rp_text'=&gt;'No Related Posts Found'))</code></li>
</ul>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/problem-related-post-plugins/' title='The Problem with Related Post Plugins'>The Problem with Related Post Plugins</a></li>
<li><a href='http://xavisys.com/wordpress-plugins/manual-related-links/' title='Manual Related Links'>Manual Related Links</a></li>
<li><a href='http://xavisys.com/wordpress-plugins/efficient-related-posts/' title='Efficient Related Posts'>Efficient Related Posts</a></li>
<li><a href='http://xavisys.com/wordpress-25-shortcodes/' title='WordPress 2.5 Shortcodes'>WordPress 2.5 Shortcodes</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/efficient-related-posts-032-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Problem with Related Post Plugins</title>
		<link>http://xavisys.com/problem-related-post-plugins/</link>
		<comments>http://xavisys.com/problem-related-post-plugins/#comments</comments>
		<pubDate>Thu, 21 May 2009 15:52:00 +0000</pubDate>
		<dc:creator>Aaron D. Campbell</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Efficient Related Posts]]></category>
		<category><![CDATA[Related Posts]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://wpinformer.com/?p=54</guid>
		<description><![CDATA[Showing related content to your users is important. I don&#8217;t think there&#8217;s anyone disputing that (at least not that I&#8217;m listening to). The real question is &#8220;how?&#8221; How can you show your user good related content without adding a ton of extra work for yourself? This is where related posts plugins come into play. There [...]]]></description>
			<content:encoded><![CDATA[<p>Showing related content to your users is important.  I don&#8217;t think there&#8217;s anyone disputing that (at least not that I&#8217;m listening to).  The real question is &#8220;how?&#8221;  How can you show your user good related content without adding a ton of extra work for yourself?  This is where related posts plugins come into play.</p>
<p>There are a lot of options out there.  So many that it&#8217;s quite time consuming to try them all until you find one that suits you.  Two of my favorites are <a href="http://wordpress.org/extend/plugins/wordpress-23-related-posts-plugin/">WordPress Related Posts</a> and <a href="http://wordpress.org/extend/plugins/yet-another-related-posts-plugin/">Yet Another Related Posts Plugin (YARPP)</a>.  Yarpp gives you more control over how matches are made, but for that very reason it&#8217;s also less efficient.  Joost de Valk referred to it as a &#8220;heavy plugin&#8221; in his article on <a href="http://yoast.com/wordpress-performance-optimization/">Optimizing WordPress database performance</a>, and it definitely is.  WordPress Related Posts is far more efficient, but offers you a little less control over how matches are made.  Unfortunately they share the same problem.</p>
<p>So what is this problem?  They all find matches to a post in the front end rather than the back end.  They do it when a user views a specific post, rather than when a post is created or modified.  On a brand new site I launched, which has only 7 posts, we&#8217;ve received roughly 2000 pageviews.  That&#8217;s pretty low, but lets take a look at it.  About 700 of those visits were to the home page and about 1300 were to single post pages.  If you only show related posts on single post pages (which is how we currently do it) then the related posts plugin has been run over 1300 times for only 7 posts, which is roughly 185 times per post!  If I were to show related posts for each post on the front page then it would have run another 4000 times (which is a conservative estimate), bringing it to 757 times per post.  If you think this seems excessive, lets take a look at the stats for <a href="http://webdevnews.net">Web Developer News</a>.  It has had over 13,500 page views in the last 30 days.  About 750 were to the home page, about 140 were to other static pages, roughly 550 were to tag pages, and another 250 were to miscellaneous pages such as search pages.  That leaves 11,810 visits to single post pages and 21 posts during that same time.  That&#8217;s about 562 times per post!  If I added related posts to the home page, tag pages, and search pages it would need to be run roughly another 15,000 or 1,276 times per post.</p>
<p><span id="more-456"></span></p>
<p>In addition to the simple waste of memory and cpu cycles, putting the calculation of related posts on the front end means that when they start to slow down your users are left with a bad experience and slow loading pages.  And they <strong>will</strong> slow down eventually, if your site gets big enough.  I just recently worked on a site with more than 6,000 posts and over 1,800 tags (they offer investing advice, and have a lot of tags that correspond to ticker symbols).  At that point, some of the related posts queries were taking 10 seconds to run.  That&#8217;s really show.  We can do better than that right?  Well it&#8217;s not easy but I think we can.</p>
<p>I would always prefer that I (or my content creators) have to wait, rather than make my users wait.  So, the logical solution would be to match related posts when a post is saved, and store them in the post&#8217;s meta data.  Simple and solved right?  Wrong.  If that&#8217;s all you did, then posts would only <strong>ever</strong> be related to posts older than themselves.  This would mean that part two of a series would likely relate to part one, but part one would never relate to part two.  We solved the speed issue, but we took a huge hit in functionality.  However, a plugin that I&#8217;ve developed and am testing takes it farther than that.  When a post is saved, it&#8217;s related posts are saved, but all possible related posts are spidered and checked to see if they need to have new matches calculated for them.</p>
<p>For extremely large sites, the plugin still causes delays when you save a post.  However, better you than your user.  If you&#8217;re interested in using this plugin, I&#8217;ll be releasing it soon and I&#8217;ll add a link to it here when I do<sup><a href="http://xavisys.com/problem-related-post-plugins/#footnote_0_456" id="identifier_0_456" class="footnote-link footnote-identifier-link" title="Efficient Related Posts">1</a></sup>.  However, for now I need a name for it!  I originally called it <em>Related Posts &#8211; High Volume</em> because it was meant to fix issues on high-volume sites.  However, since it can apply to almost any site, I&#8217;m looking for an inspired name that really lets people know what it can do.  You can leave any ideas you have in the comment here or send them via twitter to <a href="http://twitter.com/aaroncampbell">@aaroncampbell</a> or <a href="http://twitter.com/wpinformer">@wpinformer</a>.</p>
<p>UPDATE:<br />
The WordPress plugin has been released.  You can download <a href="http://wordpress.org/extend/plugins/efficient-related-posts/">Efficient Related Posts</a> from wordpress.org and you can read more about it at <a href="http://xavisys.com/wordpress-plugins/efficient-related-posts/">Efficient Related Posts at Xavisys.com</a><br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://xavisys.com/speaking-at-wordcamp-san-francisco-2011/' title='Speaking at WordCamp San Francisco 2011'>Speaking at WordCamp San Francisco 2011</a></li>
<li><a href='http://xavisys.com/wordpress-q-a/' title='WordPress Q &amp; A'>WordPress Q &#038; A</a></li>
<li><a href='http://xavisys.com/google-summer-of-code-2010/' title='Google Summer of Code 2010'>Google Summer of Code 2010</a></li>
<li><a href='http://xavisys.com/xavisys-wordpress-plugin-framework/' title='The Xavisys WordPress Plugin Framework'>The Xavisys WordPress Plugin Framework</a></li>
<li><a href='http://xavisys.com/10-great-wordpress-plugins/' title='10 Great WordPress Plugins'>10 Great WordPress Plugins</a></li>
</ul>
<ol class="footnotes"><li id="footnote_0_456" class="footnote"><a href="http://xavisys.com/wordpress-plugins/efficient-related-posts/">Efficient Related Posts</a></li></ol>]]></content:encoded>
			<wfw:commentRss>http://xavisys.com/problem-related-post-plugins/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>

