Benchmarks
Plugin footprint Passed 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▼0.00MB] [CPU: ▼183.72ms] Passed 4 tests
A check of server-side resources used by ZigZag Delivery for WooCommerce
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.84 ▲0.00 | 31.74 ▲5.67 |
Dashboard /wp-admin | 3.06 ▼0.00 | 32.87 ▼12.44 |
Posts /wp-admin/edit.php | 3.11 ▲0.00 | 33.57 ▼1.24 |
Add New Post /wp-admin/post-new.php | 5.43 ▼0.02 | 73.66 ▼724.22 |
Media Library /wp-admin/upload.php | 3.01 ▲0.00 | 28.15 ▲3.03 |
Server storage [IO: ▲6.22MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
This plugin installed successfully
Filesystem: 183 new files
Database: no new tables, no new options
Browser metrics Passed 4 tests
A check of browser resources used by ZigZag Delivery for WooCommerce
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,666 ▲5 | 15.97 ▼0.02 | 6.20 ▼4.46 | 75.29 ▼0.21 |
Dashboard /wp-admin | 2,933 ▲38 | 5.98 ▼0.18 | 113.77 ▼16.89 | 168.58 ▼4.06 |
Posts /wp-admin/edit.php | 2,706 ▼31 | 3.24 ▲0.02 | 65.66 ▼0.99 | 136.88 ▼2.91 |
Add New Post /wp-admin/post-new.php | 3,743 ▲1,419 | 19.22 ▲3.22 | 464.88 ▲33.03 | 165.77 ▲2.82 |
Media Library /wp-admin/upload.php | 1,749 ▼3 | 5.50 ▼0.03 | 138.12 ▲2.39 | 181.89 ▼2.08 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
Uninstall script ran successfully
Smoke tests 50% 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 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
- 1× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/TCPDF/tools/tcpdf_addfont.php
- 55× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Picqer\\Barcode\\Types\\TypeInterface' not found in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/src/Types/TypeCode39.php:15
- > PHP Fatal error
Uncaught Error: Class 'Picqer\\Barcode\\Exceptions\\BarcodeException' not found in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/src/Exceptions/UnknownTypeException.php:5
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/tests/TypesTest.php:5
- > PHP Fatal error
Uncaught Error: Interface 'Picqer\\Barcode\\Types\\TypeInterface' not found in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/src/Types/TypeStandard2of5.php:15
- > PHP Warning
require(vendor/autoload.php): failed to open stream: No such file or directory in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/generate-verified-files.php on line 3
- > PHP Fatal error
Uncaught Error: Interface 'Picqer\\Barcode\\Types\\TypeInterface' not found in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/src/Types/TypeRms4cc.php:16
- > PHP Fatal error
Uncaught Error: Class 'Picqer\\Barcode\\BarcodeGeneratorPNG' not found in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/src/BarcodeGeneratorJPG.php:7
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/tests/BarcodePngTest.php:5
- > PHP Fatal error
Uncaught Error: Class 'Picqer\\Barcode\\Types\\TypeUpcExtension2' not found in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/src/Types/TypeUpcExtension5.php:11
- > PHP Fatal error
Uncaught Error: Class 'Picqer\\Barcode\\Types\\TypeCode39' not found in wp-content/plugins/zigzag-delivery-for-woocommerce/vendor/picqer/php-barcode-generator/src/Types/TypeCode39Extended.php:10
- > 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 errors were detected
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
Attributes that need to be fixed:
- Screenshots: A description for screenshot #4 is missing in zigzag-delivery-for-woocommerce/assets to your readme.txt
zigzag-delivery-for-woocommerce/zigzag-delivery-for-woocommerce.php 85% from 13 tests
Analyzing the main PHP file in "ZigZag Delivery for WooCommerce" version 1.2.9
Please make the necessary changes and fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 149 characters long)
- Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
There were no executable files found in this plugin58,688 lines of code in 157 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 105 | 2,563 | 12,342 | 51,533 |
CSS | 4 | 1,207 | 15 | 4,517 |
SVG | 30 | 0 | 0 | 1,505 |
Markdown | 5 | 163 | 0 | 392 |
PO File | 1 | 158 | 251 | 240 |
HTML | 4 | 0 | 0 | 194 |
JSON | 3 | 0 | 0 | 182 |
JavaScript | 2 | 25 | 1 | 80 |
XML | 1 | 0 | 0 | 23 |
YAML | 2 | 9 | 0 | 22 |
PHP code 0% from 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
These items need your attention
- Please reduce cyclomatic complexity of classes to less than 1000 (currently 4,379)
- Method cyclomatic complexity should be reduced to less than 100 (currently 502)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.43 |
Average class complexity | 84.84 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 4,379.00 |
Average method complexity | 8.55 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 502.00 |
Code structure | ||
---|---|---|
Namespaces | 8 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 82 | |
▷ Abstract classes | 2 | 2.44% |
▷ Concrete classes | 80 | 97.56% |
▷ Final classes | 0 | 0.00% |
Methods | 924 | |
▷ Static methods | 127 | 13.74% |
▷ Public methods | 618 | 66.88% |
▷ Protected methods | 297 | 32.14% |
▷ Private methods | 9 | 0.97% |
Functions | 8 | |
▷ Named functions | 6 | 75.00% |
▷ Anonymous functions | 2 | 25.00% |
Constants | 139 | |
▷ Global constants | 106 | 76.26% |
▷ Class constants | 33 | 23.74% |
▷ Public constants | 32 | 96.97% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
2 PNG files occupy 0.00MB with 0.00MB in potential savings
Potential savings
Compression of 2 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/icon.png | 1.70KB | 0.56KB | ▼ 67.05% |
assets/images/logo.png | 2.65KB | 2.73KB | 0.00% |