Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Install script ran successfully
Server metrics [RAM: ▲0.01MB] [CPU: ▼6.54ms] Passed 4 tests
This is a short check of server-side resources used by WooCommerce Google Sheet Connector
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.47 ▲0.01 | 38.52 ▼3.20 |
Dashboard /wp-admin | 3.31 ▲0.01 | 47.73 ▼1.40 |
Posts /wp-admin/edit.php | 3.36 ▲0.01 | 45.89 ▼5.10 |
Add New Post /wp-admin/post-new.php | 5.89 ▲0.01 | 80.75 ▼16.47 |
Media Library /wp-admin/upload.php | 3.24 ▲0.01 | 36.13 ▲1.48 |
Server storage [IO: ▲9.06MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
No storage issues were detected
Filesystem: 1,572 new files
Database: no new tables, 17 new options
New WordPress options |
---|
widget_recent-comments |
theysaidso_admin_options |
gs_woo_tab_roles_setting |
gs_woo_settings |
widget_theysaidso_widget |
gs_woo_verify |
gs_woo_token |
fs_accounts |
widget_recent-posts |
can_compress_scripts |
... |
Browser metrics Passed 4 tests
Checking browser requirements for WooCommerce Google Sheet Connector
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,815 ▲28 | 14.28 ▼0.44 | 1.88 ▼0.23 | 44.10 ▼0.35 |
Dashboard /wp-admin | 2,195 ▲21 | 5.61 ▲0.03 | 96.14 ▼6.04 | 44.22 ▼4.16 |
Posts /wp-admin/edit.php | 2,100 ▼3 | 2.01 ▲0.04 | 38.80 ▼10.18 | 35.07 ▼2.40 |
Add New Post /wp-admin/post-new.php | 1,526 ▼0 | 23.33 ▼0.02 | 681.86 ▲76.36 | 66.71 ▲8.38 |
Media Library /wp-admin/upload.php | 1,397 ▼0 | 4.15 ▼0.09 | 96.78 ▼2.52 | 41.58 ▲0.82 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
It is recommended to fix the following
- Zombie WordPress options detected upon uninstall: 17 options
- gs_woo_sheetId
- theysaidso_admin_options
- fs_debug_mode
- widget_recent-comments
- gs_woo_settings
- gs_woo_tab_roles_setting
- widget_theysaidso_widget
- gs_woo_feeds
- fs_accounts
- widget_recent-posts
- ...
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)
The smoke test was a success, however most plugin functionality was not tested
SRP 50% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Almost there! Just fix the following items
- 969× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/wc-gsheetconnector/lib/vendor/guzzlehttp/psr7/src/LimitStream.php:12
- > PHP Fatal error
Uncaught Error: Class 'Google\\Model' not found in wp-content/plugins/wc-gsheetconnector/lib/vendor/google/apiclient-services/src/Sheets/CopyPasteRequest.php:20
- > PHP Warning
Class 'Google\\Http\\MediaFileUpload' not found in wp-content/plugins/wc-gsheetconnector/lib/src/aliases.php on line 33
- > PHP Fatal error
Uncaught Error: Class 'Google\\Service\\Resource' not found in wp-content/plugins/wc-gsheetconnector/lib/vendor/google/apiclient-services/src/Sheets/Resource/SpreadsheetsSheets.php:31
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Cache\\CacheException' not found in wp-content/plugins/wc-gsheetconnector/lib/vendor/psr/cache/src/InvalidArgumentException.php:11
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/wc-gsheetconnector/lib/vendor/guzzlehttp/psr7/src/AppendStream.php:14
- > PHP Fatal error
Uncaught Error: Class 'phpseclib3\\Crypt\\DH' not found in wp-content/plugins/wc-gsheetconnector/lib/vendor/phpseclib/phpseclib/phpseclib/Crypt/DH/PrivateKey.php:26
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/wc-gsheetconnector/lib/vendor/guzzlehttp/psr7/src/CachingStream.php:13
- > PHP Fatal error
Uncaught Error: Class 'Monolog\\Handler\\AbstractHandler' not found in wp-content/plugins/wc-gsheetconnector/lib/vendor/monolog/monolog/src/Monolog/Handler/OverflowHandler.php:37
- > PHP Warning
Class 'Google\\Service' not found in wp-content/plugins/wc-gsheetconnector/lib/src/aliases.php on line 33
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser issues were found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 88% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Please fix the following attributes:
- Tags: You are using too many tags: 27 tag instead of maximum 10
- Screenshots: Add images for these screenshots: #7 (Google Sheet Tab Creation as per order status.), #8 (Google Sheet headers with form submitted data.)
wc-gsheetconnector/wc-gsheetconnector.php 92% from 13 tests
The main PHP script in "WooCommerce Google Sheet Connector" version 1.3.10 is automatically included on every request by WordPress
The following require your attention:
- Requires at least: Required version must be the same as the one declared in readme.txt ("5.3" instead of "3.2.0")
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
Everything looks great! No dangerous files found in this plugin137,733 lines of code in 1,488 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 1,409 | 22,767 | 85,180 | 127,047 |
Markdown | 32 | 1,801 | 0 | 5,277 |
CSS | 14 | 494 | 137 | 2,657 |
JSON | 20 | 0 | 0 | 2,092 |
JavaScript | 4 | 65 | 88 | 380 |
YAML | 4 | 5 | 2 | 127 |
PO File | 1 | 31 | 32 | 107 |
XML | 2 | 0 | 0 | 34 |
make | 1 | 4 | 0 | 9 |
Bourne Shell | 1 | 2 | 0 | 3 |
PHP code 0% from 2 tests
A short review of cyclomatic complexity and code structure
These items need your attention
- Cyclomatic complexity of classes has to be reduced to less than 1000 (currently 3,073)
- Method cyclomatic complexity should be reduced to less than 100 (currently 105)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.35 |
Average class complexity | 10.73 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 3,073.00 |
Average method complexity | 2.29 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 105.00 |
Code structure | ||
---|---|---|
Namespaces | 85 | |
Interfaces | 50 | |
Traits | 14 | |
Classes | 1,266 | |
▷ Abstract classes | 217 | 17.14% |
▷ Concrete classes | 1,049 | 82.86% |
▷ Final classes | 53 | 5.05% |
Methods | 9,832 | |
▷ Static methods | 875 | 8.90% |
▷ Public methods | 8,565 | 87.11% |
▷ Protected methods | 408 | 4.15% |
▷ Private methods | 859 | 8.74% |
Functions | 298 | |
▷ Named functions | 156 | 52.35% |
▷ Anonymous functions | 142 | 47.65% |
Constants | 729 | |
▷ Global constants | 116 | 15.91% |
▷ Class constants | 613 | 84.09% |
▷ Public constants | 573 | 93.47% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
7 PNG files occupy 0.20MB with 0.10MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/help.png | 1.51KB | 1.35KB | ▼ 10.25% |
freemius/assets/img/plugin-icon.png | 9.16KB | 5.26KB | ▼ 42.58% |
freemius/assets/img/wc-gsheetconnector.png | 18.82KB | 8.26KB | ▼ 56.11% |
assets/img/permission_screen.png | 29.71KB | 9.43KB | ▼ 68.24% |
assets/img/comingsoon.png | 127.56KB | 42.99KB | ▼ 66.30% |