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 successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.45MB] [CPU: ▼3.91ms] Passed 4 tests
This is a short check of server-side resources used by iControlWP - Multiple WordPress Management
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.94 ▲0.47 | 37.76 ▼3.93 |
Dashboard /wp-admin | 3.77 ▲0.42 | 47.37 ▼13.50 |
Posts /wp-admin/edit.php | 3.88 ▲0.52 | 48.48 ▲0.43 |
Add New Post /wp-admin/post-new.php | 6.35 ▲0.46 | 91.71 ▲1.37 |
Media Library /wp-admin/upload.php | 3.69 ▲0.46 | 36.07 ▲1.49 |
Dashboard /wp-admin/admin.php?page=icwp-app-plugin | 3.75 | 36.65 |
Server storage [IO: ▲1.49MB] [DB: ▲0.01MB] Passed 3 tests
A short overview of filesystem and database impact
No storage issues were detected
Filesystem: 273 new files
Database: no new tables, 19 new options
New WordPress options |
---|
icwp_app_dc3b09e53c6f51b16eede5bfb6fe5704 |
theysaidso_admin_options |
icwp_app_autoupdates_options |
db_upgraded |
icwp_app_security_options |
icwp_app_whitelabel_options |
icwp_app_a2f9a4ddbb8ce6f51b0bd0ddb14b2bc4 |
widget_recent-posts |
icwp_app_google_analytics_options |
icwp_app_compatibility_options |
... |
Browser metrics Passed 4 tests
This is an overview of browser requirements for iControlWP - Multiple WordPress Management
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,812 ▲65 | 14.20 ▼0.02 | 2.02 ▲0.39 | 37.64 ▼6.50 |
Dashboard /wp-admin | 2,217 ▲40 | 5.55 ▼0.13 | 88.03 ▼14.64 | 75.17 ▲32.63 |
Posts /wp-admin/edit.php | 2,122 ▲19 | 1.97 ▼0.04 | 35.24 ▼1.13 | 34.46 ▼0.99 |
Add New Post /wp-admin/post-new.php | 1,568 ▲42 | 18.54 ▼4.46 | 612.70 ▼26.37 | 152.95 ▲94.85 |
Media Library /wp-admin/upload.php | 1,425 ▲25 | 4.12 ▼0.02 | 98.21 ▼3.15 | 67.22 ▲22.43 |
Dashboard /wp-admin/admin.php?page=icwp-app-plugin | 1,055 | 2.01 | 27.21 | 71.05 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
Please fix the following items
- This plugin did not uninstall successfully, leaving 19 options in the database
- icwp_app_afd89f01a1712bd1e0e55ca443cd81c9
- icwp_app_autoupdates_options
- icwp_app_a2f9a4ddbb8ce6f51b0bd0ddb14b2bc4
- icwp_app_whitelabel_options
- icwp_app_google_analytics_options
- icwp_app_e3221956d7d621cb990e8919415a76bb
- theysaidso_admin_options
- widget_theysaidso_widget
- fernleafsystems\wordpress\plugin\icontrolwp\controller
- icwp_app_security_options
- ...
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 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please take a closer look at the following
- 35× PHP files perform the action of outputting non-empty strings when accessed directly (only 10 are shown):
- > /wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/snippets/analytics_tagman.php
- > /wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/snippets/analytics_classic.php
- > /wp-content/plugins/worpit-admin-dashboard-plugin/templates/snippets/admin_notice_add_site.php
- > /wp-content/plugins/worpit-admin-dashboard-plugin/src/config/feature-autoupdates.php
- > /wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/notices/flash-message.php
- > /wp-content/plugins/worpit-admin-dashboard-plugin/src/config/feature-plugin.php
- > /wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/snippets/analytics_universal.php
- > /wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/snippets/analytics_tagman_body.php
- > /wp-content/plugins/worpit-admin-dashboard-plugin/src/config/feature-google_analytics.php
- > /wp-content/plugins/worpit-admin-dashboard-plugin/src/config/feature-whitelabel.php
- 313× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Notice
Undefined variable: aPluginLabels in wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/feature-plugin.php on line 73
- > PHP Fatal error
Uncaught Error: Class 'FernleafSystems\\Wordpress\\Plugin\\iControlWP\\LegacyApi\\Internal\\Base' not found in wp-content/plugins/worpit-admin-dashboard-plugin/lib/src/LegacyApi/Internal/Plugin/Base.php:7
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/notices/does-not-meet-requirements.php on line 7
- > PHP Fatal error
Uncaught Error: Class 'ICWP_APP_Foundation' not found in wp-content/plugins/worpit-admin-dashboard-plugin/src/common/icwp-wpfunctions.php:3
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/notices/php53-version-warning.php on line 1
- > PHP Notice
Undefined variable: var_prefix in wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/feature-plugin.php on line 111
- > PHP Fatal error
Uncaught Error: Class 'ICWP_APP_Processor_Plugin_Api' not found in wp-content/plugins/worpit-admin-dashboard-plugin/src/processors/plugin_api_login.php:8
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/notices/plugin-update-available.php on line 1
- > PHP Fatal error
Uncaught Error: Class 'ICWP_APP_Foundation' not found in wp-content/plugins/worpit-admin-dashboard-plugin/src-legacy/features/base.php:7
- > PHP Warning
include_once(): Failed opening 'wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/feature-default' for inclusion (include_path='.:/usr/share/php') in /var/www/wordpress/wp-content/plugins/worpit-admin-dashboard-plugin/templates/php/index.php on line 8
- > PHP Notice
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser issues were found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 88% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
These attributes need to be fixed:
- Screenshots: Add images for these screenshots: #1 (At-a-Glance Summary tell you all your available updates split across plugin/theme names and site names with options to update all, or update individually.), #2 (See all your sites at a glance, which sites have upgrades available and where.), #3 (See a full summary of your site information, updates, WordPress Core version, Themes and much more.), #4 (Get a view of all your plugins and how each one is distributed across each site.)
- Tags: Too many tags (17 tag instead of maximum 10); only the first 5 tags are used in your directory listing
worpit-admin-dashboard-plugin/worpit.php 92% from 13 tests
"iControlWP - Multiple WordPress Management" version 4.3.1's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
Please take the time to fix the following:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("worpit-admin-dashboard-plugin.php" instead of "worpit.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Everything looks great! No dangerous files found in this plugin24,454 lines of code in 255 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 249 | 4,299 | 8,141 | 20,021 |
CSS | 4 | 818 | 34 | 4,418 |
HTML | 1 | 0 | 0 | 10 |
JSON | 1 | 0 | 0 | 5 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.47 |
Average class complexity | 16.21 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 154.00 |
Average method complexity | 2.63 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 21.00 |
Code structure | ||
---|---|---|
Namespaces | 24 | |
Interfaces | 0 | |
Traits | 4 | |
Classes | 206 | |
▷ Abstract classes | 16 | 7.77% |
▷ Concrete classes | 190 | 92.23% |
▷ Final classes | 0 | 0.00% |
Methods | 1,968 | |
▷ Static methods | 141 | 7.16% |
▷ Public methods | 1,469 | 74.64% |
▷ Protected methods | 413 | 20.99% |
▷ Private methods | 86 | 4.37% |
Functions | 14 | |
▷ Named functions | 5 | 35.71% |
▷ Anonymous functions | 9 | 64.29% |
Constants | 46 | |
▷ Global constants | 22 | 47.83% |
▷ Class constants | 24 | 52.17% |
▷ Public constants | 24 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
10 PNG files occupy 0.46MB with 0.21MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-2.png | 70.24KB | 38.06KB | ▼ 45.82% |
assets/images/icontrolwp_24x24.png | 2.34KB | 1.42KB | ▼ 39.47% |
assets/images/icontrolwp_16x16.png | 1.59KB | 0.79KB | ▼ 49.91% |
assets/images/pinvoke/tick.png | 0.62KB | 0.62KB | 0.00% |
assets/images/pinvoke/status-amber.png | 3.01KB | 0.37KB | ▼ 87.62% |