Should My WordPress Site Use a Related Posts Plugin?

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?

  • Leave a Comment
  • Yet Another Related Posts WordPress Plugin

    This will be my second post in as many weeks about related posts plugins, but after reviewing the related posts by category plugin last week, another plugin was brought to my attention.

    This plugin is called the Yet Another Related Posts Plugin, but it is much more than that.  I mentioned in my last post that my favorite related posts plugin has not been updated in several years and doesn’t contain features like adding related posts to your feed.  YARRP separates itself from the rest with their advanced features, including:

    • Improved algorithm for finding related posts that also takes into consideration categories and tags
    • The ability to set a threshold on the relevancy of the posts that you want to show
    • The ability to display the related posts in your RSS feed
    • The automatic integration of the related links below your posts

    As with any good plugin, you get a number of options which you can control from the WordPress dashboard:

    I’m currently experimenting with this WordPress plugin on one of my low traffic sites and if I’m impressed, I will probably use this on all of my WordPress installations.    Do any of you use this plugin?   Are you pleased with it or do you prefer a classic like Related Entries?

  • Leave a Comment
  • New Related Posts by Category WordPress Plugin

    Over the past few years a number of WordPress plugins have been created to generate and display related posts for single pages of your blog.   The original Related Posts plugin is still my favorite because it uses the post titles to determine which posts are related, but this plugin requires you to log in to CPanel and make some adjustments there (instructions on how to do this in the linked post above).

    Another very comparable related post plugin is Related Posts 2.3, which was created after WordPress 2.3 added tags to the core software.   In addition to matching up related posts by your tags, it also displays related posts in your feed (the first one I mentioned doesn’t do this on its own).  This is of course only useful if you tag your posts responsibly, so it may not be a viable option for most people who treat tags as (meta) keywords.

    If neither of these plugins fit your needs, there is a new plugin available which displays related posts by category.  It does require WordPress 2.3 or higher to use.

    According to the author of this new plugin:

    The WordPress-Plugin Related Posts by Category lists similar posts within any article. As a search string the plugin does not use the title of the article nor weighs the content. In fact the category, which was assigned to the post, serves as the source of accordance. The reason for that: Posts from an equivalent category have most of the time identical topics and can therefore be seen as absolute relevant. Is an article assigned to more than one category, all of those categories will be used for the database query. Obviously this leads to more results.

    This plugin requires the same responsibility as the tag one, though people are generally more disciplined with their categories than they are with tagging posts (because tags double as meta tags usually), hopefully making the resulting posts more relevant with this plugin.

  • Leave a Comment
  • 10 Ways to Improve Navigation in WordPress

    Improving the navigation in your blog means visitors will find MORE of your content, and return MORE often. Even with the best content and lots of traffic – the most important thing is that people can QUICKLY find what they were looking for from the first moment they enter your blog!

    I’m going to give you 10 different ways you can improve the navigation in your blog that anyone can (and should) implement for better usability when you have a WordPress powered blog. You will be surprised how much easier it will be to find content by using these techniques.

    10 Steps to Improved WordPress Navigation

    1. Add Breadcrumbs: This is a very easy fix, and one I don’t see on many blogs. Breadcrumbs are the simple link trail on the top of a web page like this: “Home -> Page -> SubPage”. It’s easy to add breadcrumbs, just use a 2.6+ compatible plugin like “Breadcrumb NavXT.
    2. Get rid of Ugly Next and Previous Links: Every WordPress homepage, and any page that has lists of blog posts (search, archive), has simple “next” and “previous” links to navigate older posts. I have witnessed (countless times) visitors thinking that all the posts you had to offer were listed on the homepage and that was it (mainly people not familiar with WordPress). You should have a linked list of pages (like google) that says “this is page 1 of…” and links to “2, 3, 4, 5, etc”. It’s easy to fix this with plugins like WP-PageNavi or WP-Page Numbers.
    3. Bold Pagination on Single Pages: You can’t use the last trick on single pages, but every single (post) page has links at the bottom to view the next and previous page as well. I edit my “single.php” file to change that text to something like “Post before this one” and “Post after this one”, and align them left and right (bolded). You can style them any way you want – the point is to make them stand out. Visitors often come from SERP’s to a single post page, make it easy for them to view other ones as well.
    4. More Links and Excerpts: This is personal preference really, but I prefer to have post excerpts on pages instead of the entire post, because I feel it clutters up pages and makes everything run together (on most blogs). I like to encourage people to visit the single post page to read the entire thing. There are a couple ways to change a running post page (like search results, archives, index.php) to show excerpts. On your homepage, you can use the Homepage excerpts plugin to achieve this. On all other pages, just the “the loop” and change the_content to the_excerpt.
    5. Multi-Paged Navigation: If you ramble on like I do, some of your posts can be dreadfully long. Break them up into multi-pages posts using a plugin like Multi-Page Toolkit. It’s not only better usability, but it creates multiple post pages so you can get more indexed in the search engines.
    6. Related Posts: What better way to get people to stay on your blog than by recommending to them “related posts” that you’ve written?! All it takes is a plugin like Related Posts.
    7. Most Viewed Posts: Like an MVP of the game – you should be showing your visitors your most valuable content! Lester Chan has a great plugin called WP Post Views that has a sidebar widget than can display your most viewed posts! This is a great way to showcase your best posts and keep people on your blog.
    8. Most Popular Posts: Alex King has a plugin called Popularity Contest that displays how popular posts are.
    9. Category Images: Having your categories a post is assigned to listed and linked is a great way to get visitors to view everything else you have posted in that category, but sometimes (like “ad blindness) readers are blinded to post meta info. Solve that by assigning images to your categories, so that they stand out prominently! All you need is the Category Icons plugin.
    10. Sidebar Navigation: There are a bazillion options for pimping out your sidebar, and most bloggers seem to just liste categories, archives, and a blogroll. Check out all of the WordPress Widgets available, the WordPress Codex page for “Customizing Your Sidebar”, the List Authors widget, Parent Pages widget, and especially the WordPress plugin iFrameWidgets. The iframe widgets one is great if you use myBlogLog, BlogCatalog, Entrecard, or other third party widgets that may slow the load time of your blog.

    By following these 10 steps to better navigation, your visitors will STAY LONGER and READ MORE each and every time they visit your blog. This article was a synopsis of my in depth article WordPress Hack #5: 10 Ways to Improve Navigation. Happy Hacking!

  • Leave a Comment
  • Premium Theme: WP-Magazine 1.0 WordPress Theme

    One of my favorite things about premium WordPress themes is that they give theme authors the opportunity to truly show off their talents. Because the theme will be purchased rather than given free, they don’t hold anything back and truly create some incredible work.

    Michael at Solostream is no exception. He has created a number of free themes in the past, but has since been concentrating on creating and selling a variety of premium WordPress themes for bloggers and businesses looking for a magazine-style theme.

    His most recent premium theme WP-Magazine 1.0 is his best work to date (in my opinion). Here are some screen shots of a few pages:

    WP-Magazine Screenshot

    WP-Magazine Screenshot 2

    Once purchased, you have access to five different home page layouts and four different category/archive page layouts. You can find more information about the layouts available here.

    Other features include:

    • Widget-Ready, User-Friendly, and Optimized for WordPress Versions 2.2 and Above
    • Home Page Featured Article Glider Box
    • Built-In Banner Ad Blocks
    • Built-In Site Guide in Right Sidebar
    • Customized Recent Comments in Sidebar With Gravatar Support
    • Author Biography Information and Gravatar Included on Single Post Pages
    • Alternating Color Comments With Gravatar Support
    • XHTML Valid

    In addition to these great features, this theme also supports several plugins “out of the box” including the following:

    If you’d like to view this theme in action, check out the WP-Magazine Demo Site. You can also purchase the theme from that site.

  • Leave a Comment
  • 10 WordPress Plugins Every Blog Should Be Using

    When it comes to WordPress, there are many things that separate it from the competition. My personal favorite, though, is the WordPress community, which has contributed all sorts of WordPress plugins to anyone using the WordPress software. These are available for free without any obligation.

    Many plugins are situational, either for certain types of blogs, or for certain particular functions, and probably don’t have a place on every WordPress blog. There are a few, however, that every WordPress blog should be using in some form.

    Here is my list of the top plugins all WordPress blogs should be using, in no particular order:

    • Related Posts – Arguably the most important plugin WordPress has to offer. This plugin shows a designated number of related entries below your post (or wherever you want to place it). This is ideal for anyone, but especially for those that get a lot of search engine traffic. It goes a long way to keep web surfers on your site.
    • Add Related Posts to Your Feed – Adds the above mentioned Related Posts to your feed (requires the Related Posts or Ultimate Tagging Warrior plugin(s) to be installed in order to work).
    • All-in-One SEO Pack – This is the ultimate SEO plugin for optimizing your blog for search engines. It automates the SEO process and gives you control over individual title, tags, and description information.
    • Permalink Redirect – This plugin does a permanent 301 redirect. This will ensure that search engines don’t penalize you for duplicate posts when they index your site (with and without the www, as well as posts that don’t include the trailing /). This plugin now also redirects your site’s default feed to your Feedburner feed and allows you to set up custom redirects.
    • WP-Contact Form – Many e-mail spammers search the web looking for e-mail addresses to use for spam purposes. Having your e-mail address available on somewhere on your website (including in the code somewhere) makes you vulnerable to these people. This plugin creates a contact form that people can use to contact you, so your e-mail address is not displayed. It also includes spam protection and some other optional features.
    • WP-DB Manager – This plugin gives you full control of your database, including how to back it up, restore it, and deleting tables when necessary. If this plugin proves to be to advanced, the alternative is WordPress Database Backup, which allows you to backup your database, but doesn’t make it easy to restore it if something comes up.
    • Google Sitemaps – Generates an XML-Sitemap file of your website that Google, Yahoo!, and MSN will use to index your blog. This ensures Google is aware of all of your new posts, as well as any updates you’ve made to posts that were previously indexed and need to be updated.
    • Akismet – This plugin comes by default with all current WordPress installations, but requires activation. You can obtain a free key to activate it. It will catch most spam and place it in a approval queue so you can view it before it is posted on to your website.
    • Bad Behavior – Prevents known spam bots from accessing your website and is compatible with Akismet (mentioned above).
    • Gamer’s Pack – As video game technology continues to increase, this plugin will be more and more important. This plugin that makes your website easily viewable on the Nintendo Wii, Nintendo DS, and Sony PSP gaming systems. I’ve also found it helps people trying to view your website on a cellular phone.

    So, there is my list. 10 plugins that I feel all WordPress users should use regardless of what type of blog they are running. I intentionally did not include any plugins that use comments, as many blogs do not accept comments, making these plugins not needed for them. My goal with this post was to cover only plugins that should be used regardless of the type of blog is being run.

    Is there a plugin that you feel should have been included on this list? Let me know in the comments below!

  • Leave a Comment
  • Promote Your Blog Archives By Adding Related Posts To Your Feed

    Comments Off

    A couple weeks ago I took a look at the Related Posts WordPress plugin, which is one of my favorite plugins available to WordPress users. It can be quite a chore to setup, but once done, the plugin will make your blog a whole lot better. Unfortunately, this plugin will not actually add these related posts to your WordPress feed.

    There is, however, a different plugin that will do this for you called Add Related Posts to Your Feed. In order to setup the plugin, you just need to go through the standard setup process of uploading and activating it. The only catch is that you need to already be using the Related Posts plugin, or be using the Ultimate Tagging Warrior plugin, for this plugin to properly add related posts to your feed.

  • Leave a Comment
  • Show Related Blog Posts with the Related Posts WordPress Plugin

    As I’ve mentioned before, there are only a few select WordPress plugins that should be used by most WordPress blogs. Unless you are running a news site of some sort where your archived posts don’t hold any real value to search engine traffic, you should be using the Related Posts WordPress plugin to try to promote some of your older content.

    The first thing you’ll notice after downloading this plugin, is that it is not overly easy to setup up.   In addition to the normal process of uploading it and activating it, you will more than likely need to make an update to one of your databases in order to function.  Here is what the author asks you to do:

    ALTER TABLE `wp_posts` ADD FULLTEXT `post_related` (
    

    `post_name` ,   `post_content` )

    No idea how to create/alter a table?  No problem.  Here are the steps you’ll need to take to make the adjustment:

    1) Backup your databases in case you have a problem.
    2) Access your blog’s CPanel.
    3) Click MySQL Databases.
    4) Scroll down and click PHPMyAdmin.
    5) If applicable, select the appropriate database in the menu on the right.
    6) Scroll through your databases until you locate wp_posts.
    7) In the Structure tab at the bottom, you should see some stuff that looks like this, but without the post_related field:

    Post Related

    We need to create the post_related field pictured above.

    8) Where is says Create an index on 1 columns, click the Go button. You should now see this:

    rp index

    9) Under index name, type post_related.
    10) In the Index type drop-down box, select FULLTEXT.
    11) Click Go where it says Add to index 1 column(s).
    12) In the first field, select post_date [postdate].
    13) In the second field, select post_content [longtext].
    14) Click Save.

    Now you should see the post_related field pictured above!

    Now you just need to tell the plugin where to display your related posts:

    <?php if(function_exists('related_posts')) { related_posts(); } ?>

    Now that its set up, you can then determine the number of posts you’d like to display from a Options panel under Plugins, and how you’d like to display them.

    So, what exactly does this plugin do?  Well, the name of the plugin pretty much sums it up.  Using the keywords in your post titles, this plugin attempts to figure out the most relevant related posts to the post you just wrote, then them wherever you tell the plugin to display the related posts.  This is all done automatically, so you’ve got your plugin setup, there will not be any additional maintenance.

    Any questions or thoughts?  Sound off in the comments below!

  • Leave a Comment