Contextual Related Posts Pro Review

I’ve been buddies with Ajay Dsouza since 2007, when I first dove into WordPress. Ajay is a prolific plugin developer, so when he suggested I give Contextual Related Posts a spin, I decided to try it out.

I’m a huge fan of Related Posts, particularly when they are added to blog articles or post types in a series.

Related posts provide:

  • An instant SEO benefit, providing internal and automatic linking opportunities.
  • Additional articles for a reader to consume, helping them stay on your site and building content authority.
  • Instant authority, particularly if you’ve written several articles on the same topic.

I’d been using Jetpack Related Posts for ages, and making the switch to something more native sounded appealing. After all, ditching Related Posts from Jetpack meant one less bulky feature to deal with.

Jetpack Related Posts on a Site
Jetpack Related Posts on a Site

To somewhat spoil the ending, here’s a quick screenshot of how Contextual Related Posts Pro looks when styled.

Contextual Related Posts on a Sample Site
Contextual Related Posts Free Version

Contextual Related Posts (free) is a handy plugin related posts plugin. The plugin works natively, not requiring a third-party service that Jetpack requires.

The plugin scans your titles and content for keywords, enabling it to suggest the most relevant articles. The plugin works great as a free base, but if you find yourself longing for extra customization and performance tweaks, then the Pro version is likely for you.

What I was really after was the Pro Query Block to use Related Posts as a template part. Additionally, Pro offers more customization and performance options. The remainder of this review will concentrate on Pro features.

Contextual Related Posts Pro Site

So, if you’re thinking about going with Contextual Related Posts Pro, here’s the breakdown of what it brings to the table:

  1. Custom Query Block: With the Pro Query Block, you can easily display related posts anywhere you want. This can be via a Synced Pattern, a template part, or even a custom hook module that comes with your theme.
  2. Enhanced Customization: You get way more control over how related posts look.
  3. Performance Improvements: The Pro version enables custom tables and content weighting, allowing you to fine-tune the algorithm to produce higher-quality results.
  4. Advanced Filtering Options: You can filter the posts based on categories or tags, ensuring that suggestions are related and relevant to your audience.
  5. Support & Updates: As a pro user, you’ll receive priority support and regular updates to keep the plugin running smoothly without any hassles.
Pricing for CRP Pro

Pricing for Contextual Related Posts Pro starts (as of this writing) at one site for $49 a year. There are additional packages for multiple sites, ranging from $99 for five sites to $299 for unlimited sites.

A Jetpack Complete bundle starts at $24.95 per month for comparison, and its Related Posts feature is quite limited as far as customization.

Jetpack Complete Yearly Plan

Installing CRP Pro

Ajay was kind enough to supply me with an evaluation plan for CRP Pro about a year ago, and I happily renewed it. You can purchase the plugin through Freemius. Freemius has its upsides and downsides, but for the most part, Ajay was able to make the experience relatively unobtrusive.

I recommend using the Freemius download email sent post-purchase to get the Pro version download. You can also log in via the CRP Pro Freemius store login.

One thing that’s not apparent from the parent site is how to retrieve account information, so I recommend Ajay make this more evident on his site how to retrieve downloads and licenses for existing customers.

Once logged in, I’m shown an area for downloads and licenses.

Webberzone Store on Freemius

From this screen, I downloaded a copy of Contextual Related Posts Pro and began plugin installation.

Once installed, I’m asked for a license. I found the license in the Freemius web store.

Freemius License Screen Where You Can Copy a License Key

One nice feature of Freemius is that I can have my license key mailed to me. However, there’s nothing else on this screen on how to retrieve a license manually.

Recover License Screen in the Freemius Modal

Once the license is entered, I can view the CRP Pro settings by navigating to Settings->Contextual Related Posts.

Related Posts Under Settings in the WordPress Dashboard

I’ll walk you through this first part as if you’re setting it up yourself. Please bear with me as there’s a lot to cover.

CRP Pro Settings

Navigate to the Contextual Related Posts settings and find the General tab. We’ll be configuring a few settings on that screen.

The General Tab

The General tab has a wealth of settings, some more advanced than others. For the most part, I’ve chosen to stick with the defaults, aside from a few tweaks below.

