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.00MB] [CPU: ▼2.62ms] Passed 4 tests
A check of server-side resources used by Pronamic Pay
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.46 ▲0.00 | 32.00 ▼8.61 |
Dashboard /wp-admin | 3.31 ▲0.00 | 51.44 ▲1.93 |
Posts /wp-admin/edit.php | 3.36 ▲0.00 | 48.17 ▲3.45 |
Add New Post /wp-admin/post-new.php | 5.89 ▲0.00 | 89.36 ▼2.39 |
Media Library /wp-admin/upload.php | 3.23 ▲0.00 | 31.39 ▼1.39 |
Server storage [IO: ▲20.85MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin installed successfully
Filesystem: 2,503 new files
Database: no new tables, 6 new options
New WordPress options |
---|
theysaidso_admin_options |
can_compress_scripts |
widget_theysaidso_widget |
widget_recent-posts |
db_upgraded |
widget_recent-comments |
Browser metrics Passed 4 tests
A check of browser resources used by Pronamic Pay
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,790 ▲3 | 14.36 ▲0.12 | 1.65 ▼0.40 | 37.75 ▼6.65 |
Dashboard /wp-admin | 2,195 ▲24 | 5.62 ▼0.00 | 91.96 ▼8.19 | 35.87 ▼7.72 |
Posts /wp-admin/edit.php | 2,100 ▼3 | 1.95 ▼0.07 | 39.98 ▼2.59 | 37.30 ▼0.71 |
Add New Post /wp-admin/post-new.php | 1,526 ▼3 | 23.58 ▲0.26 | 694.76 ▼4.97 | 61.71 ▼1.08 |
Media Library /wp-admin/upload.php | 1,400 ▼0 | 4.19 ▼0.13 | 97.75 ▼12.29 | 43.24 ▼1.78 |
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
- The uninstall procedure has failed, leaving 6 options in the database
- db_upgraded
- widget_recent-posts
- widget_recent-comments
- can_compress_scripts
- widget_theysaidso_widget
- theysaidso_admin_options
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Good news, no errors were detected
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
The following issues need your attention
- 5× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/pronamic-ideal/vendor/pronamic/icepay-soap-api/samples/sample_pbm_createlink.php
- > /wp-content/plugins/pronamic-ideal/vendor/pronamic/icepay-soap-api/samples/sample_filter.php
- > /wp-content/plugins/pronamic-ideal/vendor/pronamic/icepay-soap-api/samples/sample_ideal.php
- > /wp-content/plugins/pronamic-ideal/vendor/pronamic/icepay-soap-api/samples/sample_webservice_filteringpaymentmethods.php
- > /wp-content/plugins/pronamic-ideal/vendor/pronamic/icepay-soap-api/samples/sample_basicmode.php
- 527× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'SoapClient' not found in wp-content/plugins/pronamic-ideal/vendor/pronamic/icepay-soap-api/src/icepay_api_webservice.php:191
- > PHP Fatal error
Uncaught Error: Class 'ActionScheduler_Logger' not found in wp-content/plugins/pronamic-ideal/packages/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_wpCommentLogger.php:6
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/pronamic-ideal/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php:5
- > PHP Fatal error
Uncaught Error: Class 'Pronamic\\WordPress\\Pay\\Payments\\LegacyPaymentsDataStoreCPT' not found in wp-content/plugins/pronamic-ideal/packages/wp-pay/core/src/Payments/PaymentsDataStoreCPT.php:32
- > PHP Fatal error
Uncaught Error: Class 'Pronamic\\WordPress\\Pay\\Gateways\\Adyen\\ResponseObject' not found in wp-content/plugins/pronamic-ideal/packages/wp-pay-gateways/adyen/src/PaymentMethodsResponse.php:22
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/pronamic-ideal/packages/wp-pay-extensions/gravityforms/views/html-admin-feed-settings.php:17
- > PHP Fatal error
Uncaught Error: Class 'Pronamic\\WordPress\\Pay\\Upgrades\\Upgrade' not found in wp-content/plugins/pronamic-ideal/packages/wp-pay-extensions/woocommerce/src/Upgrade420.php:24
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/pronamic-ideal/packages/wp-pay-extensions/restrict-content-pro/pronamic-pay-rcp.php:30
- > PHP Fatal error
Uncaught Error: Class 'SoapClient' not found in wp-content/plugins/pronamic-ideal/vendor/pronamic/icepay-soap-api/src/icepay_api_webservice.php:191
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/pronamic-ideal/vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php:5
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
There were no browser issues found
Optimizations
Plugin configuration 93% 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
These attributes need your attention:
- Tags: Please delete some tags, you are using 18 tag instead of maximum 10
pronamic-ideal/pronamic-ideal.php 92% from 13 tests
The entry point to "Pronamic Pay" version 9.6.3 is a PHP file that has certain tags in its header comment area
It is important to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 148 characters long)
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
Good job! No executable or dangerous file extensions detected155,926 lines of code in 1,415 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 1,062 | 22,963 | 57,359 | 81,128 |
JSON | 133 | 31 | 0 | 27,754 |
PO File | 9 | 8,724 | 14,120 | 22,838 |
Markdown | 86 | 3,883 | 0 | 11,903 |
JavaScript | 34 | 2,397 | 2,307 | 8,210 |
XML | 7 | 25 | 1 | 2,073 |
CSS | 21 | 152 | 34 | 1,364 |
SVG | 54 | 0 | 1 | 291 |
HTML | 1 | 55 | 0 | 150 |
YAML | 4 | 34 | 0 | 129 |
Sass | 1 | 30 | 20 | 74 |
reStructuredText | 3 | 12 | 4 | 12 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.30 |
Average class complexity | 8.63 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 211.00 |
Average method complexity | 2.47 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 57.00 |
Code structure | ||
---|---|---|
Namespaces | 83 | |
Interfaces | 19 | |
Traits | 9 | |
Classes | 881 | |
▷ Abstract classes | 42 | 4.77% |
▷ Concrete classes | 839 | 95.23% |
▷ Final classes | 2 | 0.24% |
Methods | 4,662 | |
▷ Static methods | 627 | 13.45% |
▷ Public methods | 4,080 | 87.52% |
▷ Protected methods | 258 | 5.53% |
▷ Private methods | 324 | 6.95% |
Functions | 223 | |
▷ Named functions | 40 | 17.94% |
▷ Anonymous functions | 183 | 82.06% |
Constants | 707 | |
▷ Global constants | 40 | 5.66% |
▷ Class constants | 667 | 94.34% |
▷ Public constants | 667 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
993 compressed PNG files occupy 7.48MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/bancontact/icon-64x64@3x.png | 4.30KB | 3.42KB | ▼ 20.49% |
images/van-lanschot/icon-125x60.png | 1.58KB | 1.81KB | 0.00% |
packages/wp-pay/core/images/dist/cards/handelsbanken/card-handelsbanken-logo-_x80@3x.png | 6.69KB | 6.64KB | ▼ 0.77% |
images/direct-debit-sofort/icon-125x60@2x.png | 2.28KB | 2.23KB | ▼ 2.31% |
packages/wp-pay/core/images/dist/cards/ing/card-ing-logo-_x80@2x.png | 7.92KB | 7.87KB | ▼ 0.70% |