F12 Profiler

Comprehensive WordPress performance analysis with crawling, load time measurement, server diagnostics, and integrated optimization tools. Free.

v2.1.0Forge12 Interactive GmbHUpdated Added 500 installs80% rating0% support resolved
24
Score
282
Errors
451
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

733 findings

Maintainability

424

18 issue groups

I18n

150

2 issue groups

Security

115

5 issue groups

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

Sample message

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

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.127
Category
I18n
Occurrences
127
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.

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable $placeholders at WHERE p.ID IS NULL AND pm.meta_id IN ($placeholders)"45
Category
Security
Occurrences
45
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $placeholders at WHERE p.ID IS NULL AND pm.meta_id IN ($placeholders)"

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

Sample message

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

ERRORMaintainabilityunlink unlinkunlink() is discouraged. Use wp_delete_file() to delete a file.23
Category
Maintainability
Occurrences
23
Severity
error

Sample message

unlink() is discouraged. Use wp_delete_file() to delete a file.

ERRORI18nUnordered Placeholders TextMultiple placeholders in translatable strings should be ordered. Expected "%1$.3f, %2$.3f", but got "%.3f, %.3f" in 'CLS %.3f exceeds maximum %.3f'.23
Category
I18n
Occurrences
23
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$.3f, %2$.3f", but got "%.3f, %.3f" in 'CLS %.3f exceeds maximum %.3f'.

WARNINGMaintainabilitySchema ChangeAttempting a database schema change is discouraged.18
Category
Maintainability
Occurrences
18
Severity
warning

Sample message

Attempting a database schema change is discouraged.

WARNINGSecurityRequest data is not unslashed$_GET['f12_asset_scan'] not unslashed before sanitization. Use wp_unslash() or similar17
Category
Security
Occurrences
17
Severity
warning

Sample message

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

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET['f12_opcache_test']15
Category
Security
Occurrences
15
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET['f12_opcache_test']

Show 15 more
WARNINGMaintainabilityNon-prefixed function14
Category
Maintainability
Occurrences
14
Severity
warning

Sample message

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

ERRORMaintainabilitycurl curl getinfo13
Category
Maintainability
Occurrences
13
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

WARNINGMaintainabilityNon-prefixed global variable12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed hook name10
Category
Maintainability
Occurrences
10
Severity
warning

Sample message

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

ERRORMaintainabilitycurl curl close10
Category
Maintainability
Occurrences
10
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilitycurl curl exec9
Category
Maintainability
Occurrences
9
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilitycurl curl init8
Category
Maintainability
Occurrences
8
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilitycurl curl setopt array8
Category
Maintainability
Occurrences
8
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilityPlugin Directory Write7
Category
Maintainability
Occurrences
7
Severity
error

Sample message

Plugin folders are deleted when upgraded. Do not save data to the plugin folder using copy(). Detected usage of constant WP_CONTENT_DIR. Use wp_upload_dir() to get the uploads directory path or save to the database instead.

ERRORMaintainabilitycurl curl errno7
Category
Maintainability
Occurrences
7
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilityparse url parse url7
Category
Maintainability
Occurrences
7
Severity
error

Sample message

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

WARNINGMaintainabilityNon-prefixed constant6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "F12_PROF_BASENAME".

WARNINGSecurityNonce verification recommended6
Category
Security
Occurrences
6
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilityfile system operations is writable6
Category
Maintainability
Occurrences
6
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writable().

WARNINGMaintainabilityABSPATHDetected4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Writing files using ABSPATH may be problematic. Consider using wp_upload_dir() instead if storing user data or generated files.

External Connections

Potential connections found in static code analysis.

6 domains

Outbound calls

8

External assets

0

Incoming endpoints

1

Notable Domains

forge12.com3 · outbound
api.forge12.com1 · outbound
googleapis.com1 · outbound
img.youtube.com1 · outbound
sitemaps.org1 · outbound

Platform / Reference Domains

gnu.org1 · platform/reference

External Asset Domains

No external asset domains detected.

Incoming Endpoints

No public endpoints detected.

Admin AJAX endpoints1
wp_ajax_f12_prof_dismiss_noticeauthenticated

wp_ajax

Score History

First score snapshot

v2.1.0

24

Latest

Findings
733
Errors
282
Warnings
451
Check
2.0.0

Relationship Map

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

34 nodes

Related Plugins

100
DietPress

2k+ active installs

100
Disable Emojis (GDPR friendly)

60k+ active installs

100
Embed Optimizer

50k+ active installs

100
Image Placeholders

60k+ active installs

100