Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲0.03MB] [CPU: ▼6.44ms] Passed 4 tests
An overview of server-side resources used by Bomb - SMS Notifier
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.49 ▲0.03 | 43.06 ▲4.37 |
Dashboard /wp-admin | 3.33 ▲0.03 | 53.56 ▲2.58 |
Posts /wp-admin/edit.php | 3.44 ▲0.09 | 51.94 ▼9.98 |
Add New Post /wp-admin/post-new.php | 5.93 ▲0.05 | 89.47 ▼17.73 |
Media Library /wp-admin/upload.php | 3.25 ▲0.03 | 35.39 ▼0.62 |
Quick SMS /wp-admin/admin.php?page=sms-notifier-quick-sms | 3.31 | 35.56 |
SMS Notifier /wp-admin/admin.php?page=sms-notifier-settings | 3.25 | 35.33 |
Server storage [IO: ▲9.70MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 2,517 new files
Database: no new tables, 7 new options
New WordPress options |
---|
recovery_mode_email_last_sent |
can_compress_scripts |
db_upgraded |
theysaidso_admin_options |
widget_recent-posts |
widget_recent-comments |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
An overview of browser requirements for Bomb - SMS Notifier
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,819 ▲58 | 14.26 ▼0.09 | 1.79 ▼0.01 | 44.64 ▲2.98 |
Dashboard /wp-admin | 2,219 ▲42 | 5.57 ▼0.06 | 86.46 ▼10.91 | 42.26 ▼0.96 |
Posts /wp-admin/edit.php | 2,132 ▲32 | 2.18 ▲0.20 | 40.64 ▼1.39 | 36.07 ▼2.01 |
Add New Post /wp-admin/post-new.php | 1,563 ▲34 | 18.51 ▼4.59 | 639.73 ▲22.59 | 61.72 ▲11.17 |
Media Library /wp-admin/upload.php | 1,433 ▲36 | 4.20 ▼0.03 | 97.39 ▼12.15 | 49.84 ▲1.11 |
Quick SMS /wp-admin/admin.php?page=sms-notifier-quick-sms | 866 | 1.83 | 23.77 | 30.18 |
SMS Notifier /wp-admin/admin.php?page=sms-notifier-settings | 706 | 1.51 | 8.26 | 20.26 |
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
You still need to fix the following
- This plugin does not fully uninstall, leaving 7 options in the database
- can_compress_scripts
- widget_recent-posts
- theysaidso_admin_options
- widget_theysaidso_widget
- widget_recent-comments
- recovery_mode_email_last_sent
- db_upgraded
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Smoke test failed, please fix the following
- > GET request to /wp-admin/admin.php?page=sms-notifier-settings
- > Error in wp-content/plugins/bomb-sms-notifier/Admin/SettingsGenerator.php+45
Uncaught Error: Call to undefined function SmsNotifier\Admin\wc_get_order_statuses() in wp-content/plugins/bomb-sms-notifier/Admin/SettingsGenerator.php:45
Stack trace:
#0 wp-content/plugins/bomb-sms-notifier/Admin/Settings.php(63): SmsNotifier\Admin\SettingsGenerator->show_fields()
#1 wp-includes/class-wp-hook.php(310): SmsNotifier\Admin\Settings->sms_notifier_settings_func()
#2 wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters()
#3 wp-includes/plugin.php(517): WP_Hook->do_action()
#4 wp-admin/admin.php(259): do_action()
#5 {main}
thrown
SRP 50% 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
- 2158× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceContext' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/Sync/V1/Service/SyncListContext.php:29
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/IpMessaging/V2/Service/RolePage.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\ListResource' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/Taskrouter/V1/Workspace/ActivityList.php:20
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\ListResource' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/Api/V2010/Account/Message/FeedbackList.php:18
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\ListResource' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/Pricing/V1/Voice/CountryList.php:17
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceContext' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/Conversations/V1/Service/Conversation/MessageContext.php:25
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceContext' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/IpMessaging/V1/Service/ChannelContext.php:30
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\InstanceContext' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/Chat/V2/Service/Channel/MemberContext.php:19
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/Api/V2010/Account/RecordingPage.php:16
- > PHP Fatal error
Uncaught Error: Class 'Twilio\\Page' not found in wp-content/plugins/bomb-sms-notifier/vendor/twilio/sdk/src/Twilio/Rest/Preview/TrustedComms/BrandedCallPage.php:19
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
There were no browser issues found
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
9 plugin tags: twilio, notification, sms, woocommerce, order message...
bomb-sms-notifier/bomb.php 85% from 13 tests
"Bomb - SMS Notifier" version 1.0.0'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 ("bomb-sms-notifier.php" instead of "bomb.php")
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Good job! No executable or dangerous file extensions detected127,644 lines of code in 2,478 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 2,405 | 33,714 | 125,059 | 119,604 |
Markdown | 35 | 2,438 | 0 | 5,626 |
JSON | 18 | 0 | 0 | 1,704 |
CSS | 1 | 36 | 1 | 287 |
YAML | 8 | 27 | 5 | 232 |
XML | 7 | 5 | 0 | 91 |
JavaScript | 1 | 2 | 7 | 57 |
PO File | 1 | 5 | 5 | 26 |
make | 1 | 4 | 0 | 9 |
Dockerfile | 1 | 3 | 0 | 8 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
This plugin has no cyclomatic complexity issues
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.16 |
Average class complexity | 3.08 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 87.00 |
Average method complexity | 1.37 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 25.00 |
Code structure | ||
---|---|---|
Namespaces | 265 | |
Interfaces | 61 | |
Traits | 22 | |
Classes | 2,785 | |
▷ Abstract classes | 286 | 10.27% |
▷ Concrete classes | 2,499 | 89.73% |
▷ Final classes | 36 | 1.44% |
Methods | 15,773 | |
▷ Static methods | 762 | 4.83% |
▷ Public methods | 14,170 | 89.84% |
▷ Protected methods | 1,392 | 8.83% |
▷ Private methods | 211 | 1.34% |
Functions | 293 | |
▷ Named functions | 72 | 24.57% |
▷ Anonymous functions | 221 | 75.43% |
Constants | 269 | |
▷ Global constants | 7 | 2.60% |
▷ Class constants | 262 | 97.40% |
▷ Public constants | 261 | 99.62% |
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
No PNG files were detected