YARPP – Yet Another Related Posts Plugin
The best WordPress plugin for displaying related posts. Simple and flexible, with a powerful proven algorithm and inbuilt caching.
Next Milestone 200K
Unlock Exact Install Count
See the precise estimated active installs for this plugin, calculated from real-time ranking data.
- Exact install estimates within tiers
- Track install growth over time
- Milestone progress predictions
Rank Changes
Downloads Growth
Upgrade to Pro
Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.
Upgrade NowReviews & Ratings
Tracked Keywords
Showing 1 of 1| Keyword | Position | Change | Type | Updated |
|---|---|---|---|---|
| contextual related posts | 32 | — | Tag | 15 hours ago |
Unlock Keyword Analytics
Track keyword rankings, search positions, and discover new ranking opportunities with a Pro subscription.
- Full keyword position tracking
- Historical ranking data
- Competitor keyword analysis
Support Threads Overview
Track This Plugin
Get detailed analytics, keyword tracking, and position alerts delivered to your inbox.
Start Tracking FreePlugin Details
- Version
- 5.30.11
- Last Updated
- Nov 12, 2024
- Requires WP
- 3.7+
- Tested Up To
- 6.7.4
- PHP Version
- 5.3 or higher
- Author
- YARPP
Support & Rating
- Rating
- ★ ★ ★ ★ ★ 4.8
- Reviews
- 1,145
- Support Threads
- 3
- Resolved
- 0%
Keywords
Upgrade to Pro
Unlock keyword rankings, search positions, and detailed analytics with a Pro subscription.
Upgrade NowSimilar Plugins
Frequently Asked Questions
Common questions about YARPP – Yet Another Related Posts Plugin
Most likely you have "no related posts" right now because the default "match threshold" is too high. Here's what we recommend to find an appropriate match threshold: lower your match threshold in the YARPP "Algorithm" options to something very low, like 1. (If you don't see the match threshold, you may need to display the "Algorithm" options via the "Screen Options" tab at the top.) Most likely the really low threshold will pull up many posts that aren't actually related (false positives), so look at some of your posts' related posts and their match scores. This will help you find an appropriate threshold. You want it lower than what you have now, but high enough so it doesn't have many false positives.
How can I limit related posts to a certain time frame? For instance, I don't want to show posts from two years ago.
In Wordpress, go to "Settings" and "Related Posts (YARPP)" and make sure "The Pool" is checked in the "Screen Options" section at the top of the page. In "The Pool" section, check the box next to "Show only posts from the past X months."
Where do I tell YARPP to display related posts only by tags?
In WordPress, go to "Settings" and "YARPP" and make sure "Algorithm" is checked in the "Screen Options" section at the top of the page. In the "Algorithm" section, configure the dropdown boxes next to "Titles," "Bodies," "Categories," and "Tags."
Can I manually specify related posts?
Sorry, but specifying related posts, displaying related posts from external WordPress sites, and pulling content from the Comments section are all outside the scope of YARPP at this time.
I'm seeing related posts displayed on the home page. How do I prevent that?
Some WordPress themes treat the home page as an archive or a "page." Go to "Settings" then "Related Posts (YARPP)" and view the "Automatic Display Options" section. Make sure "Pages" and "Also display in archives" are not checked.
How can I prevent the "related posts" list from displaying on specific posts?
Option 1:
On the edit post page, uncheck “Display Related Posts” in the YARPP box. Be sure to update or publish to save your changes.
Option 2:
Add <!--noyarpp--> to the HTML code of any post to prevent related posts from displaying.
Option 3:
Use the noyarpp filter. For example:
// Disable YARPP Automatic Display in specific categories
function yarpp_disable_categories() {
// Examples of in_category usage: https://codex.wordpress.org/Function_Reference/in_category
if ( in_category( array( 'my_category_1_slug', 'my_category_2_slug' ) ) ) {
return true;
}
}
add_filter( 'noyarpp', 'yarpp_disable_categories' );
These solutions only work if you are using "Automatic Display" in the "Display Options" section. If you are programatically calling yarpp_related(), the shortcode [yarpp] from PHP code or the YARPP Block, you will need to do your own conditional checks.
I'm using the Thumbnails display in YARPP 4+. How do I override the style of the text that displays? The title only shows two lines, the font is larger than I'd like, I'd like to center the thumbnails, etc.
If you're familiar with CSS, you can override any YARPP styles by editing your theme's style.css file, or any other CSS file you may have created that loads after the YARPP one. To edit your theme's CSS file, go to "Appearance" then "Editor" and then click style.css in the right sidebar. Add changes at the bottom of the file and click "Save." If you do edit this file, just make sure you add !important after each style declaration, to make sure they'll override the YARPP rules.
Some common overrides that YARPP users have added are:
/* Reduces the title font size and displays more than two title lines */
.yarpp-thumbnail {height: 200px !important;}
.yarpp-thumbnail-title {font-size:0.8em !important; max-height: 4em !important}
/* Centers the thumbnail section */
.yarpp-related-widget {text-align:center !important;}
Once you save any CSS changes, empty your browser's cache and reload your page to see the effect.
How do I remove sold out WooCommerce products from recommendations (and otherwise filter by postmeta)?
If you use YARPP to show related products and want to exclude products that are sold out, use the following code snippet:
function yarpp_custom_wp_query($query) {
if(isset($query->yarpp_cache_type)){
$query->set('post_type', 'product');
$meta_query = [
'relation' => 'AND',
[
'key' => '_stock_status',
'value' => ['instock','onbackorder'],
'compare' => 'IN',
]
];
$query->set('meta_query', $meta_query);
}
return $query;
}
add_filter('pre_get_posts', 'yarpp_custom_wp_query', 100);
Note: this filter applies after the related items were already calculated, so when it filters out an item you will see fewer related items than you requested.
You can similarly filter WordPress' meta queries to include/excluded posts from YARPP's related results.
I'm using the Thumbnails display. How can I change the thumbnail size?
As of YARPP v5.19.0, YARPP usually defaults to using WordPress' default thumbnail size. This can be changed to another thumbnail size using the YARPP setting "Thumbnail Size".
However, if you used YARPP before v5.19.0, or your theme defines a "yarpp-thumbnail" size, the default is the "yarpp-thumbnail". To change "yarpp-thumbnail" size, add the following to your theme's functions.php file with appropriate width and height variables:
add_image_size( 'yarpp-thumbnail', $width, $height, true );
Note: if you don't use YARPP's thumbnail size, you might want to avoid generating it for newly uploaded images to save space. To do that add the following code snippet to your theme's functions.php file:
add_filter( 'yarpp_add_image_size', "__return_false" );
I'm using the Thumbnails display. Why aren't the right size thumbnails being served?
By default, if an appropriately sized thumbnail is not available in WordPress, a larger image will be served and will be made to fit in the thumbnail space via CSS. Sometimes this means images will be scaled down in a weird way, so it is not ideal. What you really want is for YARPP to serve appropriately-sized thumbnails.
There are two options for doing so:
First, you can use the Regenerate Thumbnails plugin to generate all these thumbnail-sized images in a batch process. This puts you in control of when this resizing process happens on your server (which is good because it can be processor-intensive). New images which are uploaded to WordPress should automatically get the appropriate thumbnail generated when the image is uploaded.
Second, you can turn on a feature in YARPP to auto-generate appropriate size thumbnails on the fly, if they have not yet been created. Doing this type of processing on the fly does not scale well, so this feature is turned off by default. But if you run a smaller site with less traffic, it may work for you. Simply add define('YARPP_GENERATE_THUMBNAILS', true); to your theme's functions.php file.
I'm using the Thumbnails display. Why are some of my posts missing appropriate images?
YARPP's thumbnail view requires that a WordPress "featured image" be set for each post. If you have many posts that never had a featured image set, we recommend the plugin Auto Post Thumbnail, which will generate post thumbnails for you.
Is YARPP compatible with WordPress Multisite?
YARPP should work fine in a multisite environment, and many users are running it without any issues using WordPress Multisite. It will, however, only get results within each blog. It will not display related posts results from across your network.
I want to use YARPP on a site with content in multiple languages.
The recommended solution in such cases is to use the Polylang plugin. Polylang has posted a tutorial for using YARPP with Polylang.
Does YARPP work with full-width characters or languages that don't use spaces between words?
YARPP works fine with full-width (double-byte) characters, assuming your WordPress database is set up with Unicode support. 99% of the time, if you're able to write blog posts with full-width characters and they're displayed correctly, YARPP will work on your blog.
However, YARPP does have difficulty with languages that don't place spaces between words (Chinese, Japanese, etc.). For these languages, the "consider body" and "consider titles" options in the "Algorithm options" may not be very helpful. Using only tags and categories may work better for these languages.
Does YARPP slow down my blog/server?
YARPP is a highly optimized plugin with an inbuilt cache that makes subsequent queries super efficient. This means that YARPP will not slow your site down.
If you are running a large site and need to throttle YARPP's computation, try the official YARPP Experiments plugin which adds this throttling functionality.
Are there any plugins that are incompatible with YARPP?
SEO_Pager plugin: turn off the automatic display option in SEO Pager and instead add the code manually.
Other related posts plugins, obviously, may also be incompatible.
Please submit similar bugs by starting a new thread on the WordPress.org forums. We check the forums regularly and will try to release a quick bugfix.
YARPP seems to be broken since I upgraded to WordPress X.X.
Before upgrading to a new WordPress version, you should first deactivate all plugins, then upgrade your WordPress, and then reactivate your plugins. Even then, you may still find that something went wrong with your YARPP functionality. If so, try these steps:
Visit the "YARPP" settings page to verify your settings.
Deactivate YARPP, replace the YARPP files on the server with a fresh copy of the new version, and then reactivate it.
From the "YARPP" settings page, flush the YARPP cache
Can I clear my cache? Can I build up the cache manually?
Yes, there is a button to clear YARPP's cache table in YARPP's WP Admin options.
How to add support for a Custom Post Type (CPT)?
To make YARPP support your Custom Post Type (CPT), the attribute yarpp_support must be set to true when the CPT is registered. The CPT will then be available in the YARPP settings page.
'yarpp_support' => true
For example:
function register_my_cpt() {
$args = array(
'public' => true,
'label' => 'Books',
'yarpp_support' => true,
);
register_post_type( 'book', $args );
}
add_action( 'init', 'register_my_cpt' );
If you do not have access to the code which is registering the CPT, maybe because it is a third-party plugin that is creating it, you can still add the yarpp_support argument:
/**
* Filter the CPT to register more options
*
* @param $args array The original CPT args.
* @param $post_type string The CPT slug.
*
* @return array
*/
function add_yarpp_support_to_post_types( $args, $post_type ) {
// If not our target CPT, exit.
if ( 'my_custom_post_type' !== $post_type ) {
return $args;
}
// Add additional YARPP support option.
$cpt_args = array(
'yarpp_support' => true
);
// Merge args together.
return array_merge( $args, $cpt_args );
}
add_filter( 'register_post_type_args', 'add_yarpp_support_to_post_types', 10, 2 );
You should replace my_custom_post_type with the CPT that you need to add YARPP support to and add this code to the functions.php of your theme.
If you would like to programmatically control which post types are considered in an automatically-displayed related posts display, use the yarpp_map_post_types filter.
Does YARPP support custom taxonomies?
Yes. Any taxonomy, including custom taxonomies, may be specified in the weight or require_tax arguments in a custom display as above. term_taxonomy_id specified in the exclude argument may be of any taxonomy.
If you would like to choose custom taxonomies to choose in the YARPP settings UI, either to exclude certain terms or to consider them in the relatedness formula via the UI, the taxonomy must (a) have either the show_ui or yarpp_support attribute set to true and (b) must apply to either the post types post or page or both.
Can I disable the Review Notice forever?
If you want to prevent the Review Notice from appearing you can use the function below:
/**
* Disable YARPP Review Notice
*
*/
function yarpp_disable_review_notice() {
remove_action('admin_notices', array('YARPP_Admin', 'display_review_notice'));
}
add_action('admin_init', 'yarpp_disable_review_notice', 11);
'admin_init',
function(){
remove_all_filters('shareaholic_deactivate_feedback_form_plugins');
},
11
);
I removed the YARPP plugin but I still see YARPP-related database tables. Shouldn't those be removed, too?
Beginning with version 4.0.7, YARPP includes clean uninstall functionality. If you no longer wish to use YARPP, first deactivate YARPP using the "Plugins" page in WordPress, then click the "Delete" link found on the same page. This process will automatically remove all YARPP-related files, including temp tables. If you manually try to remove YARPP files instead of going through WordPress, some files or temp tables could remain.