Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Install script ran successfully
Server metrics [RAM: ▲0.20MB] [CPU: ▼1.69ms] Passed 4 tests
A check of server-side resources used by Lunar Online Payments for WooCommerce
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.62 ▲0.16 | 42.45 ▲1.05 |
Dashboard /wp-admin | 3.57 ▲0.27 | 68.70 ▲17.16 |
Posts /wp-admin/edit.php | 3.61 ▲0.25 | 44.29 ▼2.89 |
Add New Post /wp-admin/post-new.php | 6.08 ▲0.19 | 93.12 ▼2.53 |
Media Library /wp-admin/upload.php | 3.42 ▲0.19 | 33.19 ▼2.37 |
Server storage [IO: ▲1.05MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
The plugin installed successfully
Filesystem: 122 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_theysaidso_widget |
can_compress_scripts |
db_upgraded |
widget_recent-posts |
widget_recent-comments |
theysaidso_admin_options |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Lunar Online Payments for WooCommerce
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,793 ▲31 | 14.28 ▼0.03 | 1.93 ▲0.19 | 45.57 ▼1.09 |
Dashboard /wp-admin | 2,198 ▲24 | 5.58 ▼0.02 | 87.49 ▼8.60 | 41.11 ▼3.39 |
Posts /wp-admin/edit.php | 2,103 ▲6 | 1.94 ▼0.02 | 36.13 ▼3.01 | 35.15 ▼0.00 |
Add New Post /wp-admin/post-new.php | 1,529 ▼10 | 23.57 ▲0.41 | 688.12 ▼73.70 | 64.84 ▲6.31 |
Media Library /wp-admin/upload.php | 1,400 ▼0 | 4.24 ▲0.06 | 100.06 ▼2.29 | 43.59 ▼4.48 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
These items require your attention
- Zombie WordPress options detected upon uninstall: 6 options
- can_compress_scripts
- widget_recent-comments
- widget_theysaidso_widget
- db_upgraded
- theysaidso_admin_options
- widget_recent-posts
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Good news, no errors were detected
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
The following issues need your attention
- 33× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Paylike\\Tests\\BaseTest' not found in wp-content/plugins/lunar-payments-for-woocommerce/vendor/paylike/php-api/tests/CurrenciesTest.php:8
- > PHP Fatal error
Uncaught Error: Class 'Paylike\\Exception\\ApiException' not found in wp-content/plugins/lunar-payments-for-woocommerce/vendor/paylike/php-api/src/Exception/InvalidRequest.php:10
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/lunar-payments-for-woocommerce/templates/receipt.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/lunar-payments-for-woocommerce/templates/receipt-mobilepay.php:2
- > PHP Fatal error
Uncaught Error: Interface 'Paylike\\HttpClient\\HttpClientInterface' not found in wp-content/plugins/lunar-payments-for-woocommerce/vendor/paylike/php-api/src/HttpClient/CurlClient.php:19
- > PHP Fatal error
Uncaught Error: Class 'Paylike\\Endpoint\\Endpoint' not found in wp-content/plugins/lunar-payments-for-woocommerce/vendor/paylike/php-api/src/Endpoint/Merchant/Lines.php:13
- > PHP Fatal error
Uncaught Error: Class 'Lunar\\Tests\\BaseTest' not found in wp-content/plugins/lunar-payments-for-woocommerce/vendor/lunar/payments-api-sdk/tests/PaymentsTest.php:8
- > PHP Fatal error
Uncaught Error: Class 'Paylike\\Endpoint\\Endpoint' not found in wp-content/plugins/lunar-payments-for-woocommerce/vendor/paylike/php-api/src/Endpoint/Merchants.php:13
- > PHP Fatal error
Uncaught Error: Class 'Lunar\\Exception\\ApiException' not found in wp-content/plugins/lunar-payments-for-woocommerce/vendor/lunar/payments-api-sdk/src/Exception/ApiConnection.php:10
- > PHP Fatal error
Uncaught Error: Class 'Paylike\\Endpoint\\Endpoint' not found in wp-content/plugins/lunar-payments-for-woocommerce/vendor/paylike/php-api/src/Endpoint/Merchant/Apps.php:13
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser errors were detected
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
5 plugin tags: lunar, multisite, gateway, woocommerce, credit card
lunar-payments-for-woocommerce/lunar-payments-for-woocommerce.php 85% from 13 tests
The primary PHP file in "Lunar Online Payments for WooCommerce" version 4.0.6 is used by WordPress to initiate all plugin functionality
The following require your attention:
- Description: Please don't use more than 140 characters for the plugin description (currently 149 characters long)
- Requires at least: The required version number must match the one declared in readme.txt ("4.4" instead of "3.0")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Success! There were no dangerous files found in this plugin10,677 lines of code in 98 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 78 | 1,466 | 2,487 | 8,660 |
PO File | 3 | 317 | 421 | 998 |
JavaScript | 3 | 92 | 50 | 596 |
Markdown | 3 | 71 | 0 | 224 |
JSON | 3 | 0 | 0 | 153 |
XML | 3 | 2 | 0 | 37 |
YAML | 1 | 1 | 0 | 5 |
SVG | 4 | 0 | 0 | 4 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.33 |
Average class complexity | 12.85 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 126.00 |
Average method complexity | 2.73 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 20.00 |
Code structure | ||
---|---|---|
Namespaces | 18 | |
Interfaces | 2 | |
Traits | 3 | |
Classes | 57 | |
▷ Abstract classes | 4 | 7.02% |
▷ Concrete classes | 53 | 92.98% |
▷ Final classes | 0 | 0.00% |
Methods | 421 | |
▷ Static methods | 30 | 7.13% |
▷ Public methods | 329 | 78.15% |
▷ Protected methods | 25 | 5.94% |
▷ Private methods | 67 | 15.91% |
Functions | 16 | |
▷ Named functions | 11 | 68.75% |
▷ Anonymous functions | 5 | 31.25% |
Constants | 14 | |
▷ Global constants | 9 | 64.29% |
▷ Class constants | 5 | 35.71% |
▷ Public constants | 5 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
10 PNG files occupy 0.56MB with 0.34MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/screenshot-4.png | 28.57KB | 9.38KB | ▼ 67.18% |
assets/images/paylike.png | 6.17KB | 3.30KB | ▼ 46.51% |
assets/screenshot-1.png | 83.02KB | 26.01KB | ▼ 68.67% |
assets/screenshot-3.png | 69.82KB | 21.37KB | ▼ 69.39% |
assets/icon-128x128.png | 6.29KB | 2.98KB | ▼ 52.56% |