Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
This plugin's installer ran successfully
Server metrics [RAM: ▲2.41MB] [CPU: ▼124.13ms] 75% from 4 tests
A check of server-side resources used by Hey Notify
Please take the time to fix the following items
- CPU: Total CPU usage should be kept under 500.00ms (currently 5,049.57ms on /wp-admin/edit.php?post_type=hey_notify&page=add-ons)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.19 ▲2.48 | 60.84 ▲36.16 |
Dashboard /wp-admin | 5.46 ▲2.40 | 76.00 ▲22.75 |
Posts /wp-admin/edit.php | 5.58 ▲2.47 | 71.64 ▲21.05 |
Add New Post /wp-admin/post-new.php | 7.82 ▲2.39 | 125.30 ▼554.92 |
Media Library /wp-admin/upload.php | 5.38 ▲2.38 | 54.80 ▲14.59 |
Add-ons /wp-admin/edit.php?post_type=hey_notify&page=add-ons | 5.41 | 5,049.57 |
All Notifications /wp-admin/edit.php?post_type=hey_notify | 5.46 | 64.95 |
Add New /wp-admin/post-new.php?post_type=hey_notify | 5.49 | 74.31 |
Settings /wp-admin/edit.php?post_type=hey_notify&page=settings | 5.43 | 60.06 |
Server storage [IO: ▲8.65MB] [DB: ▲0.02MB] Passed 3 tests
A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 499 new files
Database: no new tables, 2 new options
New WordPress options |
---|
hey_notify_custom_post_types |
hey_notify_version |
Browser metrics Passed 4 tests
Checking browser requirements for Hey Notify
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,102 ▲530 | 20.67 ▲5.12 | 9.69 ▼2.26 | 49.83 ▼0.24 |
Dashboard /wp-admin | 3,371 ▲440 | 10.44 ▲4.53 | 219.35 ▲54.49 | 117.81 ▼4.70 |
Posts /wp-admin/edit.php | 3,153 ▲414 | 6.73 ▲4.03 | 118.42 ▲48.94 | 88.53 ▼9.26 |
Add New Post /wp-admin/post-new.php | 1,834 ▲240 | 19.35 ▲0.54 | 429.86 ▲19.55 | 141.94 ▲19.32 |
Media Library /wp-admin/upload.php | 1,999 ▲192 | 7.16 ▲2.12 | 161.29 ▼7.00 | 131.83 ▲4.45 |
Add-ons /wp-admin/edit.php?post_type=hey_notify&page=add-ons | 1,450 | 6.32 | 111.10 | 75.09 |
All Notifications /wp-admin/edit.php?post_type=hey_notify | 1,840 | 6.62 | 117.65 | 69.74 |
Add New /wp-admin/post-new.php?post_type=hey_notify | 2,764 | 8.70 | 214.30 | 94.98 |
Settings /wp-admin/edit.php?post_type=hey_notify&page=settings | 1,886 | 8.23 | 164.86 | 94.21 |
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 does not fully uninstall, leaving 2 options in the database
- hey_notify_custom_post_types
- hey_notify_version
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Everything seems fine, however this is by no means an exhaustive test
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 fix the following items
- 1× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/templates/Exception/incorrect-syntax.php
- 112× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Carbon_Fields\\Pimple\\ServiceProviderInterface' not found in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/core/Provider/Container_Condition_Provider.php:10
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Datastore\\Datastore' not found in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/core/Datastore/Key_Value_Datastore.php:13
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Field\\Scripts_Field' not found in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/core/Field/Footer_Scripts_Field.php:9
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Field\\Field' not found in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/core/Field/Broken_Field.php:8
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Field\\Select_Field' not found in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/core/Field/Radio_Image_Field.php:8
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Carbon_Fields' not found in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/config.php:17
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/core/Widget/Widget.php:13
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Datastore\\Datastore' not found in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/core/Datastore/Empty_Datastore.php:10
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Container\\Condition\\Comparer\\Comparer' not found in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/core/Container/Condition/Comparer/Scalar_Comparer.php:7
- > PHP Warning
Invalid argument supplied for foreach() in wp-content/plugins/hey-notify/vendor/htmlburger/carbon-fields/templates/Exception/incorrect-syntax.php on line 35
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
There were no browser issues found
Optimizations
Plugin configuration Passed 29 tests
readme.txt Passed 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
8 plugin tags: microsoft teams, email, alert, ninja forms, gravity forms...
hey-notify/hey-notify.php Passed 13 tests
Analyzing the main PHP file in "Hey Notify" version 1.4.2
45 characters long description:
Get notified when things happen in WordPress.
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
There were no executable files found in this plugin30,824 lines of code in 442 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 172 | 5,184 | 8,443 | 12,940 |
PHP | 181 | 3,244 | 7,702 | 11,725 |
PO File | 26 | 819 | 1,020 | 2,202 |
Sass | 48 | 335 | 0 | 1,753 |
CSS | 7 | 323 | 1,139 | 1,650 |
JSON | 4 | 0 | 0 | 435 |
Markdown | 4 | 38 | 0 | 119 |
PHP code Passed 2 tests
Analyzing logical lines of code, cyclomatic complexity, and other code metrics
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.30 |
Average class complexity | 9.14 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 50.00 |
Average method complexity | 2.21 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 23.00 |
Code structure | ||
---|---|---|
Namespaces | 33 | |
Interfaces | 5 | |
Traits | 0 | |
Classes | 141 | |
▷ Abstract classes | 11 | 7.80% |
▷ Concrete classes | 130 | 92.20% |
▷ Final classes | 1 | 0.77% |
Methods | 996 | |
▷ Static methods | 100 | 10.04% |
▷ Public methods | 813 | 81.63% |
▷ Protected methods | 166 | 16.67% |
▷ Private methods | 17 | 1.71% |
Functions | 135 | |
▷ Named functions | 55 | 40.74% |
▷ Anonymous functions | 80 | 59.26% |
Constants | 32 | |
▷ Global constants | 9 | 28.12% |
▷ Class constants | 23 | 71.88% |
▷ Public constants | 23 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
4 PNG files occupy 0.03MB with 0.02MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/services/email.png | 5.46KB | 2.08KB | ▼ 61.88% |
images/services/discord.png | 6.16KB | 2.66KB | ▼ 56.81% |
images/services/microsoft_teams.png | 11.80KB | 3.02KB | ▼ 74.38% |
images/services/slack.png | 4.88KB | 2.53KB | ▼ 48.26% |