If you have a WordPress site, what can you do? Well.
Option 1 Use a no-code-required plugin with relationships functionality
contextual related posts plugin
One I found is called Contextual Related Posts. If you’re going to automate post relating, it’s worth trying out. 70k active installs with vast majority 5 star reviews and recently updated.
But is it worth automating “related posts” if the accuracy isn’t there? Does that not only not help the user but also signal that you don’t have much related content?
I know I’m guilty of posting on a smattering of topics.
What I do like about the plugin is you can choose to rely on either title or full body content. So you can tinker to improve the results served.
It also allows an override pulling similar posts based on a list of keywords you add for the given post (semi-manual), choosing which posts to serve by ID (very manual, hard to imagine someone finding posts, then checking the IDs, then adding them consistently).
Turning it on for this post, I got:
- Quick tips to improve internal linking for WordPress sites (good I think)
- Starter Google Search Ad Campaign Targeting Options (random)
- Tactical content vs thought leadership content (random)
- To plan or not plan your content? (good I think)
So I’d give the automatic a 1.5 out of 4 for this post but maybe it gets better the more content you have or the cleaner your title and signals.
jetpack related posts
Though I’m not a big fan of some of Jetpack’s features, their related posts method is pretty straightforward and has some decent customization options. I came across this one looking at Mark Schaefer’s blog‘s related posts, which I have personally used a few times in the past.
Option 2 Manually relate posts
This is our go to. If we’re designing a method for clients to relate posts, or any type of content, we use a common tool called Advanced Custom Fields (ACF). They have a “Relationships” method that works well for quick and dirty relating of content.
Relationships work one way by default, ie. add a related post to your current post and you can access the relationship from the current post, not vice versa.
For that there is a ACF Bidirectional Relationships method that allows you to write relationships both ways upon adding or updating relationships. Or you can reverse query a one way relationship, which requires some more sophistication during development.
Here’s a recent example for inCourage’s site, mentioned a few days ago. We created a post type like “Videos” and allow for relationships between content types.
Then you can decide which personas, text-based resources, and articles to associate those with through a form on the Edit page.
To make it as easy as possible, you can run a search in a search box at the bottom of the post.
Here’s what it looks like for inCourage:
Then that relationship is stored in the database. This makes it easy for the person publishing.
What’s nice about this is I can “keyword” search titles directly. So if I want to get a list of posts matching “relat” that will pull up any related posts, or relating content type articles, I have my pick.
When relationships are simple, this works fine. I can query the database for videos, then grab the referenced related objects and output on the page. Easy peasy.
So what’s the downside? Well, beyond super simple first degree relationships, like adding in even just one more step, and it starts becoming cost-prohibitive.
Let’s say I want to grab resources related to the video, but then organize them by persona that’s related to the resource.
This is what I mean:
It probably looks like it was NBD right? But even with years of experience writing WordPress queries I had to get some help from Dave Rodrigues, a specialist, to write the code. Just to get a little bit more related content, we have to:
- run the video query to output the video data from the database (WordPress handles this automatically)
- then open a query to return it’s “Resources” relationships
- then for each resource, query the related “Persona Hub”
- then resort that information on the output
All just so it’s easy for people to find resources that are more relevant to them at a glance on a video page.
Related to option 2 – create a simple “Related Posts” section
A simpler option is to allow you to associate your posts. We just did this for a site where we’re consolidating a few hundred posts from four different sites and blogs.
Still manual, but you add it to your workflow when you create a new post to choose three related posts that (only if selected) will then show up below your post. On the backend it’s similar to the above:
A nice feature is that you can choose a category in the “Select taxonomy” dropdown and it will show you the list of posts in that category or tag to choose from, making the process just a bit quicker if you don’t have related posts in mind. Here’s what it looks like under the post:
We just wrote one of these and the code is actually pretty simple. If you want to use it, your dev will likely have to customize it.
Option 3: Map your database to a more robust technology that can sort content based on implied or link-based relationships
There are a fair amount of search engine driven plugin solutions out there for this in a push for “advanced search” functionality on WordPress sites.
These plugins take over the default site search and allow users more robust search results using a ton of custom code or a third party search engine subscription like Algolia, Site Search 360, or Swiftype.
If you have multiple databases, you can use a crawler based search engine solution like Expertrec. Basically what Google used to do with Google Custom Search.
But search is different from related content recommendations on pages right?
It’s actually not too far removed. With a good search engine solution, you could simply return the first three search results that match the title of your page (excluding that page).
If it’s videos, you then filter by videos.
There are also a fair amount of content recommendation plugins out there. If I find any good ones for audience-first sites, I’ll share.
Articles referencing this one