Benchmarks
Plugin footprint 48% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully
Server metrics [RAM: ▲4.35MB] [CPU: ▲28.63ms] Passed 4 tests
Analyzing server-side resources used by MyRewards - Loyalty Points and Rewards for WooCommerce - Reward orders, referrals, product reviews and more
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.74 ▲3.27 | 57.95 ▲16.08 |
Dashboard /wp-admin | 8.02 ▲4.71 | 78.30 ▲27.13 |
Posts /wp-admin/edit.php | 8.10 ▲4.74 | 89.14 ▲42.37 |
Add New Post /wp-admin/post-new.php | 10.76 ▲4.86 | 130.49 ▲34.01 |
Media Library /wp-admin/upload.php | 7.90 ▲4.67 | 71.36 ▲37.29 |
System /wp-admin/admin.php?page=woorewards.system | 8.27 | 77.17 |
Customers /wp-admin/admin.php?page=woorewards.customers | 8.21 | 77.41 |
Appearance /wp-admin/admin.php?page=woorewards.appearance | 8.23 | 76.60 |
MyRewards /wp-admin/admin.php?page=woorewards | 8.06 | 71.36 |
Wizard /wp-admin/admin.php?page=lwswizard-woorewards | 8.52 | 75.63 |
Pro Version /wp-admin/admin.php?page=woorewards-proversion | 8.11 | 71.97 |
Settings /wp-admin/admin.php?page=woorewards.loyalty | 8.06 | 73.69 |
Server storage [IO: ▲7.96MB] [DB: ▲0.01MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin was installed successfully
Filesystem: 362 new files
Database: 2 new tables, 25 new options
New tables |
---|
wp_lws_wr_achieved_log |
wp_lws_wr_historic |
New WordPress options |
---|
lws_mail_subject_wr_new_reward |
can_compress_scripts |
widget_recent-posts |
lws_woorewards_show_loading_order_and_priority |
lws_woorewards_cart_content_side |
lws_mail_header_wr_new_reward |
lws_mail_template_wr_new_reward |
lws_mail_woorewards_attribute_headerpic |
lws_woorewards_version |
lws_woorewards_sponsorship_short_url |
... |
Browser metrics Passed 4 tests
MyRewards - Loyalty Points and Rewards for WooCommerce - Reward orders, referrals, product reviews and more: an overview of browser usage
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,866 ▲104 | 14.70 ▲0.45 | 1.60 ▼0.21 | 28.55 ▼16.98 |
Dashboard /wp-admin | 2,267 ▲90 | 5.67 ▲0.06 | 98.29 ▼0.86 | 46.24 ▼0.18 |
Posts /wp-admin/edit.php | 2,175 ▲78 | 2.04 ▲0.06 | 40.50 ▲3.11 | 38.50 ▲2.26 |
Add New Post /wp-admin/post-new.php | 1,588 ▲53 | 20.98 ▼4.03 | 656.57 ▲58.81 | 47.53 ▼15.89 |
Media Library /wp-admin/upload.php | 1,469 ▲69 | 4.30 ▲0.13 | 100.00 ▲2.39 | 47.67 ▲5.38 |
System /wp-admin/admin.php?page=woorewards.system | 1,755 | 4.79 | 84.25 | 132.11 |
Customers /wp-admin/admin.php?page=woorewards.customers | 1,735 | 4.63 | 80.77 | 54.95 |
Appearance /wp-admin/admin.php?page=woorewards.appearance | 2,648 | 9.94 | 310.25 | 99.79 |
MyRewards /wp-admin/admin.php?page=woorewards | 1,346 | 4.32 | 58.31 | 80.53 |
Wizard /wp-admin/admin.php?page=lwswizard-woorewards | 1,467 | 4.46 | 62.01 | 126.68 |
Pro Version /wp-admin/admin.php?page=woorewards-proversion | 1,497 | 4.23 | 57.52 | 46.01 |
Settings /wp-admin/admin.php?page=woorewards.loyalty | 1,323 | 4.30 | 67.08 | 55.08 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 25% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
It is recommended to fix the following
- This plugin cannot be uninstalled
- > Warning in wp-content/plugins/woorewards/uninstall.php+3
include_once(wp-content/plugins/woorewards/modules/woorewards-pro/uninstall.php): failed to open stream: No such file or directory
- This plugin does not fully uninstall, leaving 2 tables in the database
- wp_lws_wr_historic
- wp_lws_wr_achieved_log
- This plugin does not fully uninstall, leaving 25 options in the database
- lws_mail_title_wr_new_reward
- can_compress_scripts
- theysaidso_admin_options
- lws_woorewards_redirect_to_licence
- lws_mail_template_wr_new_reward
- lws_woorewards_show_loading_order_and_priority
- widget_recent-posts
- widget_theysaidso_widget
- db_upgraded
- lws_woorewards_event_enabled_sponsorship
- ...
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Even though everything seems fine, this is not 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
The following issues need your attention
- 2× GET requests to PHP files trigger server-side errors or Error 500 responses:
- > PHP Fatal error
Uncaught Error: Class 'LWS\\Adminpanel\\Pages\\Field' not found in wp-content/plugins/woorewards/assets/lws-adminpanel/include/pages/field/stygen.php:25
- > PHP Fatal error
Uncaught Error: Class 'LWS\\Adminpanel\\Pages\\Field' not found in wp-content/plugins/woorewards/assets/lws-adminpanel/include/pages/field/themer.php:20
- > 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 issues were found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Please fix the following attributes:
- Tags: You are using too many tags: 26 tag instead of maximum 10
woorewards/woorewards.php 85% from 13 tests
The principal PHP file in "MyRewards - Loyalty Points and Rewards for WooCommerce - Reward orders, referrals, product reviews and more" v. 5.2.7 is loaded by WordPress automatically on each request
The following require your attention:
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
- Requires at least: The required version number did not match the one declared in readme.txt ("5.3" instead of "7.1.0")
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
Success! There were no dangerous files found in this plugin58,111 lines of code in 251 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 152 | 3,493 | 3,292 | 27,928 |
PO File | 9 | 5,855 | 9,013 | 14,456 |
JavaScript | 47 | 2,396 | 2,295 | 11,533 |
CSS | 37 | 558 | 101 | 2,667 |
SVG | 3 | 0 | 0 | 1,330 |
JSON | 1 | 0 | 0 | 134 |
XML | 2 | 0 | 0 | 63 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.49 |
Average class complexity | 31.57 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 213.00 |
Average method complexity | 3.68 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 55.00 |
Code structure | ||
---|---|---|
Namespaces | 25 | |
Interfaces | 2 | |
Traits | 1 | |
Classes | 144 | |
▷ Abstract classes | 14 | 9.72% |
▷ Concrete classes | 130 | 90.28% |
▷ Final classes | 1 | 0.77% |
Methods | 1,683 | |
▷ Static methods | 250 | 14.85% |
▷ Public methods | 1,218 | 72.37% |
▷ Protected methods | 403 | 23.95% |
▷ Private methods | 62 | 3.68% |
Functions | 103 | |
▷ Named functions | 23 | 22.33% |
▷ Anonymous functions | 80 | 77.67% |
Constants | 74 | |
▷ Global constants | 24 | 32.43% |
▷ Class constants | 50 | 67.57% |
▷ Public constants | 50 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
28 PNG files occupy 0.08MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
img/anniversary.png | 2.83KB | 2.70KB | ▼ 4.49% |
img/r-loyalty-systems.png | 3.86KB | 2.42KB | ▼ 37.21% |
img/ls-currency.png | 1.56KB | 1.12KB | ▼ 28.29% |
assets/lws-adminpanel/images/logo-lws.png | 1.41KB | 1.02KB | ▼ 27.77% |
img/standard_system.png | 3.57KB | 2.08KB | ▼ 41.72% |