Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
You still need to fix the following installer errors
- Install procedure validation failed for this plugin
- > Deprecated in wp-content/plugins/orderstorm-wordpress-e-commerce/CLASS_OrderStormECommerceNgCategoriesMenuWidget.php+18
Methods with the same name as their class will not be constructors in a future version of PHP; orderstorm_ecommerce_ng_categories_menu has a deprecated constructor
Server metrics [RAM: ▲0.13MB] [CPU: ▲134.86ms] 75% from 4 tests
A check of server-side resources used by OrderStorm WordPress e-Commerce
Please take the time to fix the following items
- CPU: Total CPU usage should be kept under 500.00ms (currently 641.27ms on /wp-admin/admin.php?page=orderstorm_ecommerce_settings_menu)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.54 ▲0.08 | 560.42 ▲516.86 |
Dashboard /wp-admin | 3.44 ▲0.14 | 56.92 ▲8.42 |
Posts /wp-admin/edit.php | 3.52 ▲0.17 | 52.78 ▲8.82 |
Add New Post /wp-admin/post-new.php | 6.04 ▲0.15 | 90.60 ▲5.35 |
Media Library /wp-admin/upload.php | 3.36 ▲0.14 | 2,362.30 ▲2,328.14 |
Product Categories /wp-admin/admin.php?page=orderstorm_ecommerce_product_categories_menu_option | 3.33 | 407.50 |
Products /wp-admin/admin.php?page=orderstorm_ecommerce_products_menu_option | 3.33 | 406.87 |
Advanced /wp-admin/admin.php?page=orderstorm_ecommerce_advanced_settings_menu_option | 3.32 | 417.58 |
Main /wp-admin/admin.php?page=orderstorm_ecommerce_settings_menu | 3.32 | 641.27 |
Server storage [IO: ▲0.81MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin installed successfully
Filesystem: 104 new files
Database: no new tables, 18 new options
New WordPress options |
---|
orderstorm_ecommerce_do_not_verify_ssl_peer_certificate |
orderstorm_ecommerce_host_name |
orderstorm_ecommerce_product_category_page_id |
widget_recent-comments |
widget_orderstorm_ecommerce_ng_categories_menu |
widget_recent-posts |
orderstorm_ecommerce_key_guid |
widget_orderstorm_ecommerce_categories_menu |
widget_orderstorm_ecommerce_ng_automotive_applications |
orderstorm_ecommerce_product_page_id |
... |
Browser metrics Passed 4 tests
Checking browser requirements for OrderStorm WordPress e-Commerce
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,657 ▲922 | 20.38 ▲5.79 | 76.35 ▲74.56 | 44.42 ▼7.60 |
Dashboard /wp-admin | 2,254 ▲63 | 4.89 ▼1.01 | 113.43 ▼5.82 | 43.58 ▼12.75 |
Posts /wp-admin/edit.php | 2,137 ▲48 | 2.04 ▲0.05 | 36.25 ▼1.04 | 31.98 ▼2.63 |
Add New Post /wp-admin/post-new.php | 1,554 ▲12 | 21.19 ▲2.86 | 652.49 ▲61.85 | 36.79 ▼15.37 |
Media Library /wp-admin/upload.php | 1,436 ▲48 | 4.17 ▲0.00 | 92.53 ▼4.87 | 47.43 ▲5.54 |
Product Categories /wp-admin/admin.php?page=orderstorm_ecommerce_product_categories_menu_option | 944 | 1.84 | 26.61 | 43.86 |
Products /wp-admin/admin.php?page=orderstorm_ecommerce_products_menu_option | 941 | 1.71 | 23.45 | 30.66 |
Advanced /wp-admin/admin.php?page=orderstorm_ecommerce_advanced_settings_menu_option | 968 | 1.84 | 22.69 | 21.92 |
Main /wp-admin/admin.php?page=orderstorm_ecommerce_settings_menu | 1,003 | 1.85 | 23.62 | 29.60 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
- This plugin cannot be uninstalled
- > User deprecated in wp-includes/functions.php+5737
Function unregister_setting was called with an argument that is deprecated since version 4.7.0! $sanitize_callback is deprecated. The callback from register_setting() is used instead.
- The uninstall procedure has failed, leaving 18 options in the database
- orderstorm_ecommerce_product_category_page_id
- orderstorm_ecommerce_cart_info_for_plugin
- orderstorm_ecommerce_cart_info_for_plugin_updated
- widget_orderstorm_ecommerce_ng_automotive_applications
- orderstorm_ecommerce_host_name
- orderstorm_ecommerce_key_guid
- widget_recent-posts
- orderstorm_ecommerce_product_page_id
- widget_theysaidso_widget
- can_compress_scripts
- ...
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Good news, no errors were detected
SRP 50% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
The following issues need your attention
- 9× PHP files trigger server-side errors or warnings when accessed directly:
- > PHP Fatal error
Uncaught Error: Call to undefined function get_role() in wp-content/plugins/orderstorm-wordpress-e-commerce/orderstorm-ecommerce.php:29
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/orderstorm-wordpress-e-commerce/CLASS_OrderStormECommerceNgCategoriesMenuWidget.php:18
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/orderstorm-wordpress-e-commerce/CLASS_OrderStormECommerceCategoriesMenu.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function orderstorm_ecommerce() in wp-content/plugins/orderstorm-wordpress-e-commerce/templates/render_product_details.php:22
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/orderstorm-wordpress-e-commerce/CLASS_OrderStormECommerceNgAutomotiveApplicationsWidget.php:18
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/orderstorm-wordpress-e-commerce/CLASS_OrderStormECommerceShoppingCartStatusWidget.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function orderstorm_ecommerce() in wp-content/plugins/orderstorm-wordpress-e-commerce/templates/category_page.php:22
- > PHP Fatal error
Uncaught Error: Call to undefined function get_locale() in wp-content/plugins/orderstorm-wordpress-e-commerce/OrderStormEcommerceLocalization.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function orderstorm_ecommerce() in wp-content/plugins/orderstorm-wordpress-e-commerce/templates/render_product_details_custom_1.php:21
- > 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 90% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
These attributes need to be fixed:
- Donate link: Invalid URI found ("www.orderstorm.com/wordpress-e-commerce-sign-up/ecommerce-wordpress-plugin-pricing/")
orderstorm-wordpress-e-commerce/orderstorm-ecommerce.php 85% from 13 tests
The principal PHP file in "OrderStorm WordPress e-Commerce" v. 1.0.17 is loaded by WordPress automatically on each request
It is important to fix the following:
- Description: Keep the plugin description shorter than 140 characters (currently 374 characters long)
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("orderstorm-wordpress-e-commerce.php" instead of "orderstorm-ecommerce.php")
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
Success! There were no dangerous files found in this plugin16,528 lines of code in 53 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 12 | 881 | 196 | 9,530 |
JavaScript | 19 | 396 | 757 | 4,841 |
CSS | 14 | 273 | 108 | 1,749 |
HTML | 8 | 1 | 19 | 408 |
PHP code 0% from 2 tests
An overview of cyclomatic complexity and code structure
Please tend to the following items
- Please reduce cyclomatic complexity of classes to less than 1000 (currently 1,062)
- Cyclomatic complexity of methods has to be reduced to less than 100 (currently 551)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.50 |
Average class complexity | 155.12 |
▷ Minimum class complexity | 2.00 |
▷ Maximum class complexity | 1,062.00 |
Average method complexity | 6.25 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 551.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 8 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 8 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 235 | |
▷ Static methods | 18 | 7.66% |
▷ Public methods | 202 | 85.96% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 33 | 14.04% |
Functions | 58 | |
▷ Named functions | 58 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 14 | |
▷ Global constants | 14 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
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
43 PNG files occupy 0.07MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
js/fancybox/fancy_shadow_ne.png | 0.34KB | 0.48KB | 0.00% |
images/menu_center_black.png | 2.86KB | 0.27KB | ▼ 90.43% |
js/jquery-context-menu/images/page_white_copy.png | 0.30KB | 0.34KB | 0.00% |
js/fancybox/fancy_shadow_se.png | 0.34KB | 0.48KB | 0.00% |
images/menu_bottom_black.png | 3.02KB | 0.64KB | ▼ 78.74% |