Benchmarks
Plugin footprint 83% 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.28MB] [CPU: ▼5.71ms] Passed 4 tests
This is a short check of server-side resources used by WC MyParcel Belgium
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.75 ▲0.29 | 47.97 ▲1.23 |
Dashboard /wp-admin | 3.58 ▲0.28 | 48.97 ▼8.29 |
Posts /wp-admin/edit.php | 3.70 ▲0.34 | 50.28 ▲0.48 |
Add New Post /wp-admin/post-new.php | 6.17 ▲0.28 | 98.79 ▼15.86 |
Media Library /wp-admin/upload.php | 3.51 ▲0.28 | 41.33 ▲0.85 |
Server storage [IO: ▲4.05MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
The plugin installed successfully
Filesystem: 233 new files
Database: no new tables, 7 new options
New WordPress options |
---|
widget_theysaidso_widget |
db_upgraded |
theysaidso_admin_options |
widget_recent-comments |
can_compress_scripts |
widget_recent-posts |
woocommerce_myparcelbe_version |
Browser metrics Passed 4 tests
WC MyParcel Belgium: an overview of browser usage
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,795 ▲34 | 14.35 ▲0.00 | 1.56 ▼0.45 | 40.35 ▼0.73 |
Dashboard /wp-admin | 2,201 ▲27 | 5.52 ▼0.06 | 86.42 ▼17.39 | 39.17 ▼6.92 |
Posts /wp-admin/edit.php | 2,106 ▲3 | 2.04 ▲0.04 | 39.25 ▲3.71 | 36.07 ▲0.95 |
Add New Post /wp-admin/post-new.php | 1,544 ▲16 | 23.03 ▼0.14 | 671.84 ▼23.42 | 54.16 ▼3.48 |
Media Library /wp-admin/upload.php | 1,409 ▲9 | 4.19 ▲0.04 | 101.17 ▼7.06 | 46.99 ▼0.83 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
It is recommended to fix the following
- Zombie WordPress options detected upon uninstall: 7 options
- theysaidso_admin_options
- db_upgraded
- widget_theysaidso_widget
- widget_recent-posts
- can_compress_scripts
- widget_recent-comments
- woocommerce_myparcelbe_version
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)
Even though everything seems fine, this is not an exhaustive test
SRP 50% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Almost there! Just fix the following items
- 63× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'MyParcelNL\\Sdk\\src\\Services\\Web\\Webhook\\AbstractWebhookWebService' not found in wp-content/plugins/wc-myparcel-belgium/vendor/myparcelnl/sdk/src/Services/Web/Webhook/ShopUpdatedWebhookWebService.php:7
- > PHP Fatal error
Uncaught Error: Class 'MyParcelNL\\Sdk\\src\\Services\\Web\\AbstractWebService' not found in wp-content/plugins/wc-myparcel-belgium/vendor/myparcelnl/sdk/src/Services/Web/CarrierConfigurationWebService.php:11
- > PHP Fatal error
Uncaught Error: Class 'MyParcelNL\\Sdk\\src\\Services\\Web\\AbstractWebService' not found in wp-content/plugins/wc-myparcel-belgium/vendor/myparcelnl/sdk/src/Services/Web/CarrierOptionsWebService.php:11
- > PHP Fatal error
Trait 'MyParcelNL\\Sdk\\src\\Concerns\\HasApiKey' not found in wp-content/plugins/wc-myparcel-belgium/vendor/myparcelnl/sdk/src/Model/MyParcelRequest.php on line 18
- > PHP Fatal error
Uncaught Error: Class 'MyParcelNL\\Sdk\\src\\Model\\BaseModel' not found in wp-content/plugins/wc-myparcel-belgium/vendor/myparcelnl/sdk/src/Model/Account/CarrierOptions.php:11
- > PHP Fatal error
Uncaught Error: Class 'MyParcelNL\\Sdk\\src\\Adapter\\DeliveryOptions\\AbstractPickupLocationAdapter' not found in wp-content/plugins/wc-myparcel-belgium/vendor/myparcelnl/sdk/src/Adapter/DeliveryOptions/PickupLocationV3Adapter.php:5
- > PHP Fatal error
Uncaught Error: Class 'MyParcelNL\\Sdk\\src\\Adapter\\DeliveryOptions\\AbstractPickupLocationAdapter' not found in wp-content/plugins/wc-myparcel-belgium/includes/adapter/pickup-location-from-order-adapter.php:8
- > PHP Fatal error
Uncaught Error: Class 'MyParcelNL\\Sdk\\src\\Rule\\Rule' not found in wp-content/plugins/wc-myparcel-belgium/vendor/myparcelnl/sdk/src/Rule/Consignment/LocalCountryOnlyRule.php:9
- > PHP Fatal error
Uncaught Error: Class 'MyParcelNL\\Sdk\\src\\Services\\Web\\Webhook\\AbstractWebhookWebService' not found in wp-content/plugins/wc-myparcel-belgium/vendor/myparcelnl/sdk/src/Services/Web/Webhook/ShopCarrierAccessibilityUpdatedWebhookWebService.php:7
- > PHP Fatal error
Uncaught Error: Class 'MyParcelNL\\Sdk\\src\\Model\\BaseModel' not found in wp-content/plugins/wc-myparcel-belgium/vendor/myparcelnl/sdk/src/Model/Account/Shop.php:9
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser errors were detected
Optimizations
Plugin configuration 79% from 29 tests
readme.txt 81% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
These attributes need to be fixed:
- Screenshots: Add images for these screenshots: #1 (Export or print MyParcel BE label per order), #2 (Bulk export or print MyParcel BE labels), #3 (Change the shipment options for an order), #4 (MyParcel BE actions on the order overview page), #5 (MyParcel BE information on the order details page)
- Plugin Name: Write the name of your plugin instead of "Plugin Name" on the first line (
=== wc-myparcel-belgium ===
) - Requires at least: Invalid version format
wc-myparcel-belgium/woocommerce-myparcel.php 77% from 13 tests
Analyzing the main PHP file in "WC MyParcel Belgium" version 4.5.5-beta...
It is important to fix the following:
- Main file name: It is recommended to name the main PHP file as the plugin slug ("wc-myparcel-belgium.php" instead of "woocommerce-myparcel.php")
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
- Version: The version number should only use digits and periods (ex. "1.0.3" instead of "4.5.5-beta...")
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
Good job! No executable or dangerous file extensions detected25,843 lines of code in 206 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 173 | 4,066 | 9,560 | 17,146 |
PO File | 9 | 3,018 | 0 | 7,912 |
CSS | 8 | 59 | 53 | 491 |
Markdown | 2 | 96 | 0 | 145 |
JSON | 4 | 1 | 0 | 138 |
JavaScript | 6 | 0 | 10 | 7 |
SVG | 4 | 0 | 0 | 4 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.37 |
Average class complexity | 12.30 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 164.00 |
Average method complexity | 2.25 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 20.00 |
Code structure | ||
---|---|---|
Namespaces | 30 | |
Interfaces | 2 | |
Traits | 8 | |
Classes | 148 | |
▷ Abstract classes | 11 | 7.43% |
▷ Concrete classes | 137 | 92.57% |
▷ Final classes | 0 | 0.00% |
Methods | 1,415 | |
▷ Static methods | 257 | 18.16% |
▷ Public methods | 1,159 | 81.91% |
▷ Protected methods | 48 | 3.39% |
▷ Private methods | 208 | 14.70% |
Functions | 59 | |
▷ Named functions | 3 | 5.08% |
▷ Anonymous functions | 56 | 94.92% |
Constants | 322 | |
▷ Global constants | 3 | 0.93% |
▷ Class constants | 319 | 99.07% |
▷ Public constants | 283 | 88.71% |
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
5 PNG files occupy 0.68MB with 0.42MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-2.png | 25.64KB | 8.88KB | ▼ 65.38% |
screenshot-5.png | 242.91KB | 75.78KB | ▼ 68.80% |
screenshot-3.png | 174.63KB | 60.92KB | ▼ 65.11% |
screenshot-1.png | 6.26KB | 3.41KB | ▼ 45.55% |
screenshot-4.png | 244.06KB | 80.81KB | ▼ 66.89% |