Benchmarks
Plugin footprint 64% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲14.80MB] [CPU: ▲108.20ms] 50% from 4 tests
This is a short check of server-side resources used by myCred - Points, Rewards, Gamification, Ranks, Badges & Loyalty Plugin
Please take the time to fix the following items
- RAM: The total memory usage must be kept under 10MB (currently 18.04MB on /wp-admin/admin.php?page=mycred-addons)
- Extra RAM: Extra memory usage should kept under 5MB (currently 14.80MB on /wp-admin/admin.php?page=mycred-addons)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 18.12 ▲14.66 | 140.18 ▲98.19 |
Dashboard /wp-admin | 18.18 ▲14.88 | 167.40 ▲118.99 |
Posts /wp-admin/edit.php | 18.23 ▲14.87 | 164.98 ▲117.36 |
Add New Post /wp-admin/post-new.php | 20.87 ▲14.98 | 198.27 ▲98.27 |
Media Library /wp-admin/upload.php | 18.03 ▲14.80 | 162.82 ▲128.99 |
Email Notifications /wp-admin/edit.php?post_type=mycred_email_notice | 18.17 | 137.44 |
Treasures /wp-admin/admin.php?page=mycred-treasures | 18.03 | 131.77 |
Coupons /wp-admin/edit.php?post_type=mycred_coupon | 18.17 | 136.10 |
Tools /wp-admin/admin.php?page=mycred-tools | 18.03 | 130.94 |
Freemius Debug [v.2.5.10] /wp-admin/admin.php?page=freemius | 18.30 | 132.77 |
License /wp-admin/admin.php?page=mycred-membership | 18.03 | 131.12 |
buyCred Gateways /wp-admin/admin.php?page=mycred-gateways | 18.09 | 132.45 |
Achievement Types /wp-admin/edit-tags.php?post_type=mycred_badge&taxonomy=mycred_badge_category | 18.05 | 155.92 |
cashCred Withdrawal /wp-admin/edit.php?post_type=cashcred_withdrawal | 18.17 | 137.06 |
Add-ons /wp-admin/admin.php?page=mycred-addons | 18.04 | 134.04 |
Server storage [IO: ▲13.88MB] [DB: ▲0.01MB] Passed 3 tests
Input-output and database impact of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 681 new files
Database: 1 new table, 21 new options
New tables |
---|
wp_myCRED_log |
New WordPress options |
---|
widget_mycred_widget_balance |
db_upgraded |
widget_mycred_widget_transfer |
fs_accounts |
mycred_setup_completed |
fs_active_plugins |
mycred-stats-12cbf76b56e06071a3df21700f0a365b |
mycred_pref_hooks |
theysaidso_admin_options |
widget_recent-comments |
... |
Browser metrics Passed 4 tests
Checking browser requirements for myCred - Points, Rewards, Gamification, Ranks, Badges & Loyalty Plugin
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,322 ▲575 | 15.58 ▲1.23 | 6.20 ▲4.55 | 26.60 ▼16.78 |
Dashboard /wp-admin | 2,593 ▲418 | 6.58 ▲0.89 | 129.61 ▲20.00 | 46.33 ▲7.51 |
Posts /wp-admin/edit.php | 2,404 ▲301 | 3.67 ▲1.65 | 49.70 ▲11.12 | 35.25 ▼0.96 |
Add New Post /wp-admin/post-new.php | 1,846 ▲320 | 22.72 ▼0.78 | 645.86 ▼42.47 | 36.71 ▼15.51 |
Media Library /wp-admin/upload.php | 1,583 ▲183 | 4.47 ▲0.28 | 89.68 ▼10.59 | 43.61 ▼0.38 |
Email Notifications /wp-admin/edit.php?post_type=mycred_email_notice | 1,362 | 3.86 | 53.94 | 53.67 |
Treasures /wp-admin/admin.php?page=mycred-treasures | 1,269 | 3.41 | 42.94 | 80.03 |
Coupons /wp-admin/edit.php?post_type=mycred_coupon | 1,376 | 3.73 | 51.48 | 33.68 |
Tools /wp-admin/admin.php?page=mycred-tools | 1,734 | 3.73 | 70.84 | 51.86 |
Freemius Debug [v.2.5.10] /wp-admin/admin.php?page=freemius | 1,369 | 3.30 | 48.25 | 31.06 |
License /wp-admin/admin.php?page=mycred-membership | 1,132 | 3.38 | 42.48 | 36.79 |
buyCred Gateways /wp-admin/admin.php?page=mycred-gateways | 2,877 | 7.24 | 145.41 | 44.47 |
Achievement Types /wp-admin/edit-tags.php?post_type=mycred_badge&taxonomy=mycred_badge_category | 1,575 | 3.54 | 53.66 | 41.47 |
cashCred Withdrawal /wp-admin/edit.php?post_type=cashcred_withdrawal | 1,498 | 3.83 | 55.82 | 37.13 |
Add-ons /wp-admin/admin.php?page=mycred-addons | 1,414 | 3.53 | 55.27 | 65.59 |
Uninstaller [IO: ▲0.01MB] [DB: ▲0.02MB] 50% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
The following items require your attention
- Zombie tables detected upon uninstall: 1 table
- wp_myCRED_log
- The uninstall procedure has failed, leaving 17 options in the database
- widget_recent-posts
- widget_theysaidso_widget
- mycred_pref_hooks
- mycred_pref_addons
- theysaidso_admin_options
- mycred_setup_completed
- can_compress_scripts
- mycred_version
- fs_active_plugins
- mycred_key
- ...
Smoke tests 75% 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 50% 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 fix the following
- 6× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Call to undefined function get_header() in wp-content/plugins/mycred/addons/buy-creds/templates/buycred-checkout.php:1
- > PHP Fatal error
Uncaught Error: Class 'myCRED_Tools' not found in wp-content/plugins/mycred/includes/mycred-tools-bulk-assign.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mycred/includes/mycred-open-badge-settings.php:14
- > PHP Fatal error
Uncaught Error: Class 'myCRED_Setup_Import_Export' not found in wp-content/plugins/mycred/includes/mycred-tools-import-export.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/mycred/includes/mycred-uninstall.php:14
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/mycred/mycred.php:169
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that require attention:
- Screenshots: Please add descriptions for these screenshots #7, #8 in mycred/assets to your readme.txt
mycred/mycred.php 92% from 13 tests
The primary PHP file in "myCred - Points, Rewards, Gamification, Ranks, Badges & Loyalty Plugin" version 2.6.1 is used by WordPress to initiate all plugin functionality
The following require your attention:
- Requires at least: Required version number formatted incorrectly (ex. "7.0" instead of "WP 4.8")
Code Analysis 95% from 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 plugin144,527 lines of code in 449 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 319 | 27,666 | 30,960 | 83,105 |
PO File | 11 | 15,158 | 24,201 | 36,054 |
JavaScript | 79 | 1,520 | 682 | 21,453 |
CSS | 37 | 543 | 95 | 3,665 |
Markdown | 1 | 68 | 0 | 214 |
SVG | 2 | 5 | 0 | 36 |
PHP code 0% from 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
Please tend to the following items
- Cyclomatic complexity of classes should be reduced to less than 1000 (currently 3,073)
- Method cyclomatic complexity has to be reduced to less than 100 (currently 133)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.50 |
Average class complexity | 53.78 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 3,073.00 |
Average method complexity | 4.85 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 133.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 206 | |
▷ Abstract classes | 9 | 4.37% |
▷ Concrete classes | 197 | 95.63% |
▷ Final classes | 3 | 1.52% |
Methods | 2,856 | |
▷ Static methods | 216 | 7.56% |
▷ Public methods | 2,412 | 84.45% |
▷ Protected methods | 59 | 2.07% |
▷ Private methods | 385 | 13.48% |
Functions | 553 | |
▷ Named functions | 551 | 99.64% |
▷ Anonymous functions | 2 | 0.36% |
Constants | 258 | |
▷ Global constants | 210 | 81.40% |
▷ Class constants | 48 | 18.60% |
▷ Public constants | 48 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
57 PNG files occupy 2.22MB with 0.88MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/mycred-icon.png | 19.38KB | 9.35KB | ▼ 51.76% |
assets/images/transfer-addon.png | 34.77KB | 15.78KB | ▼ 54.61% |
assets/images/default-point-type.png | 13.41KB | 5.78KB | ▼ 56.86% |
assets/images/about/badges.png | 3.99KB | 2.58KB | ▼ 35.40% |
assets/images/cred-icon16.png | 0.52KB | 0.55KB | 0.00% |