Benchmarks
Plugin footprint 58% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
You still need to fix the following installer errors
- Install procedure had errors
- > Notice in wp-content/plugins/ach-for-stripe-plaid/public/class-wp-stripe-plaid-public.php+124
Trying to access array offset on value of type bool
Server metrics [RAM: ▲4.58MB] [CPU: ▼118.82ms] Passed 4 tests
A check of server-side resources used by LittleBot ACH for Stripe + Plaid
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 8.09 ▲5.25 | 57.78 ▲25.91 |
Dashboard /wp-admin | 8.11 ▲5.05 | 74.55 ▲30.87 |
Posts /wp-admin/edit.php | 8.11 ▲5.00 | 70.30 ▲27.22 |
Add New Post /wp-admin/post-new.php | 8.61 ▲3.17 | 114.13 ▼546.45 |
Media Library /wp-admin/upload.php | 8.11 ▲5.10 | 57.48 ▲18.05 |
Stripe + Plaid /wp-admin/options-general.php?page=stripe_plaid | 8.11 | 58.43 |
LittleBot ACH for Stripe + Plaid /wp-admin/admin.php?page=ach-for-stripe-plaid | 8.11 | 54.02 |
Freemius Debug [v.2.3.2] /wp-admin/admin.php?page=freemius | 8.11 | 56.50 |
Server storage [IO: ▲4.85MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
There were no storage issued detected upon installing this plugin
Filesystem: 451 new files
Database: no new tables, 7 new options
New WordPress options |
---|
stripe_plaid_settings_db |
fs_active_plugins |
fs_debug_mode |
stripe_plaid_settings |
fs_accounts |
stripe_plaid_log |
fs_gdpr |
Browser metrics Passed 4 tests
An overview of browser requirements for LittleBot ACH for Stripe + Plaid
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,955 ▲359 | 17.67 ▲2.39 | 9.56 ▼1.55 | 46.49 ▼6.01 |
Dashboard /wp-admin | 3,236 ▲302 | 8.07 ▲1.91 | 163.84 ▲24.68 | 120.79 ▲11.84 |
Posts /wp-admin/edit.php | 3,025 ▲286 | 4.43 ▲1.71 | 81.76 ▲20.51 | 101.52 ▲14.90 |
Add New Post /wp-admin/post-new.php | 1,713 ▲215 | 18.78 ▼0.02 | 352.42 ▼17.41 | 107.36 ▼2.21 |
Media Library /wp-admin/upload.php | 1,824 ▲14 | 4.88 ▼0.13 | 109.46 ▼38.07 | 125.58 ▲3.13 |
Stripe + Plaid /wp-admin/options-general.php?page=stripe_plaid | 1,537 | 4.16 | 85.51 | 91.46 |
LittleBot ACH for Stripe + Plaid /wp-admin/admin.php?page=ach-for-stripe-plaid | 1,603 | 3.81 | 74.11 | 122.36 |
Freemius Debug [v.2.3.2] /wp-admin/admin.php?page=freemius | 1,742 | 3.95 | 81.21 | 75.26 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
You still need to fix the following
- The uninstall procedure has failed, leaving 7 options in the database
- fs_gdpr
- fs_debug_mode
- stripe_plaid_settings_db
- stripe_plaid_settings
- stripe_plaid_log
- fs_active_plugins
- fs_accounts
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Everything seems fine, however this is by no means an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
The following issues need your attention
- 9× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/examples/oauth.php
- > /wp-content/plugins/ach-for-stripe-plaid/admin/partials/wp-stripe-plaid-admin-display.php
- > /wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/bootstrap.php
- > /wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/update_certs.php
- > /wp-content/plugins/ach-for-stripe-plaid/freemius/templates/ajax-loader.php
- > /wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/bootstrap.no_autoload.php
- > /wp-content/plugins/ach-for-stripe-plaid/public/partials/payment-form.php
- > /wp-content/plugins/ach-for-stripe-plaid/public/partials/wp-stripe-plaid-public-display.php
- > /wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/build.php
- 164× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/Stripe/HttpClient/CurlClientTest.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/SubscriptionItemTest.php:5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/Stripe/CouponTest.php:5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/PermissionsErrorTest.php:5
- > PHP Notice
Undefined variable: argv in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/build.php on line 5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/lib/ThreeDSecure.php:5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/TokenTest.php:5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/ProductTest.php:5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/Stripe/AlipayAccountTest.php:5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\TestCase' not found in wp-content/plugins/ach-for-stripe-plaid/vendor/stripe/stripe-php/tests/Stripe/CustomerTest.php:5
- > 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 Passed 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
8 plugin tags: stripe, e-commerce, ecommerce, ach, plaid...
ach-for-stripe-plaid/wp-stripe-plaid.php 77% from 13 tests
The entry point to "LittleBot ACH for Stripe + Plaid" version 1.2.8 is a PHP file that has certain tags in its header comment area
You should first fix the following items:
- Main file name: Name the main plugin file the same as the plugin slug ("ach-for-stripe-plaid.php" instead of "wp-stripe-plaid.php")
- Git Repository: Please remove the Git repository from this plugin
- Text Domain: You no longer need to specify the text domain since WordPress 4.6; it must be the same as the plugin slug
Code Analysis 3% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Almost there! Just fix the following issues
- Do not include executable or dangerous files in your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/ach-for-stripe-plaid/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 | 309 | 9,032 | 19,142 | 40,882 |
PO File | 13 | 7,515 | 9,135 | 16,441 |
Sass | 35 | 461 | 80 | 2,847 |
Markdown | 5 | 280 | 0 | 696 |
JavaScript | 6 | 75 | 133 | 386 |
JSON | 5 | 0 | 0 | 137 |
CSS | 13 | 5 | 4 | 89 |
YAML | 4 | 9 | 1 | 64 |
XML | 2 | 0 | 0 | 30 |
PHP code 50% from 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
These items need your attention
- Cyclomatic complexity of classes should be reduced to less than 1000 (currently 2,772)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.46 |
Average class complexity | 19.76 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 2,772.00 |
Average method complexity | 3.26 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 86.00 |
Code structure | ||
---|---|---|
Namespaces | 7 | |
Interfaces | 4 | |
Traits | 7 | |
Classes | 223 | |
▷ Abstract classes | 10 | 4.48% |
▷ Concrete classes | 213 | 95.52% |
▷ Final classes | 0 | 0.00% |
Methods | 1,975 | |
▷ Static methods | 294 | 14.89% |
▷ Public methods | 1,581 | 80.05% |
▷ Protected methods | 32 | 1.62% |
▷ Private methods | 362 | 18.33% |
Functions | 108 | |
▷ Named functions | 99 | 91.67% |
▷ Anonymous functions | 9 | 8.33% |
Constants | 290 | |
▷ Global constants | 102 | 35.17% |
▷ Class constants | 188 | 64.83% |
▷ Public constants | 188 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
5 PNG files occupy 0.03MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
freemius/assets/img/theme-icon.png | 10.97KB | 5.78KB | ▼ 47.37% |
freemius/assets/img/plugin-icon.png | 9.16KB | 5.26KB | ▼ 42.58% |
freemius/assets/img/ach-for-stripe-plaid.png | 9.16KB | 5.26KB | ▼ 42.58% |
vendor/stripe/stripe-php/tests/data/test.png | 0.09KB | 0.09KB | 0.00% |
vendor/stripe/stripe-php/data/test.png | 0.09KB | 0.09KB | 0.00% |