Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.29MB] [CPU: ▼3.73ms] Passed 4 tests
Server-side resources used by TWChat - Send or receive messages from users
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.67 ▲0.20 | 39.09 ▼0.54 |
Dashboard /wp-admin | 3.68 ▲0.34 | 49.48 ▼11.21 |
Posts /wp-admin/edit.php | 3.74 ▲0.37 | 51.18 ▲0.85 |
Add New Post /wp-admin/post-new.php | 6.20 ▲0.30 | 97.97 ▼4.00 |
Media Library /wp-admin/upload.php | 3.55 ▲0.31 | 40.67 ▲7.24 |
Direct Message /wp-admin/admin.php?page=TWChat_direct_message | 3.51 | 36.66 |
Settings /wp-admin/admin.php?page=TWChat_settings | 3.62 | 36.49 |
Add-ons /wp-admin/admin.php?page=TWChat_addons | 3.53 | 257.02 |
Server storage [IO: ▲0.91MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
No storage issues were detected
Filesystem: 106 new files
Database: no new tables, 7 new options
New WordPress options |
---|
widget_theysaidso_widget |
twchat_addons_list |
widget_recent-posts |
theysaidso_admin_options |
can_compress_scripts |
db_upgraded |
widget_recent-comments |
Browser metrics Passed 4 tests
This is an overview of browser requirements for TWChat - Send or receive messages from users
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,842 ▲95 | 14.42 ▲0.24 | 1.59 ▼0.16 | 41.54 ▲1.80 |
Dashboard /wp-admin | 2,250 ▲72 | 5.72 ▲0.02 | 85.89 ▼22.72 | 41.47 ▼2.64 |
Posts /wp-admin/edit.php | 2,153 ▲53 | 2.05 ▲0.04 | 39.92 ▼1.73 | 36.03 ▼1.45 |
Add New Post /wp-admin/post-new.php | 1,551 ▲25 | 22.76 ▼0.29 | 661.90 ▼0.04 | 50.82 ▼10.54 |
Media Library /wp-admin/upload.php | 1,452 ▲55 | 4.21 ▼0.02 | 100.00 ▼0.15 | 41.20 ▼4.99 |
Direct Message /wp-admin/admin.php?page=TWChat_direct_message | 847 | 2.02 | 27.94 | 27.49 |
Settings /wp-admin/admin.php?page=TWChat_settings | 1,759 | 1.85 | 27.29 | 30.00 |
Add-ons /wp-admin/admin.php?page=TWChat_addons | 972 | 2.01 | 23.17 | 31.07 |
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
It is recommended to fix the following
- Zombie WordPress options were found after uninstall: 7 options
- widget_recent-posts
- widget_recent-comments
- twchat_addons_list
- theysaidso_admin_options
- db_upgraded
- can_compress_scripts
- widget_theysaidso_widget
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
The smoke test was a success, however most plugin functionality was not tested
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 take a closer look at the following
- 2× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/twchat/addons/floating_widget_twchat_addon/templates/accounts_template.php
- > /wp-content/plugins/twchat/addons/floating_widget_twchat_addon/templates/social_template.php
- 9× PHP files trigger server errors when accessed directly:
- > PHP Fatal error
Uncaught Error: Call to undefined function is_user_logged_in() in wp-content/plugins/twchat/addons/floating_widget_twchat_addon/templates/buttons_template.php:13
- > PHP Notice
Undefined variable: social_links in wp-content/plugins/twchat/addons/floating_widget_twchat_addon/templates/social_template.php on line 2
- > PHP Fatal error
Uncaught Error: Call to undefined function TWChat_svg() in wp-content/plugins/twchat/addons/floating_widget_twchat_addon/templates/widget_ChatBox.php:5
- > PHP Notice
Undefined variable: accounts in wp-content/plugins/twchat/addons/floating_widget_twchat_addon/templates/accounts_template.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/twchat/templates/admin/addons.php:3
- > PHP Warning
Invalid argument supplied for foreach() in wp-content/plugins/twchat/addons/floating_widget_twchat_addon/templates/social_template.php on line 2
- > PHP Warning
Invalid argument supplied for foreach() in wp-content/plugins/twchat/addons/floating_widget_twchat_addon/templates/accounts_template.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/twchat/templates/admin/settings.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/twchat/templates/admin/direct_message.php:3
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
These attributes need to be fixed:
- Screenshots: Add an image for screenshot #3 (Custom number)
twchat/twchat.php 85% from 13 tests
The principal PHP file in "TWChat - Send or receive messages from users" v. 4.0.4 is loaded by WordPress automatically on each request
Please take the time to fix the following:
- Text Domain: The text domain is optional since WordPress version 4.6; if you do specify it, it must be the same as the plugin slug
- Requires at least: The required version number did not match the one declared in readme.txt ("5.0" instead of "5.9")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Everything looks great! No dangerous files found in this plugin6,076 lines of code in 81 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 33 | 598 | 1,419 | 3,059 |
JSON | 1 | 0 | 0 | 1,037 |
CSS | 5 | 38 | 1 | 628 |
SVG | 35 | 1 | 4 | 525 |
PO File | 1 | 178 | 211 | 426 |
JavaScript | 4 | 43 | 66 | 206 |
Sass | 2 | 40 | 1 | 195 |
PHP code Passed 2 tests
This is a very shot review of cyclomatic complexity and code structure
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.37 |
Average class complexity | 14.13 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 86.00 |
Average method complexity | 2.73 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 13.00 |
Code structure | ||
---|---|---|
Namespaces | 9 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 23 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 23 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 172 | |
▷ Static methods | 7 | 4.07% |
▷ Public methods | 172 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 11 | |
▷ Named functions | 6 | 54.55% |
▷ Anonymous functions | 5 | 45.45% |
Constants | 16 | |
▷ Global constants | 16 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
19 PNG files occupy 0.55MB with 0.33MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
includes/assets/images/account_default_images/account_3.png | 14.77KB | 5.18KB | ▼ 64.92% |
includes/assets/images/account_default_images/account_9.png | 20.52KB | 6.56KB | ▼ 68.03% |
includes/assets/images/account_default_images/account_10.png | 7.00KB | 4.68KB | ▼ 33.17% |
includes/assets/images/account_default_images/account_12.png | 28.94KB | 9.51KB | ▼ 67.14% |
includes/assets/images/account_default_images/account_4.png | 25.98KB | 8.21KB | ▼ 68.42% |