Auto Focus Keyword for SEO

Automatically fill missing Yoast SEO or Rank Math focus keywords from post titles. Batch sync, exclusions, and Pro auto-sync.

v1.0.5PagupUpdated Added 2k+ installs100% rating
40
Score
12
Errors
39
Warnings
+0
Change

Category Scores

Security0
Repo91
Performance100
Maintainability84

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

51 findings

Security

32

8 issue groups

Maintainability

13

9 issue groups

I18n

4

1 issue group

Repo Compliance

2

2 issue groups

WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_POST['batchSize']. Check that the array index exists before using it.9
Category
Security
Occurrences
9
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_POST['batchSize']. Check that the array index exists before using it.

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable $post_types at WHERE p.post_type IN ($post_types)\n6
Category
Security
Occurrences
6
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $post_types at WHERE p.post_type IN ($post_types)\n

WARNINGSecurityRequest data is not unslashed$_POST['blacklist'] not unslashed before sanitization. Use wp_unslash() or similar5
Category
Security
Occurrences
5
Severity
warning

Sample message

$_POST['blacklist'] 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.4
Category
I18n
Occurrences
4
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.

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

Sample message

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

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

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_POST['blacklist']3
Category
Security
Occurrences
3
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST['blacklist']

ERRORSecurityDatabase parameter is not escapedUnescaped parameter $post_types used in $wpdb->get_var()\n$post_types assigned unsafely at line 144.2
Category
Security
Occurrences
2
Severity
error

Sample message

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

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

Sample message

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

Show 10 more
ERRORSecuritySQL query is not prepared2
Category
Security
Occurrences
2
Severity
error

Sample message

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

WARNINGSecurityUnfinished Prepare2
Category
Security
Occurrences
2
Severity
warning

Sample message

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

ERRORMaintainabilityForbidden PHP function found1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

The use of function get_post_type_labels() is forbidden

WARNINGMaintainabilityNon-prefixed class1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "AutoFocusKeywordSEO".

WARNINGMaintainabilityerror log var dump1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGMaintainabilityMissing Version1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Resource version not set in call to wp_register_style(). This means new versions of the style may not always be loaded due to browser caching.

ERRORMaintainabilityMissing direct file access protection1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

ERRORRepo Complianceplugin header no license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.

WARNINGRepo Complianceplugin header nonexistent domain path1
Category
Repo Compliance
Occurrences
1
Severity
warning

Sample message

The "Domain Path" header in the plugin file must point to an existing folder. Found: "languages"

ERRORMaintainabilitywp function not compatible with requires wp1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Function "sanitize_textarea_field()" requires WordPress 4.7.0, but your plugin minimum supported version is WordPress 4.1.0.

Score History

First score snapshot

v1.0.5

40

Latest

Findings
51
Errors
12
Warnings
39
Check
2.0.0

Related Plugins