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.

v5.30.11YARPPUpdated 2024-11-11Added Jan 2, 2008100k+ installs96% rating0% support resolved
27
Score
191
Errors
331
Warnings
+0
Change

Category Scores

Security0
Repo83
Performance94
Maintainability26

Top Issues by Category

maintainability246
security234
i18n21
performance6

Issues Details

522 issues found in latest scan

WARNING116
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$add_image_size_by_yarpp".

ERROR87
WordPress.Security.EscapeOutput.OutputNotEscaped

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}'>"'.

WARNING36
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING33
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_GET[&#039;_wpnonce&#039;] not unslashed before sanitization. Use wp_unslash() or similar

WARNING30
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_GET[&#039;_wpnonce&#039;]

WARNING27
WordPress.DB.DirectDatabaseQuery.NoCaching

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

ERROR27
WordPress.DB.PreparedSQL.NotPrepared

Use placeholders and $wpdb->prepare(); found $args

ERROR24
missing_direct_file_access_protection

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNING16
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING15
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_GET[&#039;page&#039;]. Check that the array index exists before using it.

ERROR15
WordPress.WP.I18n.MissingTranslatorsComment

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.

WARNING11
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Use placeholders and $wpdb-&gt;prepare(); found interpolated variable $charset_collate at \t\t\t)$charset_collate;&quot;

ERROR11
wp_function_not_compatible_with_requires_wp

Function "get_user_count()" requires WordPress 4.8.0, but your plugin minimum supported version is WordPress 3.7.0.

ERROR9
WordPress.Security.EscapeOutput.UnsafePrintingFunction

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNING8
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;get_the_score&quot;.

WARNING7
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

WARNING7
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;clean&quot;.

WARNING6
WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude

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.

WARNING4
WordPress.WP.EnqueuedResourceParameters.NotInFooter

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.

WARNING3
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $charset_collate used in $wpdb-&gt;query()\n$charset_collate assigned unsafely at line 157.

ERROR3
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $in used in $wpdb->query()\n$in assigned unsafely at line 908.

ERROR3
WordPress.WP.DiscouragedConstants.STYLESHEETPATHUsageFound

Found usage of constant "STYLESHEETPATH". Use get_stylesheet_directory() instead.

ERROR3
WordPress.WP.I18n.MissingArgDomain

Missing $domain parameter in function call to __().

ERROR3
WordPress.WP.I18n.NonSingularStringLiteralText

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.'

WARNING3
trademarked_term

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.

Latest Snapshot

Findings

522

Errors

191

Warnings

331

Score History

First score snapshot

First scan completed Jun 19, 2026

v5.30.11 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 19, 2026

v5.30.11

27

Latest

Findings
522
Errors
191
Warnings
331
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins