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
Installer ran successfully
Server metrics [RAM: ▲0.62MB] [CPU: ▲3.45ms] 75% from 4 tests
An overview of server-side resources used by HDCommerce
Please fix the following
- CPU: Try to keep total CPU usage under 500.00ms (currently 1,281.48ms on /wp-admin/admin.php?page=hdc_addons)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.11 ▲0.65 | 45.73 ▲6.46 |
Dashboard /wp-admin | 3.96 ▲0.66 | 55.98 ▲7.45 |
Posts /wp-admin/edit.php | 4.01 ▲0.66 | 48.83 ▲2.62 |
Add New Post /wp-admin/post-new.php | 6.48 ▲0.60 | 93.91 ▲1.46 |
Media Library /wp-admin/upload.php | 3.81 ▲0.59 | 38.39 ▲3.26 |
Orders /wp-admin/edit.php?post_type=hdc_orders | 3.86 | 38.16 |
Coupons /wp-admin/edit.php?post_type=hdc_coupon | 3.86 | 49.33 |
Product Categories /wp-admin/edit-tags.php?taxonomy=hdc_products&post_type=hdc_product | 3.81 | 35.24 |
Add New Product /wp-admin/post-new.php?post_type=hdc_product | 4.12 | 49.27 |
All Products /wp-admin/edit.php?post_type=hdc_product | 3.86 | 39.10 |
HDCommerce /wp-admin/admin.php?page=hdc_options | 3.76 | 34.95 |
Addons /wp-admin/admin.php?page=hdc_addons | 3.78 | 1,281.48 |
Server storage [IO: ▲1.15MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 222 new files
Database: no new tables, 11 new options
New WordPress options |
---|
hdc_store_page |
widget_recent-comments |
widget_recent-posts |
HDC_PLUGIN_VERSION |
recovery_mode_email_last_sent |
theysaidso_admin_options |
can_compress_scripts |
hdc_checkout_page |
db_upgraded |
hdc_payment_page |
... |
Browser metrics Passed 4 tests
Checking browser requirements for HDCommerce
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,939 ▲204 | 13.19 ▼1.27 | 1.67 ▼0.33 | 45.45 ▼1.71 |
Dashboard /wp-admin | 2,327 ▲136 | 5.91 ▲1.02 | 104.89 ▲1.02 | 67.38 ▲28.04 |
Posts /wp-admin/edit.php | 2,153 ▲64 | 1.98 ▼0.06 | 36.98 ▼2.64 | 33.67 ▼3.41 |
Add New Post /wp-admin/post-new.php | 1,567 ▲34 | 23.16 ▼0.07 | 783.52 ▲184.16 | 61.93 ▲19.60 |
Media Library /wp-admin/upload.php | 1,452 ▲64 | 4.13 ▼0.16 | 106.03 ▲7.79 | 43.91 ▲2.96 |
Orders /wp-admin/edit.php?post_type=hdc_orders | 1,109 | 2.07 | 32.71 | 28.35 |
Coupons /wp-admin/edit.php?post_type=hdc_coupon | 1,120 | 1.99 | 41.74 | 45.46 |
Product Categories /wp-admin/edit-tags.php?taxonomy=hdc_products&post_type=hdc_product | 1,326 | 2.14 | 26.17 | 31.31 |
Add New Product /wp-admin/post-new.php?post_type=hdc_product | 2,515 | 8.43 | 197.93 | 245.12 |
All Products /wp-admin/edit.php?post_type=hdc_product | 1,134 | 1.94 | 33.88 | 27.70 |
HDCommerce /wp-admin/admin.php?page=hdc_options | 4,822 | 2.34 | 47.15 | 46.97 |
Addons /wp-admin/admin.php?page=hdc_addons | 766 | 1.14 | 6.72 | 18.06 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
Please fix the following items
- Zombie WordPress options detected upon uninstall: 11 options
- theysaidso_admin_options
- HDC_PLUGIN_VERSION
- widget_recent-posts
- widget_theysaidso_widget
- can_compress_scripts
- hdc_store_page
- db_upgraded
- hdc_checkout_page
- widget_recent-comments
- recovery_mode_email_last_sent
- ...
Smoke tests 0% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Smoke test failed, please fix the following
- 2 occurences, only the last one shown
- > GET request to /wp-admin/post-new.php?post_type=hdc_product
- > Notice in wp-content/plugins/hdcommerce/includes/product-edit/fields/variations.php+84
Trying to access array offset on value of type null
- > GET request to /wp-admin/admin.php?page=hdc_options
- > User notice in wp-includes/functions.php+5905
Function WP_Scripts::localize was called incorrectly. The $l10n parameter must be an array. To pass arbitrary data to scripts, use the wp_add_inline_script() function instead. Please see Debugging in WordPress for more information. (This message was added in version 5.7.0.)
- > GET request to /wp-admin/admin.php?page=hdc_addons
- > Error in wp-content/plugins/hdcommerce/includes/addons.php+56
Uncaught Error: Cannot use object of type stdClass as array in wp-content/plugins/hdcommerce/includes/addons.php:56
Stack trace:
#0 wp-includes/class-wp-hook.php(310): hdc_create_addons_page()
#1 wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters()
#2 wp-includes/plugin.php(517): WP_Hook->do_action()
#3 wp-admin/admin.php(259): do_action()
#4 {main}
thrown
SRP 0% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following items
- 11× PHP files output text when accessed directly (only 10 are shown):
- > /wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/update_certs.php
- > /wp-content/plugins/hdcommerce/includes/settings/settings_advanced.php
- > /wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/build.php
- > /wp-content/plugins/hdcommerce/includes/settings/settings_main.php
- > /wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/examples/oauth.php
- > /wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/tests/bootstrap.no_autoload.php
- > /wp-content/plugins/hdcommerce/includes/templates/cart.php
- > /wp-content/plugins/hdcommerce/includes/settings/settings_support.php
- > /wp-content/plugins/hdcommerce/includes/settings/settings_custom_meta.php
- > /wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/tests/bootstrap.php
- 199× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Error\\Base' not found in wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/lib/Error/Api.php:5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/tests/Stripe/BitcoinReceiverTest.php:5
- > PHP Notice
Undefined variable: hdc_disable_reviews in wp-content/plugins/hdcommerce/includes/settings/settings_advanced.php on line 64
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_enqueue_style() in wp-content/plugins/hdcommerce/includes/meta/meta_orders_export.php:7
- > PHP Notice
Undefined variable: hdc_store_city in wp-content/plugins/hdcommerce/includes/settings/settings_main.php on line 57
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/tests/Stripe/StripeObjectTest.php:5
- > PHP Notice
Undefined variable: hdc_featured_image_h in wp-content/plugins/hdcommerce/includes/settings/settings_advanced.php on line 45
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/lib/Customer.php:27
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/tests/Stripe/Error/SignatureVerificationTest.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function sanitize_text_field() in wp-content/plugins/hdcommerce/includes/shipping/usps/usps.php:21
- > PHP Fatal error
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/edit.php?post_type=hdc_orders
- > Javascript (severe) in unknown
/wp-admin/edit.php?post_type=hdc_orders 45:15 Uncaught SyntaxError: Invalid or unexpected token
Optimizations
Plugin configuration 97% 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:
- Tags: Please reduce the number of tags, currently 11 tag instead of maximum 10
hdcommerce/hdcommerce.php Passed 13 tests
"HDCommerce" version 0.8's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
34 characters long description:
The ultimate eCommerce experience.
Code Analysis 5% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
These items require your attention
- You should never include executable (binary) or otherwise dangerous files in your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/hdcommerce/includes/payment-gateways/stripe/6/data/ca-certificates.crt
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 194 | 2,548 | 2,859 | 14,225 |
CSS | 4 | 536 | 33 | 2,864 |
JavaScript | 3 | 332 | 241 | 2,761 |
Markdown | 2 | 192 | 0 | 428 |
JSON | 1 | 0 | 0 | 36 |
YAML | 2 | 7 | 1 | 36 |
XML | 2 | 0 | 0 | 30 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.23 |
Average class complexity | 3.35 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 54.00 |
Average method complexity | 1.48 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 13.00 |
Code structure | ||
---|---|---|
Namespaces | 6 | |
Interfaces | 2 | |
Traits | 7 | |
Classes | 122 | |
▷ Abstract classes | 7 | 5.74% |
▷ Concrete classes | 115 | 94.26% |
▷ Final classes | 0 | 0.00% |
Methods | 593 | |
▷ Static methods | 114 | 19.22% |
▷ Public methods | 551 | 92.92% |
▷ Protected methods | 17 | 2.87% |
▷ Private methods | 25 | 4.22% |
Functions | 169 | |
▷ Named functions | 163 | 96.45% |
▷ Anonymous functions | 6 | 3.55% |
Constants | 63 | |
▷ Global constants | 7 | 11.11% |
▷ Class constants | 56 | 88.89% |
▷ Public constants | 56 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
2 compressed PNG files occupy 0.00MB
Potential savings
Compression of 2 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
includes/payment-gateways/stripe/6/tests/data/test.png | 0.09KB | 0.09KB | 0.00% |
includes/images/logo-16.png | 0.44KB | 0.44KB | 0.00% |