Post Type Settings Allow For Auto-Generation of Related Posts

General Tab in CRP PRo

You can choose where to display the related posts automatically on the General tab. You can uncheck all items if you want more manual placement. For manual placement, you can use the Pro query block or a PHP function to output related posts.

In this case, I want to display the related posts on the “Posts” post type, which is typically used for blog posts.

Select “Posts” to Only Show Related Posts on Blog Posts/Articles

The Miscellaneous Section Allows You to Enable a Post Meta Box

On the same tab, scroll down to Miscellaneous and make sure the “Show Metabox” option is enabled. This will allow you to configure Related Posts per post and disable them per post if needed.

“Show Metabox” Allows Per-Post Options, Even in the Block Editor

The metabox option is ultra-handy, particularly if you need custom settings for a post.

Per-Post Settings Allow Extreme Customization

These meta settings will come in handy if you have a lot of blog posts, as inevitably, you’ll want to customize exactly what shows up as a related post.

The Performance Tab

The Performance tab houses several options, including one to install custom tables (recommended), and some cache defaults I chose to leave alone.

The Performance Tab Is Useful for Setting Speed Optimizations and Caching Rules

On the Performance tab, I recommend enabling Custom Tables. This will considerably speed up the performance of related posts.

Enable the “Use Custom Tables” option to allow for significant performance benefits.

The List Tuning Tab

The List Tuning tab sets the number of posts to display, as well as other general query parameters necessary for displaying the Related Posts.

The List Tuning Tab Allows for Query Modifications

For my case, I set the “Number of posts to display” to four.

Four is the Magic Number for Related Posts

I’ve also adjusted my “Relevance” parameters. Since many of my post titles are SEO optimized, I’ve lowered the weight (from 10) while also increasing the relevance of the content.

Adjusting the Relevancy Weight of How Related Posts are Generated

I’ve adjusted the “Post Selection Criteria” to only include posts.

Related Posts From Within the Same Post Type

The Output Tab – Set Heading, Title, and Excerpt defaults

The Output tab allows you to do several things:

  • Set the heading displayed for the related posts.
  • Set what to do if there are no related posts.
  • Display an excerpt as part of the related posts.
  • Title and excerpt trimming options.
  • Explicit post type exclusions.
The Output Tab

On the Output tab is a place to exclude post types. This is a bit confusing as I already set which post types I want related posts appended to.

These Admin Options Seem Related

I’ve checked the option to show a date and author.

Show the Date and Author with Related Posts

I received a warning saying I needed to change layouts to display an author or date. As a result of that, I saved my changes and headed to the Styles tab.

A Brief Detour to the Styles Tab

Because of the warning I received, I decided to switch the layout from default to Grid. Grid is safe enough to use for most modern websites.

Enabling CSS Grid for Easy Styling

I left the remainder of the Output tab options as defaults.

The Thumbnail Tab – Set Image Defaults and Dimensions

The Thumbnail tab is a bit difficult to navigate as there’s no real-time preview, but I can share some of the settings I set to make my images match my site.

Thumbnail Settings Allow for Custom Image Sizes

I’ve selected the image size crp_thumbnail and set my image width/height to 450×253, which is a 16 / 9 aspect ratio. This aspect ratio works well for my featured images, but you are welcome to use any image width you like.

Save the Settings

Saving is caring, so make sure to save any settings.

Save Changes Works From Any Tab

Here’s an example of the Yoast plugin doing a fixed save bar as an example:

Yoast SEO Save Changes Fixed Button Bar

Lastly, Build the Index

In numerous test installs of this plugin, I’ve found that the index isn’t built automatically.

In this case, I went to Tools->Related Posts Tools and built the index.

The Result and Verdict

Related Posts on the Frontend

The output is “almost” what I need. Adding some CSS helps to fix some of the layout issues custom to my theme.

With a little custom styling, I was able to get the following default layout:

Styled Related Posts Section

Here’s. the CSS I used (note, I have the Grid layout selected):

