Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.03MB] [CPU: ▼8.91ms] Passed 4 tests
A check of server-side resources used by Admin Menu & Widget Manager
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.46 ▲0.00 | 33.25 ▼2.54 |
Dashboard /wp-admin | 3.35 ▲0.00 | 44.14 ▼23.11 |
Posts /wp-admin/edit.php | 3.46 ▲0.11 | 47.10 ▲3.79 |
Add New Post /wp-admin/post-new.php | 5.95 ▲0.06 | 92.17 ▼10.82 |
Media Library /wp-admin/upload.php | 3.27 ▲0.04 | 33.58 ▲0.83 |
Admin Menu Manager /wp-admin/themes.php?page=admin-menu-manager | 3.29 | 29.70 |
Widget Manager /wp-admin/themes.php?page=widget-manager | 3.28 | 32.05 |
Server storage [IO: ▲1.05MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
No storage issues were detected
Filesystem: 47 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_theysaidso_widget |
can_compress_scripts |
widget_recent-posts |
widget_recent-comments |
db_upgraded |
theysaidso_admin_options |
Browser metrics Passed 4 tests
An overview of browser requirements for Admin Menu & Widget Manager
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,839 ▲93 | 13.21 ▼1.17 | 1.49 ▼0.17 | 44.61 ▲3.86 |
Dashboard /wp-admin | 2,245 ▲57 | 4.89 ▼0.96 | 115.92 ▲7.52 | 42.49 ▼0.85 |
Posts /wp-admin/edit.php | 2,125 ▲36 | 2.04 ▲0.04 | 41.84 ▲3.21 | 38.79 ▲0.51 |
Add New Post /wp-admin/post-new.php | 1,388 ▼131 | 16.70 ▼6.44 | 508.29 ▼150.68 | 40.88 ▼18.85 |
Media Library /wp-admin/upload.php | 1,421 ▲33 | 4.23 ▼0.04 | 96.77 ▼9.85 | 39.23 ▼4.34 |
Admin Menu Manager /wp-admin/themes.php?page=admin-menu-manager | 1,352 | 1.76 | 25.84 | 27.21 |
Widget Manager /wp-admin/themes.php?page=widget-manager | 1,046 | 2.08 | 35.94 | 27.69 |
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
- This plugin did not uninstall successfully, leaving 6 options in the database
- can_compress_scripts
- widget_recent-comments
- widget_theysaidso_widget
- theysaidso_admin_options
- widget_recent-posts
- db_upgraded
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Everything seems fine, however this is by no means an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please fix the following items
- 1× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/evanesco/templates/donation.php
- 4× PHP files trigger server-side errors or warnings when accessed directly:
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/evanesco/classes/wp_express/autoload.php:39
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/evanesco/templates/menu_manager.php:19
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/evanesco/templates/widget_manager.php:19
- > PHP Warning
Use of undefined constant EVNSCO_PLUGIN_URL - assumed 'EVNSCO_PLUGIN_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/evanesco/templates/donation.php on line 2
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser issues were found
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
These attributes need to be fixed:
- Screenshots: A description for screenshot #2 is missing in evanesco/assets to your readme.txt
evanesco/evanesco.php Passed 13 tests
The primary PHP file in "Admin Menu & Widget Manager" version 3.0.1 is used by WordPress to initiate all plugin functionality
38 characters long description:
Manage Wordpress admin menu and widget
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Good job! No executable or dangerous file extensions detected2,225 lines of code in 36 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 19 | 468 | 254 | 1,731 |
Markdown | 9 | 83 | 0 | 385 |
JavaScript | 4 | 9 | 1 | 45 |
LESS | 2 | 5 | 0 | 36 |
CSS | 2 | 0 | 0 | 28 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
Everything seems fine, there were no complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.60 |
Average class complexity | 29.93 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 93.00 |
Average method complexity | 5.18 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 41.00 |
Code structure | ||
---|---|---|
Namespaces | 4 | |
Interfaces | 0 | |
Traits | 2 | |
Classes | 12 | |
▷ Abstract classes | 1 | 8.33% |
▷ Concrete classes | 11 | 91.67% |
▷ Final classes | 0 | 0.00% |
Methods | 97 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 74 | 76.29% |
▷ Protected methods | 6 | 6.19% |
▷ Private methods | 17 | 17.53% |
Functions | 4 | |
▷ Named functions | 2 | 50.00% |
▷ Anonymous functions | 2 | 50.00% |
Constants | 5 | |
▷ Global constants | 5 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
6 PNG files occupy 0.25MB with 0.19MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
classes/wp_express/documents/images/AdminSimple_001.png | 39.55KB | 7.29KB | ▼ 81.57% |
classes/wp_express/documents/images/AdminList_001.png | 91.51KB | 25.41KB | ▼ 72.24% |
classes/wp_express/documents/images/AdminSimple_003.png | 12.90KB | 2.67KB | ▼ 79.27% |
assets/images/plugin_danation_link.png | 25.98KB | 5.03KB | ▼ 80.64% |
classes/wp_express/documents/images/AdminSimple_002.png | 21.92KB | 8.20KB | ▼ 62.58% |