Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲5.47MB] [CPU: ▲25.42ms] 75% from 4 tests
Analyzing server-side resources used by SonaWP - Stripe Payment Block - PayPal Payment Block - Donations Block - Sell Digital Work
The following require your attention
- Extra RAM: The extra memory usage should kept under 5MB (currently 5.47MB on /wp-admin/admin.php?page=freemius)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 9.23 ▲5.76 | 64.05 ▲20.23 |
Dashboard /wp-admin | 9.25 ▲5.94 | 80.10 ▲32.19 |
Posts /wp-admin/edit.php | 9.25 ▲5.89 | 82.00 ▲30.58 |
Add New Post /wp-admin/post-new.php | 10.19 ▲4.30 | 112.64 ▲18.66 |
Media Library /wp-admin/upload.php | 9.25 ▲6.01 | 69.97 ▲32.44 |
Freemius Debug [v.2.5.10] /wp-admin/admin.php?page=freemius | 9.25 | 63.35 |
Server storage [IO: ▲4.53MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin installed successfully
Filesystem: 523 new files
Database: no new tables, 13 new options
New WordPress options |
---|
fs_accounts |
theysaidso_admin_options |
widget_recent-posts |
fs_active_plugins |
fs_debug_mode |
sonawp_payment_confirmation |
sonawp_paypal_settings |
sonawp_stripe_settings |
sona |
can_compress_scripts |
... |
Browser metrics Passed 4 tests
Checking browser requirements for SonaWP - Stripe Payment Block - PayPal Payment Block - Donations Block - Sell Digital Work
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,015 ▲253 | 14.17 ▼0.46 | 11.86 ▲10.22 | 27.37 ▼15.37 |
Dashboard /wp-admin | 2,287 ▲109 | 5.47 ▼0.24 | 102.63 ▼7.53 | 45.74 ▼1.04 |
Posts /wp-admin/edit.php | 2,197 ▲97 | 2.39 ▲0.37 | 44.75 ▼1.38 | 41.64 ▲4.88 |
Add New Post /wp-admin/post-new.php | 6,245 ▲4,719 | 19.44 ▼3.61 | 824.11 ▲169.84 | 35.50 ▼25.80 |
Media Library /wp-admin/upload.php | 1,492 ▲92 | 4.75 ▲0.63 | 98.96 ▼21.77 | 46.13 ▼3.82 |
Freemius Debug [v.2.5.10] /wp-admin/admin.php?page=freemius | 1,126 | 2.22 | 29.93 | 28.06 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
These items require your attention
- The plugin did not uninstall gracefully
- > Notice in wp-content/plugins/sonawp-simple-payment-block/freemius/includes/class-freemius.php+8486
Undefined property: stdClass::$plugins
- Zombie WordPress options detected upon uninstall: 13 options
- theysaidso_admin_options
- sona
- sonawp_stripe_settings
- widget_recent-comments
- widget_theysaidso_widget
- fs_active_plugins
- sonawp_payment_confirmation
- db_upgraded
- fs_debug_mode
- widget_recent-posts
- ...
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Even though everything seems fine, this is not 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 fix the following items
- 261× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/BillingPortal/Session.php:35
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/SingletonApiResource.php:8
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/PromotionCode.php:25
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/Service/OAuthService.php:5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Exception\\ApiErrorException' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/Exception/AuthenticationException.php:9
- > PHP Fatal error
Uncaught Error: Interface 'Stripe\\Exception\\ExceptionInterface' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php:8
- > PHP Fatal error
Uncaught Error: Interface 'Stripe\\BaseStripeClientInterface' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/StripeClientInterface.php:8
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/Service/TestHelpers/Treasury/OutboundPaymentService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/InvoiceLineItem.php:33
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/lib/TestHelpers/TestClock.php:21
- > 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
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that require attention:
- Screenshots: These screenshots need descriptions #2, #3, #4 in sonawp-simple-payment-block/assets to your readme.txt
sonawp-simple-payment-block/sonawp.php 85% from 13 tests
"SonaWP - Stripe Payment Block - PayPal Payment Block - Donations Block - Sell Digital Work" version 1.2.4's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
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 ("sonawp-simple-payment-block.php" instead of "sonawp.php")
- 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 3% from 3 tests
File types 0% from 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
Please fix the following items
- Do not distribute dangerous files with your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/sonawp-simple-payment-block/includes/vendor/stripe/stripe-php/data/ca-certificates.crt
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 425 | 10,943 | 29,641 | 45,259 |
Markdown | 3 | 876 | 0 | 1,840 |
JavaScript | 9 | 87 | 86 | 482 |
CSS | 17 | 71 | 1 | 385 |
PO File | 3 | 90 | 126 | 249 |
JSON | 10 | 0 | 0 | 158 |
PHP code 50% from 2 tests
Analyzing logical lines of code, cyclomatic complexity, and other code metrics
These items need your attention
- Class cyclomatic complexity should be reduced to less than 1000 (currently 3,073)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.48 |
Average class complexity | 15.70 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 3,073.00 |
Average method complexity | 3.32 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 94.00 |
Code structure | ||
---|---|---|
Namespaces | 38 | |
Interfaces | 9 | |
Traits | 9 | |
Classes | 324 | |
▷ Abstract classes | 12 | 3.70% |
▷ Concrete classes | 312 | 96.30% |
▷ Final classes | 0 | 0.00% |
Methods | 2,196 | |
▷ Static methods | 397 | 18.08% |
▷ Public methods | 1,721 | 78.37% |
▷ Protected methods | 58 | 2.64% |
▷ Private methods | 417 | 18.99% |
Functions | 141 | |
▷ Named functions | 121 | 85.82% |
▷ Anonymous functions | 20 | 14.18% |
Constants | 1,584 | |
▷ Global constants | 103 | 6.50% |
▷ Class constants | 1,481 | 93.50% |
▷ Public constants | 1,481 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
3 PNG files occupy 0.03MB with 0.01MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
freemius/assets/img/plugin-icon.png | 9.16KB | 5.26KB | ▼ 42.58% |
freemius/assets/img/sonawp-simple-payment-block.png | 5.85KB | 2.13KB | ▼ 63.69% |
freemius/assets/img/theme-icon.png | 10.97KB | 5.78KB | ▼ 47.37% |