Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Installer ran successfully
Server metrics [RAM: ▲0.41MB] [CPU: ▼2.41ms] Passed 4 tests
An overview of server-side resources used by WordPress Product Excel Import & Export for WooCommerce
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.89 ▲0.43 | 43.90 ▲5.22 |
Dashboard /wp-admin | 3.76 ▲0.42 | 48.50 ▼12.02 |
Posts /wp-admin/edit.php | 3.82 ▲0.46 | 50.35 ▲2.32 |
Add New Post /wp-admin/post-new.php | 6.30 ▲0.41 | 85.41 ▼4.64 |
Media Library /wp-admin/upload.php | 3.62 ▲0.40 | 37.43 ▲4.70 |
Import from Excel /wp-admin/admin.php?page=woo-product-importer | 3.59 | 33.59 |
Import from Excel /wp-admin/edit.php?post_type=product&page=woo-product-importer | 3.60 | 41.08 |
Server storage [IO: ▲5.03MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
No storage issues were detected
Filesystem: 408 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_recent-posts |
db_upgraded |
widget_theysaidso_widget |
can_compress_scripts |
theysaidso_admin_options |
widget_recent-comments |
Browser metrics Passed 4 tests
Checking browser requirements for WordPress Product Excel Import & Export for WooCommerce
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,902 ▲140 | 13.90 ▼0.47 | 1.68 ▲0.06 | 39.09 ▼1.51 |
Dashboard /wp-admin | 2,310 ▲133 | 5.60 ▼0.03 | 105.28 ▲3.87 | 93.37 ▲47.75 |
Posts /wp-admin/edit.php | 2,223 ▲120 | 2.99 ▲1.00 | 42.36 ▼1.04 | 34.55 ▼3.86 |
Add New Post /wp-admin/post-new.php | 1,636 ▲107 | 24.18 ▲1.10 | 712.09 ▲110.15 | 35.00 ▼17.49 |
Media Library /wp-admin/upload.php | 1,506 ▲106 | 5.22 ▲1.01 | 101.47 ▲4.42 | 67.10 ▲25.45 |
Import from Excel /wp-admin/admin.php?page=woo-product-importer | 1,584 | 9.69 | 305.38 | 75.35 |
Import from Excel /wp-admin/edit.php?post_type=product&page=woo-product-importer | 1,584 | 9.70 | 309.47 | 52.20 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
You still need to fix the following
- The uninstall procedure has failed, leaving 6 options in the database
- can_compress_scripts
- db_upgraded
- widget_recent-posts
- widget_recent-comments
- widget_theysaidso_widget
- theysaidso_admin_options
Smoke tests 50% 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)
Everything seems fine, however this is by no means an exhaustive test
SRP 0% 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
Please fix the following items
- 5× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/woo-product-excel-importer/Classes/markbaker/complex/examples/testFunctions.php
- > /wp-content/plugins/woo-product-excel-importer/Classes/markbaker/complex/examples/complexTest.php
- > /wp-content/plugins/woo-product-excel-importer/Classes/markbaker/complex/examples/testOperations.php
- > /wp-content/plugins/woo-product-excel-importer/Classes/markbaker/matrix/examples/test.php
- > /wp-content/plugins/woo-product-excel-importer/Classes/markbaker/matrix/buildPhar.php
- 98× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\WriterPart' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Drawing.php:12
- > PHP Fatal error
Uncaught Error: Class 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\WriterPart' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php:16
- > PHP Fatal error
Uncaught Error: Interface 'PhpOffice\\PhpSpreadsheet\\IComparable' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Conditional.php:7
- > PHP Fatal error
Uncaught Error: Class 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\WriterPart' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Styles.php:8
- > PHP Fatal error
Uncaught Error: Class 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\WriterPart' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php:13
- > PHP Fatal error
Uncaught Error: Class 'PhpOffice\\PhpSpreadsheet\\Style\\Supervisor' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Border.php:7
- > PHP Fatal error
Uncaught Error: Class 'PhpOffice\\PhpSpreadsheet\\Style\\Supervisor' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Font.php:7
- > PHP Fatal error
Uncaught Error: Class 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\WriterPart' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/ContentTypes.php:11
- > PHP Fatal error
Uncaught Error: Class 'PhpOffice\\PhpSpreadsheet\\Worksheet\\BaseDrawing' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/MemoryDrawing.php:5
- > PHP Fatal error
Uncaught Error: Class 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\BestFit' not found in wp-content/plugins/woo-product-excel-importer/Classes/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PolynomialBestFit.php:7
- > 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)
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
6 plugin tags: export products, product import, bulk import, product export, excel import...
woo-product-excel-importer/woo-product-excel-importer.php 92% from 13 tests
Analyzing the main PHP file in "WordPress Product Excel Import & Export for WooCommerce" version 5.1
Please take the time to fix the following:
- Requires at least: The required version number did not match the one declared in readme.txt ("3.0.1" instead of "2.2")
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
There were no executable files found in this plugin64,386 lines of code in 348 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 317 | 13,297 | 31,466 | 60,536 |
Markdown | 9 | 423 | 0 | 2,002 |
JSON | 6 | 0 | 0 | 684 |
CSS | 4 | 146 | 54 | 616 |
JavaScript | 7 | 107 | 42 | 419 |
YAML | 3 | 14 | 1 | 82 |
Bourne Again Shell | 1 | 6 | 3 | 24 |
XML | 1 | 0 | 0 | 23 |
PHP code 0% from 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
The following items need your attention
- Please reduce cyclomatic complexity of classes to less than 1000 (currently 1,011)
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 387)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.38 |
Average class complexity | 42.68 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 1,011.00 |
Average method complexity | 4.40 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 387.00 |
Code structure | ||
---|---|---|
Namespaces | 46 | |
Interfaces | 10 | |
Traits | 0 | |
Classes | 232 | |
▷ Abstract classes | 16 | 6.90% |
▷ Concrete classes | 216 | 93.10% |
▷ Final classes | 0 | 0.00% |
Methods | 2,997 | |
▷ Static methods | 690 | 23.02% |
▷ Public methods | 2,304 | 76.88% |
▷ Protected methods | 85 | 2.84% |
▷ Private methods | 608 | 20.29% |
Functions | 93 | |
▷ Named functions | 76 | 81.72% |
▷ Anonymous functions | 17 | 18.28% |
Constants | 780 | |
▷ Global constants | 3 | 0.38% |
▷ Class constants | 777 | 99.62% |
▷ Public constants | 777 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
5 PNG files occupy 0.09MB with 0.05MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/extendwp.png | 5.75KB | 3.37KB | ▼ 41.46% |
images/default.png | 14.13KB | 5.96KB | ▼ 57.80% |
images/woo_product_importer.png | 5.08KB | 4.91KB | ▼ 3.46% |
images/woo_product_importer_banner.png | 51.28KB | 19.17KB | ▼ 62.63% |
(invalid) images/woo_product_importer_premium.png | 19.14KB | 0.00KB | ▼ 100.00% |