Related Posts Plugins are an amazing way to keep a visitor engaged on your site. By doing some magic on the backend of a site, they can make tailored post suggestions according to the content on-page. Tailored recommendations will boost average time on site, average page views, and the like. Related posts are also awesome ways to add advertisements to a site.

Unfortunately, related posts plugins can also destroy a site’s performance, or bring it down entirely.

Many related posts plugins work by creating a “FULLTEXT index” on the “posts” table in MySQL. This is a mechanism to make complex queries against the content of posts.  For example, “posts which contain A and B but not C or D.” Usually, this means indexing categories, tags, specific keywords, and a number of other data points and querying them later.

It’s a cool way to search, but MySQL wasn’t built to make queries like this.

In MySQL, FULLTEXT indexes consume high loads of resources at run-time, particularly for larger sites with proportionally large databases.  Under heavy traffic loads, this will slow the entire site down, or crash it entirely.

To make matters worse, when changes are made to (large) tables with FULLTEXT indexes, rebuilding that index can take hours and hours. Sometimes rebuilding will even fail, producing a corrupted MySQL table. This can happen when you do something like upgrade to the latest version of WordPress.

Now, I don’t want to be too hard on related posts plugins. They will work if your site isn’t getting a ton of traffic. However, many aren’t good practice if you’re building a site to scale. We’ve actually disallowed them at WP Engine because we don’t want to unnecessarily slow sites down.

That was a lot of bad news. Here’s the good news!

There are TWO PLUGINS that achieve “related posts” functionality, but do it off-server, so that you don’t bog down MySQL.

Take a look at nrelate’s and LinkWithin’s “related posts” plugins. These do their calculations on their own servers and don’t cause the same issues with the databases.

Nrelate has 3 different plugins based on whether you want your most popular content or related content to display, as well as if you want the related post to “fly out” at the reader.  All three are available in the WordPress plugin repository.  LinkWithin will make recommendations to related posts based on several factors, including title, tags, and content.

How they work

Nrelate creates its own, secure, RSS feed, and feeds your content directly their servers. This means their pinghost is added to your Update Services. So each time you update your blog with new content, nrelate gets the feed and can analyze it for related posts. Then, they use Natural Language Processing inside a database designed for search to analyze your content and make related recommendations.

LinkWithin similarly analyzes your content off-server. They have a context engine that looks at categories, tags, keywords, and a few other aspects of your content in order to make recommendations. LinkWithin used to redirect traffic through their site, but no longer. You get all the SEO juice from the links.

Both plugins accomplish the related posts functionality off-server. I’m personally a big fan of nrelate’s strategy of using the RSS feed to get the content and then processing it with NLP.  I was also able to speak on the phone with both developers from nrelate in the writing of the article, which indicates the support they’re providing their plugin.

Security

LinkWithin has secure processes to pull your content, and there are zero known security issues with their plugin.

When I spoke with nReleate, they talked about how their RSS feed can only be accessed with a random key that is generated when you install the plugin.  They hired Mark Jaquith to build this part of the plugin with airtight security.

Image options

With nRelate, you can either show your content as one of six sizes of thumbnails, or as very simple bullets. The plugin automatically creates a thumbnail from the featured image, but you can also specify which image to use.  If you don’t have any images on your post, nrelate will actually pull one from their image library.  You can see examples of their ads on Huffington Post and Endgadget.

LinkWithin relies heavily on featured images from your page in order to provide thumbnails.  If you don’t set featured images, the plugin won’t show any.  It also provides very customized sizing of images that are optimized for your site.

Advertising

You can add your advertising networks to nRelate (they have their own ad network) and serve your ads along with the recommended content. Linkwithin does not currently support advertising.

Styling

Your css is automatically adopted by nRelate, so the thumbnails and font styling will automatically look like your design, but you can still customize things as you like.

International Languages

Nrelate is also in the following languages: Dutch, English, French, German, Indonesian, Italian, Polish, Portuguese, Russian, Spanish, Swedish and Turkish.

Check out both of those plugins to see which one works for your needs. Both of them offer significant speed and scalability benefits to your site.

Are you using a related post plugin for your site?  How has it affected your traffic?  Have you noticed any performance issues?

