Benchmarks
Plugin footprint 64% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Installer ran successfully
Server metrics [RAM: ▲5.59MB] [CPU: ▲62.67ms] 25% from 4 tests
This is a short check of server-side resources used by Knit Pay - Instamojo, Razorpay, Cashfree, Stripe, Easebuzz, UPI QR, CCAvenue, GoUrl
The following require your attention
- RAM: You should keep total memory usage under 10MB (currently 10.13MB on /wp-admin/admin.php?page=pronamic_ideal)
- CPU: The total CPU usage must kept under 500.00ms (currently 4,528.58ms on /wp-admin/admin.php?page=pronamic_ideal)
- Extra RAM: Try to keep extra memory usage under 5MB (currently 5.59MB on /wp-admin/admin.php?page=pronamic_ideal)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 8.49 ▲5.03 | 89.91 ▲53.58 |
Dashboard /wp-admin | 9.07 ▲5.77 | 110.31 ▲59.98 |
Posts /wp-admin/edit.php | 9.13 ▲5.77 | 119.25 ▲70.18 |
Add New Post /wp-admin/post-new.php | 11.76 ▲5.87 | 168.29 ▲74.80 |
Media Library /wp-admin/upload.php | 9.01 ▲5.78 | 103.18 ▲66.92 |
Settings /wp-admin/admin.php?page=pronamic_pay_settings | 8.94 | 97.75 |
Configurations /wp-admin/edit.php?post_type=pronamic_gateway | 9.06 | 88.89 |
Scheduled Actions /wp-admin/tools.php?page=action-scheduler | 9.21 | 109.29 |
Dashboard /wp-admin/admin.php?page=pronamic_ideal | 10.13 | 4,528.58 |
Server storage [IO: ▲19.19MB] [DB: ▲0.04MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin installed successfully
Filesystem: 3,099 new files
Database: 4 new tables, 12 new options
New tables |
---|
wp_actionscheduler_claims |
wp_actionscheduler_groups |
wp_actionscheduler_logs |
wp_actionscheduler_actions |
New WordPress options |
---|
pronamic_pay_home_url |
action_scheduler_hybrid_store_demarkation |
widget_theysaidso_widget |
widget_recent-posts |
knit_pay_version |
schema-ActionScheduler_StoreSchema |
widget_recent-comments |
theysaidso_admin_options |
pronamic_pay_active_payment_methods |
schema-ActionScheduler_LoggerSchema |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Knit Pay - Instamojo, Razorpay, Cashfree, Stripe, Easebuzz, UPI QR, CCAvenue, GoUrl
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,061 ▲314 | 14.72 ▲0.37 | 1.70 ▲0.05 | 34.82 ▼9.01 |
Dashboard /wp-admin | 2,436 ▲255 | 5.88 ▲0.16 | 107.70 ▼13.82 | 48.18 ▲0.92 |
Posts /wp-admin/edit.php | 2,248 ▲148 | 2.51 ▲0.50 | 51.11 ▲10.70 | 37.71 ▼8.75 |
Add New Post /wp-admin/post-new.php | 1,753 ▲226 | 21.75 ▼1.40 | 722.51 ▲30.47 | 39.91 ▼3.77 |
Media Library /wp-admin/upload.php | 1,542 ▲142 | 4.36 ▲0.17 | 102.47 ▼7.48 | 42.15 ▼5.32 |
Settings /wp-admin/admin.php?page=pronamic_pay_settings | 1,160 | 2.36 | 41.90 | 30.64 |
Configurations /wp-admin/edit.php?post_type=pronamic_gateway | 1,247 | 2.47 | 47.11 | 33.48 |
Scheduled Actions /wp-admin/tools.php?page=action-scheduler | 1,498 | 2.00 | 39.41 | 35.89 |
Dashboard /wp-admin/admin.php?page=pronamic_ideal | 1,109 | 2.38 | 37.09 | 37.40 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.04MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
It is recommended to fix the following
- Zombie tables detected upon uninstall: 4 tables
- wp_actionscheduler_logs
- wp_actionscheduler_groups
- wp_actionscheduler_actions
- wp_actionscheduler_claims
- Zombie WordPress options detected upon uninstall: 13 options
- schema-ActionScheduler_LoggerSchema
- action_scheduler_hybrid_store_demarkation
- action_scheduler_migration_status
- widget_theysaidso_widget
- widget_recent-comments
- schema-ActionScheduler_StoreSchema
- knit_pay_version
- pronamic_pay_home_url
- widget_recent-posts
- db_upgraded
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
The smoke test was a success, however most plugin functionality was not tested
SRP 0% 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
Please fix the following items
- 7× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/knit-pay/vendor/stripe/stripe-php/update_certs.php
- > /wp-content/plugins/knit-pay/vendor/stripe/stripe-php/build.php
- > /wp-content/plugins/knit-pay/extensions/team-booking/src/Gateway.php
- > /wp-content/plugins/knit-pay/gateways/razorpay/src/views/checkout.php
- > /wp-content/plugins/knit-pay/extensions/vik-wp/src/AbstractKnitPayPayment.php
- > /wp-content/plugins/knit-pay/extensions/latepoint/src/index.php
- > /wp-content/plugins/knit-pay/gateways/instamojo/src/views/checkout.php
- 1225× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Pronamic\\WordPress\\Pay\\Core\\Gateway' not found in wp-content/plugins/knit-pay/gateways/flutterwave/src/Gateway.php:17
- > PHP Fatal error
Uncaught Error: Class 'Pronamic\\WordPress\\Pay\\Extensions\\MemberPress\\Gateways\\Gateway' not found in wp-content/plugins/knit-pay/vendor/wp-pay-extensions/memberpress/src/Gateways/KlarnaPayLaterGateway.php:18
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/knit-pay/vendor/stripe/stripe-php/lib/TestHelpers/TestClock.php:24
- > PHP Fatal error
Uncaught Error: Class 'Pronamic\\WordPress\\Pay\\Extensions\\Charitable\\Gateway' not found in wp-content/plugins/knit-pay/vendor/wp-pay-extensions/charitable/src/CreditCardGateway.php:26
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Exception\\OAuth\\OAuthErrorException' not found in wp-content/plugins/knit-pay/vendor/stripe/stripe-php/lib/Exception/OAuth/UnsupportedResponseTypeException.php:9
- > PHP Fatal error
Uncaught Error: Class 'Iyzipay\\Request' not found in wp-content/plugins/knit-pay/vendor/iyzico/iyzipay-php/src/Iyzipay/Request/CreateApmInitializeRequest.php:9
- > PHP Fatal error
Uncaught Error: Class 'Razorpay\\Api\\Entity' not found in wp-content/plugins/knit-pay/vendor/razorpay/razorpay/src/Refund.php:5
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/knit-pay/vendor/stripe/stripe-php/lib/BitcoinTransaction.php:16
- > PHP Fatal error
Uncaught Error: Class 'Iyzipay\\Model\\Mapper\\Subscription\\SubscriptionCreateCheckoutFormResourceMapper' not found in wp-content/plugins/knit-pay/vendor/iyzico/iyzipay-php/src/Iyzipay/Model/Mapper/Subscription/SubscriptionCreateCheckoutFormMapper.php:7
- > PHP Fatal error
Uncaught Error: Class 'Iyzipay\\Model\\Mapper\\IyzipayResourceMapper' not found in wp-content/plugins/knit-pay/vendor/iyzico/iyzipay-php/src/Iyzipay/Model/Mapper/ApmResourceMapper.php:7
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
Attributes that require attention:
- Tags: You are using too many tags: 15 tag instead of maximum 10
knit-pay/knit-pay.php 85% from 13 tests
The primary PHP file in "Knit Pay - Instamojo, Razorpay, Cashfree, Stripe, Easebuzz, UPI QR, CCAvenue, GoUrl" version 8.85.3.0 is used by WordPress to initiate all plugin functionality
It is important to fix the following:
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
- Domain Path: The domain path points to an invalid folder, "/languages/" does not exist
Code Analysis 5% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Please make sure to remedy the following
- Do not distribute dangerous files with your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/knit-pay/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 | 1,914 | 34,200 | 77,561 | 131,827 |
JavaScript | 41 | 2,432 | 2,334 | 8,433 |
JSON | 41 | 0 | 0 | 5,087 |
Markdown | 10 | 1,036 | 0 | 2,080 |
XML | 5 | 0 | 6 | 2,037 |
CSS | 20 | 171 | 42 | 1,301 |
SVG | 76 | 0 | 11 | 710 |
HTML | 1 | 55 | 0 | 150 |
PO File | 3 | 29 | 35 | 114 |
YAML | 3 | 6 | 10 | 54 |
Sass | 1 | 5 | 0 | 46 |
make | 1 | 10 | 0 | 29 |
reStructuredText | 3 | 12 | 4 | 12 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.31 |
Average class complexity | 7.72 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 245.00 |
Average method complexity | 2.16 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 90.00 |
Code structure | ||
---|---|---|
Namespaces | 246 | |
Interfaces | 94 | |
Traits | 28 | |
Classes | 1,632 | |
▷ Abstract classes | 48 | 2.94% |
▷ Concrete classes | 1,584 | 97.06% |
▷ Final classes | 170 | 10.73% |
Methods | 10,002 | |
▷ Static methods | 1,595 | 15.95% |
▷ Public methods | 8,945 | 89.43% |
▷ Protected methods | 380 | 3.80% |
▷ Private methods | 677 | 6.77% |
Functions | 516 | |
▷ Named functions | 241 | 46.71% |
▷ Anonymous functions | 275 | 53.29% |
Constants | 1,708 | |
▷ Global constants | 27 | 1.58% |
▷ Class constants | 1,681 | 98.42% |
▷ Public constants | 1,647 | 97.98% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
886 compressed PNG files occupy 6.72MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
vendor/wp-pay/core/images/dist/cards/knab/card-knab-logo-_x80@2x.png | 4.02KB | 3.97KB | ▼ 1.38% |
images/credit-card/icon-125x60@4x.png | 21.19KB | 20.04KB | ▼ 5.40% |
images/mollie/mollie-logo-style-x-small.png | 1.92KB | 1.81KB | ▼ 5.56% |
images/abn-amro/icon-64x64@4x.png | 3.78KB | 2.46KB | ▼ 34.92% |
vendor/wp-pay/core/images/dist/cards/handelsbanken/card-handelsbanken-logo-_x80@2x.png | 4.69KB | 4.64KB | ▼ 1.19% |