Benchmarks
Plugin footprint 65% 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: ▲0.80MB] [CPU: ▼3.32ms] Passed 4 tests
Server-side resources used by Push Monkey Pro – Web Push Notifications and WooCommerce Abandoned Cart
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.23 ▲0.76 | 43.52 ▼0.32 |
Dashboard /wp-admin | 4.11 ▲0.81 | 52.45 ▲1.50 |
Posts /wp-admin/edit.php | 4.17 ▲0.81 | 56.40 ▲4.45 |
Add New Post /wp-admin/post-new.php | 6.71 ▲0.83 | 93.87 ▼18.89 |
Media Library /wp-admin/upload.php | 4.03 ▲0.81 | 45.83 ▲11.37 |
Permission Settings /wp-admin/admin.php?page=push_monkey_pages | 4.04 | 41.21 |
Segmentation /wp-admin/admin.php?page=push_monkey_segmentation | 4.02 | 34.15 |
Categories /wp-admin/admin.php?page=push_monkey_categories | 4.03 | 42.47 |
★ Send Notification /wp-admin/admin.php?page=push_monkey_send_push | 4.03 | 35.23 |
Post Types /wp-admin/admin.php?page=push_monkey_post_types | 4.02 | 35.24 |
Feedback Dialogs /wp-admin/admin.php?page=push_monkey_feedback_dialogs | 4.03 | 38.75 |
WooCommerce /wp-admin/admin.php?page=push_monkey_woocommerce | 4.03 | 37.73 |
Settings /wp-admin/admin.php?page=push_monkey_general | 4.02 | 36.95 |
Push Monkey /wp-admin/admin.php?page=push_monkey_main_config | 4.03 | 38.25 |
Server storage [IO: ▲5.39MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 262 new files
Database: no new tables, 10 new options
New WordPress options |
---|
can_compress_scripts |
push_monkey_notif_format |
widget_recent-posts |
widget_theysaidso_widget |
push_monkey_post_types |
theysaidso_admin_options |
push_monkey_subdomain_settings |
widget_recent-comments |
push_monkey_excluded_categories |
db_upgraded |
Browser metrics Passed 4 tests
Checking browser requirements for Push Monkey Pro – Web Push Notifications and WooCommerce Abandoned Cart
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,251 ▲505 | 14.23 ▼0.45 | 1.97 ▲0.48 | 28.54 ▼11.47 |
Dashboard /wp-admin | 2,642 ▲457 | 6.12 ▲1.22 | 120.11 ▲16.51 | 83.75 ▲39.37 |
Posts /wp-admin/edit.php | 2,291 ▲202 | 2.53 ▲0.52 | 43.21 ▲1.72 | 37.86 ▲3.36 |
Add New Post /wp-admin/post-new.php | 6,678 ▲5,136 | 22.47 ▲4.29 | 963.31 ▲315.25 | 120.81 ▲61.33 |
Media Library /wp-admin/upload.php | 1,583 ▲192 | 5.00 ▲0.85 | 124.55 ▲25.68 | 52.13 ▲10.36 |
Permission Settings /wp-admin/admin.php?page=push_monkey_pages | 1,257 | 2.67 | 45.37 | 91.09 |
Segmentation /wp-admin/admin.php?page=push_monkey_segmentation | 1,254 | 2.67 | 44.94 | 64.12 |
Categories /wp-admin/admin.php?page=push_monkey_categories | 1,254 | 2.60 | 38.73 | 59.46 |
★ Send Notification /wp-admin/admin.php?page=push_monkey_send_push | 1,295 | 2.61 | 37.36 | 72.98 |
Post Types /wp-admin/admin.php?page=push_monkey_post_types | 1,256 | 2.68 | 43.61 | 85.88 |
Feedback Dialogs /wp-admin/admin.php?page=push_monkey_feedback_dialogs | 1,219 | 2.67 | 40.03 | 64.94 |
WooCommerce /wp-admin/admin.php?page=push_monkey_woocommerce | 1,255 | 2.64 | 38.63 | 72.99 |
Settings /wp-admin/admin.php?page=push_monkey_general | 1,256 | 2.64 | 37.03 | 62.07 |
Push Monkey /wp-admin/admin.php?page=push_monkey_main_config | 1,256 | 2.61 | 38.06 | 57.29 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
- Uninstall procedure had uncaught errors
- > Warning in wp-content/plugins/push-monkey-desktop-push-notifications/uninstall.php+48
unlink(service-worker-.php): No such file or directory
- The uninstall procedure has failed, 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 0% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
These errors were triggered by the plugin
- > GET request to /wp-admin/admin.php?page=push_monkey_woocommerce
- > Notice in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/woo-info.php+25
Undefined variable: woocommerce_is_active
SRP 0% 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
Please fix the following
- 12× PHP files output non-empty strings when accessed directly via GET requests (only 10 are shown):
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/widgets/push_monkey_stats_widget.php
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/messages/push_monkey_welcome_notice.php
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/parts/log-in-old.php
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/messages/push_monkey_upsell_notice.php
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/parts/header.php
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/messages/push_monkey_big_message.php
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/service_worker.php
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/widgets/push_monkey_push_widget.php
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/parts/footer-old.php
- > /wp-content/plugins/push-monkey-desktop-push-notifications/templates/messages/push_monkey_big_expiration_notice.php
- 110× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Notice
Undefined variable: signed_in in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/statistics.php on line 3
- > PHP Notice
Trying to get property 'geo_data' of non-object in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/parts/footer-old.php on line 84
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/pages.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/notification-format.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/feedback-dialogs.php:4
- > PHP Notice
Trying to get property 'subscribers_today' of non-object in wp-content/plugins/push-monkey-desktop-push-notifications/templates/widgets/push_monkey_stats_widget.php on line 34
- > PHP Notice
Undefined variable: return_url in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/parts/log-in-old.php on line 68
- > PHP Notice
Undefined variable: pluginPath in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/parts/log-in-old.php on line 3
- > PHP Notice
Trying to get property 'sent_notifications' of non-object in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/parts/footer-old.php on line 4
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/push-monkey-desktop-push-notifications/templates/pages/settings/general.php:4
- > PHP Notice
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
These are user-side errors you should fix
- > GET request to /wp-admin/admin.php?page=push_monkey_send_push
- > Network (severe)
https://thumbs.gfycat.com/TightAmusedKakarikis-max-1mb.gif - Failed to load resource: net::ERR_NAME_NOT_RESOLVED
Optimizations
Plugin configuration 86% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Attributes that require attention:
- Tags: You are using too many tags: 23 tag instead of maximum 10
push-monkey-desktop-push-notifications/push-monkey.php 77% from 13 tests
The primary PHP file in "Push Monkey Pro – Web Push Notifications and WooCommerce Abandoned Cart" version 3.9 is used by WordPress to initiate all plugin functionality
You should first fix the following items:
- Main file name: It is recommended to name the main PHP file as the plugin slug ("push-monkey-desktop-push-notifications.php" instead of "push-monkey.php")
- Description: Please don't use more than 140 characters for the plugin description (currently 411 characters long)
- Plugin Name: Please shorten the plugin name (currently 73 characters long instead of max. 70)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
There were no executable files found in this plugin42,581 lines of code in 153 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
CSS | 58 | 1,421 | 777 | 23,224 |
JavaScript | 34 | 511 | 354 | 10,716 |
PHP | 49 | 1,263 | 1,257 | 6,728 |
SVG | 6 | 0 | 1 | 980 |
Markdown | 3 | 129 | 0 | 559 |
LESS | 1 | 57 | 15 | 358 |
JSON | 2 | 0 | 0 | 16 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.29 |
Average class complexity | 38.36 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 413.00 |
Average method complexity | 3.26 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 23.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 14 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 14 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 231 | |
▷ Static methods | 1 | 0.43% |
▷ Public methods | 229 | 99.13% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 2 | 0.87% |
Functions | 5 | |
▷ Named functions | 5 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 29 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 29 | 100.00% |
▷ Public constants | 29 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
77 PNG files occupy 0.57MB with 0.27MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
img/blueimp/video-play.png | 2.75KB | 1.80KB | ▼ 34.51% |
img/jquery/resize-icon@2x.png | 0.39KB | 0.26KB | ▼ 34.49% |
img/dropzone/spritemap.png | 18.56KB | 9.56KB | ▼ 48.47% |
img/icons/png.png | 2.69KB | 1.91KB | ▼ 29.01% |
img/default/banner-close-dark.png | 2.92KB | 0.42KB | ▼ 85.80% |