Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
It is recommended to fix the following installer errors
- Install procedure validation failed for this plugin
- > Notice in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/class-pdf-invoices-packing-slip-shipping-label-for-woocommerce-admin.php+104
Undefined variable: order_id
Server metrics [RAM: ▼1.90MB] [CPU: ▼49.94ms] Passed 4 tests
This is a short check of server-side resources used by PDF Invoices,Packing slip and Shipping Label Free for Woocommerce
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.09 ▼1.37 | 4.53 ▼36.15 |
Dashboard /wp-admin | 2.11 ▼1.19 | 5.46 ▼39.00 |
Posts /wp-admin/edit.php | 2.11 ▼1.25 | 6.70 ▼40.11 |
Add New Post /wp-admin/post-new.php | 2.11 ▼3.78 | 6.24 ▼84.48 |
Media Library /wp-admin/upload.php | 2.11 ▼1.12 | 6.53 ▼28.84 |
Server storage [IO: ▲17.89MB] [DB: ▲0.01MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
No storage issues were detected
Filesystem: 599 new files
Database: no new tables, 105 new options
New WordPress options |
---|
woocommerce_invoice_enable_product_pck_sku |
woocommerce_invoice_enable_pck_order_date |
woocommerce_invoice_enable_invoice_notes |
woocommerce_settings_invoice_pdf_invoice_suffix |
woocommerce_invoice_enable_reg_num |
woocommerce_invoice_enable_refunded_order |
woocommerce_invoice_enable_product_line_total |
woocommerce_invoice_enable_myaccount |
woocommerce_invoice_enable_order_date |
woocommerce_invoice_enable_email_address |
... |
Browser metrics Passed 4 tests
A check of browser resources used by PDF Invoices,Packing slip and Shipping Label Free for Woocommerce
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,823 ▲88 | 13.65 ▼0.71 | 1.76 ▼0.23 | 47.72 ▼2.58 |
Dashboard /wp-admin | 2,226 ▲38 | 5.42 ▲0.54 | 113.90 ▲2.28 | 42.14 ▼0.33 |
Posts /wp-admin/edit.php | 2,117 ▲31 | 2.45 ▲0.41 | 43.45 ▲3.26 | 33.47 ▼0.92 |
Add New Post /wp-admin/post-new.php | 1,543 ▲29 | 18.48 ▲0.98 | 597.51 ▼75.70 | 34.13 ▼17.29 |
Media Library /wp-admin/upload.php | 1,414 ▲23 | 4.65 ▲0.36 | 96.63 ▼4.27 | 42.75 ▼1.02 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
- The plugin did not uninstall gracefully
- > Notice in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/class-pdf-invoices-packing-slip-shipping-label-for-woocommerce-admin.php+104
Undefined variable: order_id
- Zombie WordPress options were found after uninstall: 105 options
- woocommerce_invoice_enable_order_number
- woocommerce_packing_notes
- woocommerce_invoice_enable_product_image
- widget_recent-comments
- woocommerce_settings_invoice_pdf_invoice_suffix
- woocommerce_invoice_enable_completed_order
- woocommerce_proforma_enable_invoice_plugin
- woocommerce_invoice_enable_reg_num
- woocommerce_invoice_enable_product_pck_description
- woocommerce_invoice_enable_product_pck_variation
- ...
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though no errors were found, this is by no means an exhaustive test
SRP 50% 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 take a closer look at the following
- 208× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'setasign\\Fpdi\\FpdfTpl' not found in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/setasign/fpdi/src/Fpdi.php:24
- > PHP Fatal error
Uncaught Error: Class 'Mpdf\\Tag\\InlineTag' not found in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/mpdf/mpdf/src/Tag/Sup.php:5
- > PHP Fatal error
Uncaught Error: Class 'Psr\\Log\\AbstractLogger' not found in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/psr/log/Psr/Log/Test/TestLogger.php:57
- > PHP Fatal error
Uncaught Error: Interface 'setasign\\Fpdi\\PdfParser\\Filter\\FilterInterface' not found in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/setasign/fpdi/src/PdfParser/Filter/AsciiHex.php:17
- > PHP Fatal error
Uncaught Error: Class 'tFPDF' not found in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/setasign/fpdi/src/Tfpdf/FpdfTpl.php:21
- > PHP Fatal error
Uncaught Error: Class 'Mpdf\\Tag\\SetHtmlPageFooter' not found in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/mpdf/mpdf/src/Tag/SetHtmlPageHeader.php:5
- > PHP Fatal error
Uncaught UnexpectedValueException: creating archive "wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/paragonie/random_compat/dist/random_compat.phar" disabled by the php.ini setting phar.readonly in /var/www/wordpress/wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/paragonie/random_compat/other/build_phar.php:12
- > PHP Fatal error
Trait 'Mpdf\\Strict' not found in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/mpdf/mpdf/src/Tag/Tag.php on line 18
- > PHP Fatal error
Uncaught Error: Class 'Mpdf\\Tag\\Tag' not found in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/mpdf/mpdf/src/Tag/TextArea.php:7
- > PHP Fatal error
Uncaught Error: Class 'Mpdf\\Tag\\BlockTag' not found in wp-content/plugins/pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/admin/libs/mpdf/vendor/mpdf/mpdf/src/Tag/FieldSet.php:5
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
There were no browser issues found
Optimizations
Plugin configuration 83% from 29 tests
readme.txt 88% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Attributes that require attention:
- Screenshots: These screenshots need descriptions #1, #2, #3, #4, #5, #6 in pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/assets to your readme.txt
- Tags: You are using too many tags: 13 tag instead of maximum 10
pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce/pdf-invoices-packing-slip-shipping-label-for-woocommerce.php 77% from 13 tests
The entry point to "PDF Invoices,Packing slip and Shipping Label Free for Woocommerce" version 1.0.0 is a PHP file that has certain tags in its header comment area
The following require your attention:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("pdf-invoicespacking-slip-and-shipping-label-free-for-woocommerce.php" instead of "pdf-invoices-packing-slip-shipping-label-for-woocommerce.php")
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
- Description: Please keep the plugin description shorter than 140 characters (currently 186 characters long)
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Success! There were no dangerous files found in this plugin78,824 lines of code in 433 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 387 | 10,642 | 11,817 | 76,551 |
Markdown | 7 | 382 | 0 | 1,146 |
JSON | 28 | 32 | 0 | 519 |
CSS | 3 | 65 | 18 | 406 |
JavaScript | 2 | 7 | 31 | 84 |
XML | 3 | 11 | 0 | 73 |
YAML | 2 | 10 | 2 | 42 |
Bourne Shell | 1 | 2 | 0 | 3 |
PHP code 0% from 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
The following items need your attention
- Class cyclomatic complexity should be reduced to less than 1000 (currently 7,005)
- Method cyclomatic complexity should be reduced to less than 100 (currently 460)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.51 |
Average class complexity | 59.72 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 7,005.00 |
Average method complexity | 13.97 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 460.00 |
Code structure | ||
---|---|---|
Namespaces | 43 | |
Interfaces | 10 | |
Traits | 6 | |
Classes | 282 | |
▷ Abstract classes | 9 | 3.19% |
▷ Concrete classes | 273 | 96.81% |
▷ Final classes | 12 | 4.40% |
Methods | 1,358 | |
▷ Static methods | 133 | 9.79% |
▷ Public methods | 1,173 | 86.38% |
▷ Protected methods | 53 | 3.90% |
▷ Private methods | 132 | 9.72% |
Functions | 32 | |
▷ Named functions | 9 | 28.12% |
▷ Anonymous functions | 23 | 71.88% |
Constants | 432 | |
▷ Global constants | 10 | 2.31% |
▷ Class constants | 422 | 97.69% |
▷ Public constants | 422 | 100.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
5 PNG files occupy 0.06MB with 0.04MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/libs/mpdf/vendor/myclabs/deep-copy/doc/graph.png | 6.29KB | 3.03KB | ▼ 51.86% |
admin/icon/pdfim.png | 19.22KB | 0.31KB | ▼ 98.41% |
admin/libs/mpdf/vendor/myclabs/deep-copy/doc/clone.png | 12.09KB | 5.48KB | ▼ 54.70% |
admin/libs/mpdf/vendor/myclabs/deep-copy/doc/deep-clone.png | 13.68KB | 6.54KB | ▼ 52.22% |
admin/libs/mpdf/vendor/myclabs/deep-copy/doc/deep-copy.png | 10.64KB | 5.23KB | ▼ 50.84% |