SEOKEY – Powerful SEO plugin with Expert Insights and SEO Audit

Improve SEO rankings with a powerful SEO Audit, automatic optimizations and Expert Insights. SEOKEY is the easiest and most powerful SEO plugin!

v2.0.3SEOKEYUpdated Added 1k+ installs94% rating
24
Score
605
Errors
928
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,533 findings

Maintainability

688

10 issue groups

Security

631

11 issue groups

I18n

136

4 issue groups

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

Sample message

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

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<$tag $scope $id $class>$column_display_name</$tag>"'.249
Category
Security
Occurrences
249
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<$tag $scope $id $class>$column_display_name</$tag>"'.

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

Sample message

Processing form data without nonce verification.

WARNINGSecurityRequest data is not unslashed$_GET[$name] not unslashed before sanitization. Use wp_unslash() or similar80
Category
Security
Occurrences
80
Severity
warning

Sample message

$_GET[$name] not unslashed before sanitization. Use wp_unslash() or similar

ERRORI18nMissing Translators CommentA 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.79
Category
I18n
Occurrences
79
Severity
error

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.

ERRORMaintainabilitywp function not compatible with requires wpFunction "str_contains()" requires WordPress 5.9.0, but your plugin minimum supported version is WordPress 5.5.0.73
Category
Maintainability
Occurrences
73
Severity
error

Sample message

Function "str_contains()" requires WordPress 5.9.0, but your plugin minimum supported version is WordPress 5.5.0.

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.65
Category
Maintainability
Occurrences
65
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().61
Category
Maintainability
Occurrences
61
Severity
warning

Sample message

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

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET[&#039;_seokeynonce&#039;]43
Category
Security
Occurrences
43
Severity
warning

Sample message

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

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

Sample message

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

Show 15 more
ERRORSecurityUnsafe printing function36
Category
Security
Occurrences
36
Severity
error

Sample message

All output should be run through an escaping function (like echo esc_html_x() or echo esc_attr_x()), found '_ex'.

WARNINGMaintainabilityNon-prefixed hook name33
Category
Maintainability
Occurrences
33
Severity
warning

Sample message

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

WARNINGSecurityInput is not validated27
Category
Security
Occurrences
27
Severity
warning

Sample message

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

ERRORI18nMissing Arg Domain27
Category
I18n
Occurrences
27
Severity
error

Sample message

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

ERRORSecurityDatabase parameter is not escaped21
Category
Security
Occurrences
21
Severity
error

Sample message

Unescaped parameter $column used in $wpdb->get_row()\n$column assigned unsafely at line 284.

ERRORI18nUnordered Placeholders Text18
Category
I18n
Occurrences
18
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$d", but got "%d, %d" in '%d of %d images do not have an alternative text (ALT) in your content. You need to describe each image for Search Engines.'.

WARNINGMaintainabilityNon-prefixed function17
Category
Maintainability
Occurrences
17
Severity
warning

Sample message

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

WARNINGSecuritywp redirect wp redirect14
Category
Security
Occurrences
14
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the &quot;allowed_redirect_hosts&quot; 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.

WARNINGSecurityInterpolated SQL is not prepared12
Category
Security
Occurrences
12
Severity
warning

Sample message

Use placeholders and $wpdb-&gt;prepare(); found interpolated variable $table at &quot;SELECT * FROM $table WHERE source = %s&quot;

ERRORMaintainabilityparse url parse url12
Category
Maintainability
Occurrences
12
Severity
error

Sample message

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

WARNINGMaintainabilityNot In Footer12
Category
Maintainability
Occurrences
12
Severity
warning

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.

ERRORI18nNon Singular String Literal Text12
Category
I18n
Occurrences
12
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $alt

WARNINGSecurityMissing nonce verification11
Category
Security
Occurrences
11
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityslow db query meta query10
Category
Maintainability
Occurrences
10
Severity
warning

Sample message

Detected usage of meta_query, possible slow query.

ERRORMaintainabilitydate date10
Category
Maintainability
Occurrences
10
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

External Connections

Not analyzed yet.

Score History

First score snapshot

v2.0.3

24

Latest

Findings
1,533
Errors
605
Warnings
928
Check
2.0.0

Relationship Map

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

29 nodes

Related Plugins

AI Content Signals

500 active installs

100
Extend Link

1k+ active installs

100
Magic robots.txt

1k+ active installs

100
Meta Keywords for Each Page

800 active installs

100
noindex SEO

3k+ active installs

100