Contextual Related Posts (CRP) boosts user engagement by displaying relevant posts at the end of each article. Its algorithm taps into MySQL’s full-text search to deliver smart, context-aware suggestions.
Core Functionality
At its heart, CRP uses MySQL FULLTEXT indexes to analyze post content. CRP examines the posts’ fields, including the post title and content. This allows the algorithm to identify relevant keywords and phrases within the content, matching related posts based on textual similarity.
Results are ordered by relevance score. From v4.3.0, posts with equal scores are ordered by post date (newest first) and then by post ID, so the list is stable across page loads instead of varying with the database’s internal row order.
Minimum relevance threshold
The Minimum relevance (% of best match) setting in List Tuning removes weaker scored matches relative to the strongest eligible match for the current post. CRP calculates the cutoff as the strongest score multiplied by the selected percentage. For example, an 80% threshold keeps scored matches at or above 80% of that post’s strongest match. The same percentage adapts to each post’s score range; it is not a fixed score shared across the site.
The default is 0, which disables the threshold. At 100%, only matches tied with the strongest score remain. CRP applies the threshold after excluding the source post and other exclusions, but before the requested list limit. As a result, the displayed list can be shorter than the limit. Manually selected posts, cornerstone posts, and matches from Related Meta Keys have no relevance score and are not filtered. Random fallback posts are skipped while the threshold is enabled. The setting is unavailable on SQLite, where matches do not have graded scores.
Free Version
In the free version of CRP, enabling Related posts based on title and content in the List Tuning Tab gives equal importance to both fields. CRP treats a match in the title the same as one in the content. For content-heavy sites, experiment with this toggle to see what works best.
Pro Version
CRP Pro enhances the algorithm with:
- A dedicated FULLTEXT index for
post_excerpt. - Custom weight settings for each field — title, content, and excerpt.
Example: You can assign a higher weight to post_excerpt to favor posts with similar summaries, while downplaying content matches. This lets you tailor results to your content strategy — e.g., favoring concise summaries or catchy titles.
Recency weighting (Pro only)
When Recency boost (%) is above 0 and the query is ordered by relevance or relatedness, CRP multiplies each relevance score by an age-decay multiplier. Newer posts receive a larger multiplier, while older posts gradually move closer to their original score. The default boost is 0, so existing relevance ordering stays unchanged until you enable it.
Recency half-life (days) controls the decay. At the half-life, a post receives half of the available recency boost. Values below 7 days use hourly age calculations; larger values use daily calculations. CRP uses the UTC publish date stored in post_date_gmt. A missing or zero date receives no boost, and a future date receives no more than the maximum boost.
The boost changes ordering only. It does not change matching, taxonomy filters, or the raw relevance score. Date and random ordering skip the boost.
Weighting Categories, Tags, and Taxonomies
CRP Pro v4 introduced taxonomy weighting — giving you finer control over contextual matching beyond text.
In the List Tuning tab, you can assign weights to:
- Categories
- Tags
- Custom taxonomies (e.g., genres, topics)
CRP looks at shared terms between the current post and candidates, applying the weight accordingly.
How it works:
- Posts sharing terms from high-weighted taxonomies rank higher.
- You can combine this with content weighting for hybrid relevance.
Example:
| Element | Weight |
|---|---|
| Post title | 3 |
| Post content | 1 |
| Category match | 2 |
A post with a matching category and partial content match will outrank one that only matches by content.
This system is ideal for:
- Niche blogs with defined topic clusters
- Product or review sites grouped by taxonomy
- Publishers who rely on SEO plugins to set primary terms
Precomputed taxonomy score
CRP Pro v4.4.0 adds Use precomputed taxonomy score under the taxonomy weights. When Enhanced Content Search Index is enabled, the taxonomy score is read from the indexed tax_score column instead of being calculated per query. That is faster, but live queries then ignore the per-taxonomy weights above.
Leave it off if you still want those weights applied on every request.
Advanced Filtering Options
Beyond weights, CRP supports filters to limit the post pool:
- Post types: Limit related posts to posts, pages and/or custom post types. You can also limit it to the same post type.
- Author: Limit related posts to those written by the same author, helping to maintain consistency in content style and tone.
- Category: Restrict related posts to those in the same category, ensuring thematic relevance and coherence.
- Tag or Custom Taxonomy: Filter related posts based on shared tags or custom taxonomies, facilitating content discovery within specific topics or themes. You can use this option if you do not want to use the full-text indexes. If enabled, it will only select posts from the same primary category/term. This is usually set using your SEO plugin and will default to the first category/term returned by WordPress.
- Meta Field Value: Narrow down related posts based on the value of custom meta fields, providing even more granular control over post relationships.
By leveraging these advanced filtering options, users can tailor the related posts algorithm to suit their site’s content structure and audience preferences, resulting in more targeted and meaningful content recommendations.
Tuning the Algorithm
Go to Settings → CRP → List Tuning:
- Adjust weights for each content field (Pro)
- Set taxonomy weights (Pro)
- Configure filtering rules
Tweak these to align with your editorial goals or user behavior.

Efficient Content Storage and Indexing (ECSI) in Contextual Related Posts Pro and Better Search Pro
Contextual Related Posts Blocks
Page Builder Integrations for Contextual Related Posts Pro