Benchmarks
Plugin footprint 23% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
You still need to fix the following installer errors
- Install procedure validation failed for this plugin
- > Deprecated in wp-content/plugins/opt-in-hound/includes/functions-admin-settings-fields.php+644
Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`
Server metrics [RAM: ▼1.12MB] [CPU: ▼44.64ms] Passed 4 tests
A check of server-side resources used by Easy WordPress Subscribe - Optin Hound
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.86 ▼0.60 | 9.50 ▼29.16 |
Dashboard /wp-admin | 2.88 ▼0.42 | 9.96 ▼37.15 |
Posts /wp-admin/edit.php | 2.88 ▼0.47 | 12.00 ▼36.74 |
Add New Post /wp-admin/post-new.php | 2.88 ▼3.00 | 10.83 ▼75.51 |
Media Library /wp-admin/upload.php | 2.88 ▼0.34 | 10.03 ▼23.45 |
Settings /wp-admin/admin.php?page=oih-settings | 2.88 | 11.01 |
Opt-in Forms /wp-admin/admin.php?page=oih-opt-in-forms | 2.88 | 11.81 |
Extensions /wp-admin/admin.php?page=oih-extensions | 2.88 | 10.19 |
Subscriber Lists /wp-admin/admin.php?page=oih-lists | 2.88 | 10.29 |
Uninstall /wp-admin/admin.php?page=oih-uninstall | 2.88 | 11.63 |
Server storage [IO: ▲1.18MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
The plugin installed successfully
Filesystem: 136 new files
Database: 3 new tables, 12 new options
New tables |
---|
wp_oih_lists |
wp_oih_opt_ins |
wp_oih_subscribers |
New WordPress options |
---|
can_compress_scripts |
oih_first_activation |
widget_theysaidso_widget |
oih_version |
widget_oih_opt_in_widget |
widget_recent-posts |
widget_recent-comments |
db_upgraded |
oih_version_compatibility_v_1_2_0 |
theysaidso_admin_options |
... |
Browser metrics Passed 4 tests
A check of browser resources used by Easy WordPress Subscribe - Optin Hound
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,022 ▲276 | 14.38 ▲0.01 | 7.64 ▲5.81 | 20.15 ▼23.29 |
Dashboard /wp-admin | 2,317 ▲129 | 5.36 ▲0.42 | 110.17 ▼0.76 | 55.36 ▲9.18 |
Posts /wp-admin/edit.php | 2,181 ▲92 | 2.53 ▲0.52 | 42.39 ▲1.86 | 46.48 ▲7.02 |
Add New Post /wp-admin/post-new.php | 1,611 ▲78 | 23.51 ▲0.17 | 628.42 ▼55.90 | 38.99 ▼19.15 |
Media Library /wp-admin/upload.php | 1,501 ▲113 | 4.57 ▲0.37 | 93.79 ▼14.95 | 54.72 ▲13.21 |
Settings /wp-admin/admin.php?page=oih-settings | 1,881 | 7.29 | 157.95 | 119.20 |
Opt-in Forms /wp-admin/admin.php?page=oih-opt-in-forms | 1,220 | 3.59 | 48.88 | 104.60 |
Extensions /wp-admin/admin.php?page=oih-extensions | 1,174 | 2.20 | 30.61 | 75.50 |
Subscriber Lists /wp-admin/admin.php?page=oih-lists | 1,178 | 2.35 | 28.77 | 46.26 |
Uninstall /wp-admin/admin.php?page=oih-uninstall | 1,057 | 2.24 | 30.08 | 44.02 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 25% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
- Uninstall procedure had uncaught errors
- > Deprecated in wp-content/plugins/opt-in-hound/includes/functions-admin-settings-fields.php+644
Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`
- Zombie tables detected upon uninstall: 3 tables
- wp_oih_lists
- wp_oih_opt_ins
- wp_oih_subscribers
- This plugin does not fully uninstall, leaving 12 options in the database
- theysaidso_admin_options
- oih_version_compatibility_v_1_4_0
- oih_version_type
- widget_recent-comments
- widget_oih_opt_in_widget
- widget_recent-posts
- oih_version_compatibility_v_1_2_0
- widget_theysaidso_widget
- db_upgraded
- oih_first_activation
- ...
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
These server-side errors were triggered
- 5 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=oih-uninstall
- > Deprecated in wp-content/plugins/opt-in-hound/includes/functions-admin-settings-fields.php+644
Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)`
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
The following issues need your attention
- 3× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/opt-in-hound/includes/extensions-promo/views/view-promo-pop-up-opt-in-types.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/opt-in-hound/includes/modules/deactivate/views/view-modal-deactivate.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/opt-in-hound/includes/extensions-promo/functions.php:14
- > 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 errors were detected
Optimizations
Plugin configuration 93% 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
Attributes that require attention:
- Tags: You are using too many tags: 12 tag instead of maximum 10
opt-in-hound/index.php 92% from 13 tests
The main PHP file in "Easy WordPress Subscribe - Optin Hound" ver. 1.4.3 adds more information about the plugin and also serves as the entry point for this plugin
It is important to fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("opt-in-hound.php" instead of "index.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
There were no executable files found in this plugin14,278 lines of code in 104 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 79 | 3,272 | 3,323 | 6,610 |
JavaScript | 11 | 1,583 | 843 | 5,271 |
CSS | 9 | 367 | 229 | 2,239 |
SVG | 2 | 27 | 1 | 75 |
JSON | 2 | 0 | 0 | 52 |
Markdown | 1 | 13 | 0 | 31 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.49 |
Average class complexity | 18.17 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 124.00 |
Average method complexity | 4.08 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 56.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 29 | |
▷ Abstract classes | 4 | 13.79% |
▷ Concrete classes | 25 | 86.21% |
▷ Final classes | 0 | 0.00% |
Methods | 168 | |
▷ Static methods | 7 | 4.17% |
▷ Public methods | 125 | 74.40% |
▷ Protected methods | 34 | 20.24% |
▷ Private methods | 9 | 5.36% |
Functions | 152 | |
▷ Named functions | 152 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 9 | |
▷ Global constants | 9 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.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
25 PNG files occupy 0.18MB with 0.09MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/tool-icon-email-notification-welcome-message.png | 5.02KB | 2.91KB | ▼ 42.12% |
assets/libs/chosen/chosen-sprite.png | 1.65KB | 0.80KB | ▼ 51.60% |
assets/img/tool-opt-in-icon-after-content.png | 4.82KB | 2.48KB | ▼ 48.62% |
assets/img/email-provider-icon-aweber.png | 3.71KB | 1.99KB | ▼ 46.40% |
assets/img/opt-in-icon-widget.png | 3.14KB | 1.66KB | ▼ 47.00% |