I'm Austin Gunter, a 20-something in Austin, Texas who lives and breathes life around words and people. I work at WP Engine.com as the Brand Ambassador inside the WordPress (Capital "P") community. I make connections between the community and WP Engine. I also blog at AustinGunter.com and tweet at @AustinGunter.

  • http://www.hillarybost.com Hillary Bost

    I really like the plugin but i guess it is personal preference for many.

    • http://wpengine.com Austin Gunter

      Hillary,

      Thanks for the comment! Yep, it’s definitely an individual preference thing based on what your site needs and who your audience is.

  • janw

    good post, there are too little posts that take performance into account.

    • http://wpengine.com Austin Gunter

      Hey Jan,

      Thanks for the comment! I agree, performance gets overlooked with plugins. I don’t like the blanket statement that too many plugins is too many, but if we have a site that needs to be scalable, we have to make sure each additional plugin fits the bill!

  • http://am0.co.uk Alex

    Both good choices for alternative plugins, although I usually find the best method for related posts is to train users to categorise and tag posts properly- then you can do queries with much less of an overhead.

    • http://wpengine.com Austin Gunter

      Hey Alex,

      Thanks for the comment :-)

      I’m curious what you do to train your users to categorize the content? Do you have a strategy that works? I may start calling you Pavlov if the idea is good ;-)

      I would make the point that anytime you can get away with not querying MySQL, you’re probably gaining speed. That’s why Nginx’s abiliy to cache_proxy is so powerful – it prevents constant hits to MySQL and dramatically improves site performance.

  • http://techankit.com/ ankit

    yes i agree with the point with relate handling all the complex queries on their own servers but sometimes in some post they don’t provide relevant related post according to the actual post…and sometimes it takes 2-3 days to figure out the proper related post

  • http://wpengine.com Austin Gunter

    Hey Ankit,

    Thank you for commenting :-)

    Is your experience based on nrelate / LinkWithin or another plugin? I’d say that yes it can take a bit of time to get the categorization right, but nrelate in particular is incredibly accurate. You should run a few tests to see what you think and then let me know in the comments.

  • http://www.greatwildoutdoors.com/ Justin

    I really like the nrelate plugin haven’t had any issues so far.

  • Jon Brown

    Great post. Curious if you’ve looked at Wordnik’s new related post plugin and have thoughts on it? My understanding is it processes content on thier servers as well.

    • http://wpengine.com Austin Gunter

      I haven’t looked at Wordnik’s plugin, actually. I do know that they do amazing work, and I’ve talked with their CEO and Director of Product at WordCamps this summer. I’m incredibly impressed with what they’ve done, and blown away that nobody knows about them yet, at least it seems that way. HIghly recommended.

  • John

    Nowadays, security is the first concern to install an unknow plugins, i encounted several plugins which broke my database. Good to know that this plugin works

    • http://wpengine.com Austin Gunter

      Yeah, it definitely works and is super secure.

  • Pingback: Tips Tuesday and Offer Digital Downloads on Your Site

  • Pingback: Related Post Plugins can Handcuff You

  • http://dssence.net D.Scott

    Can it have a negative effect on SEO?

  • http://www.norcalvaluation.com Jo

    I like that it works off-site – is there a similar “related posts” plug-in that does not need thumbnails? Many of our blogs aren’t illustrated & don’t need to be. I just want a simple list of related posts to show at the bottom of each post. I was using Related Post Picker, but it seems to have quit working for me. Any tips would be appreciated.

    • http://impromocoder.com/ IMPromocoder

      Hi Jo,
      I’m using Engageya plugin to show my related posts, http://wordpress.org/extend/plugins/cross-promotion-content-recommendations/
      A few of their many layouts offer having just the titles and no thumbnails ( a good options for sites with almost no use of pics).
      I initially started using them because they support related content of all languages, but they evolved into giving additional added value on other issues as well, worth checking it out.

  • http://www.wmwebdesign.co.uk/ Keith Davis

    Hi Austin
    Can’t decide if I should use a related posts plugin or which one to try.
    NRelate gets lots of good writeups and it sounds as though that is the one that you recommend.
    Might just give it a go.