Search Meter

Search Meter tracks what your readers are searching for on your site. View full details of recent searches or stats for the last day, week or month.

v2.14.1bennettmcelweeUpdated 2025-12-03Added Jun 2, 200820k+ installs86% rating
34
Score
191
Errors
94
Warnings
+0
Change

Category Scores

Security0
Repo75
Performance100
Maintainability63

Top Issues by Category

security192
maintainability67
i18n20
supply_chain2

Issues Details

285 issues found in latest scan

ERROR98
WordPress.Security.EscapeOutput.OutputNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"$before\n<ul>\n"'.

ERROR49
WordPress.Security.EscapeOutput.UnsafePrintingFunction

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

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

WARNING18
WordPress.DB.DirectDatabaseQuery.DirectQuery

Use of a direct database call is discouraged.

WARNING18
WordPress.DB.DirectDatabaseQuery.NoCaching

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

WARNING8
WordPress.DB.PreparedSQL.InterpolatedNotPrepared

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

WARNING8
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

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

WARNING8
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

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

WARNING8
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

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

WARNING6
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

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

ERROR5
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $days used in $wpdb->get_results()\n$days used without escaping.

WARNING5
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$count&quot;.

WARNING4
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

ERROR4
missing_direct_file_access_protection

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

ERROR4
wp_function_not_compatible_with_requires_wp

Function "get_block_wrapper_attributes()" requires WordPress 5.6.0, but your plugin minimum supported version is WordPress 3.2.0.

WARNING3
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

WARNING2
PluginCheck.Security.DirectDB.UnescapedDBParameter

Unescaped parameter $table_name used in $wpdb-&gt;get_var()\n$table_name assigned unsafely at line 116.

WARNING2
WordPress.DB.DirectDatabaseQuery.SchemaChange

Attempting a database schema change is discouraged.

ERROR2
WordPress.DB.PreparedSQL.NotPrepared

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

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;SM_Popular_Searches_Widget&quot;.

WARNING2
WordPress.Security.PluginMenuSlug.Using__FILE__

Using __FILE__ for menu slugs risks exposing filesystem structure.

ERROR2
WordPress.WP.AlternativeFunctions.strip_tags_strip_tags

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

ERROR2
hidden_files

Hidden files are not permitted.

ERROR1
PluginCheck.CodeAnalysis.Heredoc.NotAllowed

Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead

ERROR1
WordPress.WP.DeprecatedParameters.Load_plugin_textdomainParam2Found

The parameter "FALSE" at position #2 of load_plugin_textdomain() has been deprecated since WordPress version 2.7.0. Use "" instead.

Latest Snapshot

Findings

285

Errors

191

Warnings

94

Score History

First score snapshot

First scan completed Jun 20, 2026

v2.14.1 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v2.14.1

34

Latest

Findings
285
Errors
191
Warnings
94
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins