The best WordPress plugin for displaying related posts. Simple and flexible, with a powerful proven algorithm and inbuilt caching.
Prioritized issue groups from the latest Plugin Check scan
Maintainability
246
11 issue groups
Security
234
10 issue groups
I18n
21
3 issue groups
Performance
6
1 issue group
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$add_image_size_by_yarpp".
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" name='include_post_type[{$post_type->name}]' id='include_post_type_{$post_type->name}' value='true' /> <label for='include_post_type_{$post_type->name}'>"'.
Sample message
Use of a direct database call is discouraged.
Sample message
$_GET['_wpnonce'] not unslashed before sanitization. Use wp_unslash() or similar
Sample message
Detected usage of a non-sanitized input variable: $_GET['_wpnonce']
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Sample message
Use placeholders and $wpdb->prepare(); found $args
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
Processing form data without nonce verification.
Sample message
Detected usage of a possibly undefined superglobal array index: $_GET['page']. Check that the array index exists before using it.
Sample message
A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable $charset_collate at \t\t\t)$charset_collate;"
Sample message
Function "get_user_count()" requires WordPress 4.8.0, but your plugin minimum supported version is WordPress 3.7.0.
Sample message
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "get_the_score".
Sample message
Attempting a database schema change is discouraged.
Sample message
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "clean".
Sample message
Using exclusionary parameters, like exclude, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
Sample message
In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.
Sample message
Unescaped parameter $charset_collate used in $wpdb->query()\n$charset_collate assigned unsafely at line 157.
Sample message
Unescaped parameter $in used in $wpdb->query()\n$in assigned unsafely at line 908.
Sample message
Found usage of constant "STYLESHEETPATH". Use get_stylesheet_directory() instead.
Sample message
Missing $domain parameter in function call to __().
Sample message
The $text parameter must be a single text string literal. Found: 'There is a new beta (%s) of Yet Another Related Posts Plugin. ' .\n 'You can <a href="%s">download it here</a> at your own risk.'
Sample message
The plugin name includes a restricted term. Your chosen plugin name - "YARPP - Yet Another Related Posts Plugin" - contains the restricted term "plugin" which cannot be used at all in your plugin name.
Not analyzed yet.
First score snapshot
v5.30.11
27
Latest
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 27 | 522 | 191 | 331 | v5.30.11 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.