Akismet Anti-spam: Spam Protection

The best anti-spam protection to block spam comments and spam in a contact form. The most trusted antispam solution for WordPress and WooCommerce.

v5.7AutomatticUpdated Added 6m+ installs94% rating100% support resolved
35
Score
33
Errors
99
Warnings
+0
Change

Category Scores

Security9
Repo90
Performance100
Maintainability54

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

132 findings

Maintainability

100

15 issue groups

Security

31

7 issue groups

Supply Chain

1

1 issue group

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$at_least_one_comment_in_moderation".25
Category
Maintainability
Occurrences
25
Severity
warning

Sample message

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

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.19
Category
Security
Occurrences
19
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;19
Category
Maintainability
Occurrences
19
Severity
error

Sample message

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

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.18
Category
Maintainability
Occurrences
18
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().14
Category
Maintainability
Occurrences
14
Severity
warning

Sample message

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

ERRORSecuritySQL query is not preparedUse placeholders and $wpdb->prepare(); found $comment_type_where4
Category
Security
Occurrences
4
Severity
error

Sample message

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

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "comment_add_author_url".4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "comment_add_author_url".

ERRORMaintainabilityrand mt randmt_rand() is discouraged. Use the far less predictable wp_rand() instead.4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

mt_rand() is discouraged. Use the far less predictable wp_rand() instead.

ERRORMaintainabilitywp function not compatible with requires wpFunction "did_filter()" requires WordPress 6.1.0, but your plugin minimum supported version is WordPress 5.8.0.3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Function "did_filter()" requires WordPress 6.1.0, but your plugin minimum supported version is WordPress 5.8.0.

WARNINGSecurityDatabase parameter is not escapedUnescaped parameter $comment_type_where used in $wpdb->get_var()\n$comment_type_where assigned unsafely at line 998.2
Category
Security
Occurrences
2
Severity
warning

Sample message

Unescaped parameter $comment_type_where used in $wpdb->get_var()\n$comment_type_where assigned unsafely at line 998.

Show 13 more
WARNINGSecurityUnfinished Prepare2
Category
Security
Occurrences
2
Severity
warning

Sample message

Replacement variables found, but no valid placeholders found in the query.

WARNINGMaintainabilityslow db query meta key2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilityerror log error log2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

error_log() found. Debug code should not normally be used in production.

WARNINGMaintainabilityerror log print r2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

print_r() found. Debug code should not normally be used in production.

WARNINGSecurityMissing nonce verification2
Category
Security
Occurrences
2
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityNot In Footer2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

In footer ($in_footer) is not set explicitly wp_register_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.

WARNINGMaintainabilitytrademarked term2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

The plugin name includes a restricted term. Your chosen plugin name - "Akismet Anti-spam: Spam Protection" - contains the restricted term "akismet" and cannot be used to begin your plugin name. We disallow the use of certain terms in ways that are abused, or potentially infringe on and/or are misleading with regards to trademarks. You may use the term "akismet" elsewhere in your plugin name, such as "... for akismet".

WARNINGMaintainabilityslow db query meta value1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of meta_value, possible slow query.

WARNINGMaintainabilityNon-prefixed function1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "redirect_old_akismet_urls".

ERRORSecurityOutput is not escaped1
Category
Security
Occurrences
1
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found 'apply_filters'.

WARNINGSecuritywp redirect wp redirect1
Category
Security
Occurrences
1
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.

ERRORMaintainabilitybadly named files1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

File and folder names must not contain spaces or special characters.

ERRORSupply ChainHidden files included1
Category
Supply Chain
Occurrences
1
Severity
error

Sample message

Hidden files are not permitted.

External Connections

Not analyzed yet.

Score History

First score snapshot

v5.7

35

Latest

Findings
132
Errors
33
Warnings
99
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

29 nodes

Related Plugins

Contact Form Query

1k+ active installs

100
Dam Spam

1k+ active installs

100
Simply Disable Comments

6k+ active installs

100
Style Contact Form 7

1k+ active installs

100
Turn Comments Off

1k+ active installs

100