Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.73MB] [CPU: ▲2.81ms] Passed 4 tests
An overview of server-side resources used by Textmetrics
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.17 ▲0.71 | 40.41 ▼3.24 |
Dashboard /wp-admin | 4.03 ▲0.73 | 51.64 ▲3.01 |
Posts /wp-admin/edit.php | 4.09 ▲0.73 | 49.94 ▲6.25 |
Add New Post /wp-admin/post-new.php | 7.08 ▲1.20 | 148.13 ▲55.73 |
Media Library /wp-admin/upload.php | 3.96 ▲0.73 | 38.07 ▲5.21 |
Dashboard /wp-admin/admin.php?page=wtt_dashboard | 4.19 | 41.56 |
Social /wp-admin/admin.php?page=wtt_social | 3.96 | 39.92 |
Settings /wp-admin/admin.php?page=wtt_settings | 3.89 | 38.02 |
Tools /wp-admin/admin.php?page=wtt_tools | 3.91 | 36.14 |
Server storage [IO: ▲1.47MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 80 new files
Database: no new tables, 10 new options
New WordPress options |
---|
wtt_options |
widget_recent-comments |
widget_theysaidso_widget |
wtt_social |
db_upgraded |
can_compress_scripts |
theysaidso_admin_options |
wtt_settings |
wtt_version |
widget_recent-posts |
Browser metrics Passed 4 tests
Checking browser requirements for Textmetrics
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,868 ▲122 | 13.35 ▼0.85 | 1.58 ▼0.36 | 37.50 ▼9.99 |
Dashboard /wp-admin | 2,251 ▲63 | 4.94 ▼0.87 | 98.51 ▼19.70 | 86.82 ▲40.64 |
Posts /wp-admin/edit.php | 2,167 ▲78 | 2.02 ▼0.02 | 41.13 ▲3.97 | 40.41 ▲4.40 |
Add New Post /wp-admin/post-new.php | 9,701 ▲8,182 | 25.66 ▲2.47 | 1,059.31 ▲399.06 | 193.50 ▲145.60 |
Media Library /wp-admin/upload.php | 1,433 ▲42 | 4.13 ▼0.13 | 96.04 ▼0.67 | 82.20 ▲38.53 |
Dashboard /wp-admin/admin.php?page=wtt_dashboard | 1,364 | 3.05 | 82.10 | 75.33 |
Social /wp-admin/admin.php?page=wtt_social | 2,178 | 3.09 | 43.46 | 79.19 |
Settings /wp-admin/admin.php?page=wtt_settings | 1,538 | 1.80 | 27.75 | 33.41 |
Tools /wp-admin/admin.php?page=wtt_tools | 935 | 2.02 | 25.04 | 28.92 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
- This plugin did not uninstall successfully, leaving 10 options in the database
- wtt_settings
- theysaidso_admin_options
- wtt_social
- widget_theysaidso_widget
- wtt_version
- db_upgraded
- widget_recent-comments
- widget_recent-posts
- wtt_options
- can_compress_scripts
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Even though everything seems fine, this is not an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Please fix the following items
- 5× PHP files output text when accessed directly:
- > /wp-content/plugins/webtexttool/core/partials/WTT_BlockSettings.php
- > /wp-content/plugins/webtexttool/core/partials/WTT_BlockSuggestions.php
- > /wp-content/plugins/webtexttool/core/partials/directives/wtt-content-quality.php
- > /wp-content/plugins/webtexttool/core/partials/directives/wtt-suggestions-category.php
- > /wp-content/plugins/webtexttool/core/partials/directives/wtt-page-slideout.php
- 31× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function get_post_meta() in wp-content/plugins/webtexttool/core/partials/WTT_BlockResearch.php:3
- > PHP Notice
Undefined variable: wttform in wp-content/plugins/webtexttool/admin/partials/social/wtt-social-schema.php on line 4
- > PHP Fatal error
Uncaught Error: Call to undefined function get_locale() in wp-content/plugins/webtexttool/admin/partials/social/wtt-social-languages.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/webtexttool/admin/partials/dashboard/wtt-account.php:13
- > PHP Fatal error
Uncaught Error: Call to a member function switch_field() on null in wp-content/plugins/webtexttool/admin/partials/social/wtt-social-options.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html() in wp-content/plugins/webtexttool/admin/partials/dashboard/wtt-admin-display.php:16
- > PHP Notice
Undefined variable: wttform in wp-content/plugins/webtexttool/admin/partials/social/wtt-social-accounts.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function get_post_meta() in wp-content/plugins/webtexttool/core/partials/WTT_Social.php:13
- > PHP Fatal error
Uncaught Error: Call to a member function text_input_field() on null in wp-content/plugins/webtexttool/admin/partials/social/wtt-social-accounts.php:3
- > PHP Fatal error
Uncaught Error: Call to a member function switch_field() on null in wp-content/plugins/webtexttool/admin/partials/settings/wtt-rwmb-settings.php:3
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine on the user side
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 88% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that need to be fixed:
- Tags: Please delete some tags, you are using 17 tag instead of maximum 10
- Requires at least: Invalid version format
webtexttool/webtexttool.php 92% from 13 tests
"Textmetrics" version 3.5.0's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
The following require your attention:
- Description: Please don't use more than 140 characters for the plugin description (currently 145 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Good job! No executable or dangerous file extensions detected5,709 lines of code in 65 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 40 | 1,010 | 1,109 | 5,015 |
SVG | 1 | 0 | 0 | 288 |
JavaScript | 14 | 9 | 487 | 283 |
HTML | 2 | 3 | 0 | 106 |
CSS | 8 | 0 | 0 | 17 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.49 |
Average class complexity | 92.71 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 309.00 |
Average method complexity | 4.69 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 41.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 7 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 7 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 174 | |
▷ Static methods | 13 | 7.47% |
▷ Public methods | 88 | 50.57% |
▷ Protected methods | 6 | 3.45% |
▷ Private methods | 80 | 45.98% |
Functions | 27 | |
▷ Named functions | 27 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 6 | |
▷ Global constants | 6 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
6 PNG files occupy 0.09MB with 0.03MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/images/tm_loading_template.png | 5.39KB | 3.85KB | ▼ 28.56% |
core/images/tm_logo.png | 5.39KB | 3.85KB | ▼ 28.56% |
core/images/question-mark.png | 0.37KB | 0.29KB | ▼ 23.16% |
admin/images/tm_logo_16.png | 0.78KB | 0.56KB | ▼ 27.93% |
core/images/flags.png | 78.01KB | 25.86KB | ▼ 66.85% |