.crp_related.crp-grid ul {
	gap: 20px;
}
.crp_related.crp-grid ul li {
	display: flex;
	flex-direction: column;
	row-gap: 0;
	justify-content: start;
}
.crp_related.crp-grid {
	grid-row-gap: 20px;
	grid-column-gap: 20px;
}
.crp_related.crp-grid figure {
	display: flex;
}
.crp_related.crp-grid ul li a {
	flex: 0;
}
.crp_related.crp-grid ul li a .crp_title {
	margin: unset;
	margin-top: 16px;
}
.crp_related.crp-grid img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
	width: 100%;
	max-width: 450px;
	height: auto;
	margin: 0;
	padding: 0;
}Code language: CSS (css)

I added these styles in the Styles panel in the CRP admin panel settings.

CRP Pro Styles Settings With Added Styles

I will admit that adding these styles is frustrating, not because of the lack of preview but more so that the settings are refreshed after saving, and you lose your place.

Configuring CRP Pro Part 2 (Query Block)

To set up for the CRP Query Block, I’ve unchecked auto-appending to the post types in the General tab.

I’ve Unchecked All Post Types for Auto-Appending

To speed things up, I’ve also checked to have the global settings applied to the Related Posts blocks, as shown below. It’s under List Tuning.

List Tuning Tab to Enable Global Block Settings

For this next part, I’m using my theme’s pro feature to create a “hook” template part. I’ll be inserting CRP Pro’s query block into that and have my theme auto-display it. Let’s get started.

Adding the CRP Query Block

I’ve created a new content part in my theme and set it to show up only on posts and only at the bottom of posts.

Content Locations and Hook Areas in My Theme

From there, I can use the block interface to add and configure the CRP query block. Here’s a quick video (1 minute, no audio) of me setting it up in the content block.

The block is very easy to set up and configure. You’ll feel right at home if you’ve used any other Query Loop block before. Ajay does a great job of organizing the blocks and options.

One surprising aspect of this is that the styles for the blocks didn’t need to be customized at all (I stripped my saved styles to test this).

Here is a screenshot of the result.

Query Blocks Output on the Frontend

At this point, I’m wondering what I did wrong when I configured the automatic placement before.

The Verdict

Overall, I do recommend Contextual Related Posts Pro as a solution for displaying Related Posts. What makes this plugin worth getting is the Query Loop block, customization options, and support.

Beginner User Experience

I wish I could say this plugin was easy to install, but it wasn’t. The license nag, tied to the saving behavior of the admin, and the need to remember to index posts make this plugin time-intensive on the first configuration.

Admin Panel Settings

The admin panel settings are comprehensive and well-organized. What made the experience frustrating was the license integration with the plugin (the license was very hard to find) and the Save and Refresh behavior.

Some settings were repeated or required information from other tabs to be modified first. It made the experience a bit overwhelming and became a game of “let’s check this and see what it does.”

One recommendation as far as organization is to have a setup wizard, or have two modes for users: advanced, and novice.

An example of this in the wild is EWWW Optimizer’s admin panel settings, where an “easy” mode sets smart defaults for most settings and a “ludicrous” mode for much more advanced settings and customizations.

EWWW Easy Mode
EWWW Ludicrous Mode

Automatic Output Customization and Features

Setting the necessary settings was straightforward, and setting Grid styles got me most of the way there.

Setting some styles for the frontend output is expected, and it is easy to add styles via the admin. What makes this area frustrating is the Save/Refresh behavior in the admin, as you have to save the changes to see what the frontend looks like.

Having some admin preview would make this customization experience much more intuitive.

Block Experience and Output

It’s obvious Ajay did his homework here and studied many other query blocks before doing this one. The experience is very similar to other query blocks and even improves in a few areas, such as a child custom “Featured Image” block.

The block configuration and styled output worked on the first try, which is why I’m rating this area so high.

Support

I had two separate issues that I needed help with, and Ajay was responsive both times and even provided a same-day release when I found a bug. This level of support these days is unprecedented.

Ajay is also very active on the free version’s .org listing, so it’s not just me he’s being well supportive of.

Conclusion

First, I thank plugin author Ajay Dsouza for creating both the free and pro versions of this plugin and agreeing to let me do this comprehensive review.

I do recommend the Pro version for the Query Loop and support alone. The admin settings can be frustrating, but they can be overcome to generate some nice-looking related options.