Textmetrics

Textmetrics is the easiest way to create SEO proof content to rank higher and get more traffic. Realtime optimization, keyword research and more.

v3.6.6IsrapilUpdated Added 400 installs86% rating
33
Score
324
Errors
163
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability42

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

487 findings

Security

271

8 issue groups

I18n

134

5 issue groups

Maintainability

81

12 issue groups

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"'>$text"'.127
Category
Security
Occurrences
127
Severity
error

Sample message

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

ERRORI18nNon Singular String Literal DomainThe $domain parameter must be a single text string literal. Found: WTT_PLUGIN_NAME79
Category
I18n
Occurrences
79
Severity
error

Sample message

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

WARNINGSecurityRequest data is not unslashed$_GET['tab'] not unslashed before sanitization. Use wp_unslash() or similar54
Category
Security
Occurrences
54
Severity
warning

Sample message

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

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

Sample message

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

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

Sample message

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

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().25
Category
I18n
Occurrences
25
Severity
error

Sample message

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

ERRORI18nNon Singular String Literal TextThe $text parameter must be a single text string literal. Found: WTT_PLUGIN_NAME24
Category
I18n
Occurrences
24
Severity
error

Sample message

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

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

Sample message

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

ERRORMaintainabilitywp function not compatible with requires wpFunction "delete_term_meta()" requires WordPress 4.4.0, but your plugin minimum supported version is WordPress 3.5.0.17
Category
Maintainability
Occurrences
17
Severity
error

Sample message

Function "delete_term_meta()" requires WordPress 4.4.0, but your plugin minimum supported version is WordPress 3.5.0.

WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.14
Category
Security
Occurrences
14
Severity
warning

Sample message

Processing form data without nonce verification.

Show 15 more
WARNINGMaintainabilityNo PHP code found5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.

WARNINGMaintainabilityMissing Version5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

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

ERRORMaintainabilityNon Enqueued Stylesheet5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

Stylesheets must be registered/enqueued via wp_enqueue_style()

WARNINGMaintainabilityDirect Query4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

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

WARNINGSecurityNonce verification recommended4
Category
Security
Occurrences
4
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORI18nSingle Underscore Get Text Function4
Category
I18n
Occurrences
4
Severity
error

Sample message

Found single-underscore "_()" function when double-underscore expected.

ERRORMaintainabilityOffloaded Content3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Found call to wp_enqueue_style() with external resource. Offloading styles to your servers or any remote service is disallowed.

WARNINGMaintainabilityNot In Footer3
Category
Maintainability
Occurrences
3
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.

ERRORSecuritySetting is missing a sanitization callback2
Category
Security
Occurrences
2
Severity
error

Sample message

Sanitization missing for register_setting().

ERRORMaintainabilitydate date2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

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

ERRORMaintainabilitystrip tags strip tags2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

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

ERRORI18nMissing Translators Comment2
Category
I18n
Occurrences
2
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.

ERRORSecurityUnsafe printing function1
Category
Security
Occurrences
1
Severity
error

Sample message

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

WARNINGMaintainabilityDiscouraged PHP function1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

wp_reset_query() is discouraged. Use wp_reset_postdata() instead.

External Connections

Potential connections found in static code analysis.

19 domains

Outbound calls

36

External assets

2

Incoming endpoints

10

Notable Domains

textmetrics.com9 · outbound
en.wikipedia.org3 · outbound
webtexttool.com3 · outbound
app.textmetrics.com2 · outbound
facebook.com2 · outbound

Platform / Reference Domains

gnu.org2 · platform/reference
schema.org2 · platform/reference
github.com1 · platform/reference
opensource.org1 · platform/reference

External Asset Domains

Incoming Endpoints

No public endpoints detected.

Admin AJAX endpoints10
wp_ajax_webtexttoolauthenticated

wp_ajax

wp_ajax_webtexttool_content_quality_settingsauthenticated

wp_ajax

wp_ajax_webtexttool_content_quality_suggestionsauthenticated

wp_ajax

wp_ajax_webtexttool_convert_shortcodesauthenticated

wp_ajax

wp_ajax_webtexttool_dismiss_wtt_noticeauthenticated

wp_ajax

wp_ajax_webtexttool_do_blocksauthenticated

wp_ajax

wp_ajax_webtexttool_doctypesauthenticated

wp_ajax

wp_ajax_webtexttool_save_page_dataauthenticated

wp_ajax

wp_ajax_webtexttool_search_postsauthenticated

wp_ajax

wp_ajax_webtexttool_tve_editor_contentauthenticated

wp_ajax

Score History

First score snapshot

v3.6.6

33

Latest

Findings
487
Errors
324
Warnings
163
Check
2.0.0

Relationship Map

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

37 nodes

Related Plugins

Post Admin Word Count

3k+ active installs

99
98
StyleAI

500 active installs

94