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
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲2.54MB] [CPU: ▲18.19ms] Passed 4 tests
A check of server-side resources used by Paytium: Mollie payment forms & donations
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.96 ▲2.49 | 58.77 ▲17.49 |
Dashboard /wp-admin | 5.88 ▲2.53 | 66.76 ▲6.67 |
Posts /wp-admin/edit.php | 6.00 ▲2.64 | 70.44 ▲26.38 |
Add New Post /wp-admin/post-new.php | 8.48 ▲2.59 | 122.07 ▲24.78 |
Media Library /wp-admin/upload.php | 5.81 ▲2.57 | 58.45 ▲23.81 |
Extra features /wp-admin/admin.php?page=pt-extensions | 5.80 | 48.99 |
Setup wizard /wp-admin/admin.php?page=pt-setup-wizard | 5.84 | 62.57 |
Settings /wp-admin/admin.php?page=paytium | 5.79 | 48.24 |
Payments /wp-admin/edit.php?post_type=pt_payment | 5.85 | 55.74 |
Server storage [IO: ▲3.31MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 386 new files
Database: no new tables, 12 new options
New WordPress options |
---|
paytium_enable_remember |
can_compress_scripts |
paytium_always_enqueue |
theysaidso_admin_options |
widget_theysaidso_widget |
pt_show_admin_notice_extensions |
widget_recent-comments |
pt_show_admin_notice_newsletter |
paytium_uninstall_save_settings |
widget_recent-posts |
... |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Paytium: Mollie payment forms & donations
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,041 ▲269 | 13.94 ▼0.34 | 11.35 ▲9.37 | 40.03 ▼8.19 |
Dashboard /wp-admin | 2,291 ▲123 | 6.01 ▲0.46 | 95.36 ▼4.89 | 82.77 ▲36.81 |
Posts /wp-admin/edit.php | 2,214 ▲114 | 2.33 ▲0.36 | 40.92 ▲2.24 | 34.00 ▲0.55 |
Add New Post /wp-admin/post-new.php | 1,605 ▲79 | 23.44 ▲0.18 | 622.24 ▼40.29 | 36.33 ▼25.11 |
Media Library /wp-admin/upload.php | 1,499 ▲96 | 4.28 ▲0.05 | 95.01 ▼5.23 | 74.19 ▲30.75 |
Extra features /wp-admin/admin.php?page=pt-extensions | 1,524 | 2.28 | 45.83 | 41.87 |
Setup wizard /wp-admin/admin.php?page=pt-setup-wizard | 1,768 | 2.25 | 34.30 | 34.14 |
Settings /wp-admin/admin.php?page=paytium | 1,118 | 2.26 | 34.08 | 34.28 |
Payments /wp-admin/edit.php?post_type=pt_payment | 1,324 | 2.49 | 45.99 | 37.49 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
- This plugin did not uninstall successfully, leaving 9 options in the database
- widget_recent-posts
- paytium_enable_remember
- can_compress_scripts
- paytium_uninstall_save_settings
- widget_recent-comments
- db_upgraded
- paytium_always_enqueue
- theysaidso_admin_options
- widget_theysaidso_widget
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though everything seems fine, this is not an exhaustive test
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
Almost there! Just fix the following items
- 132× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface '_PhpScoperd8ff184be637\\Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/paytium/libraries/Mollie/vendor/guzzlehttp/psr7/src/CachingStream.php:10
- > PHP Fatal error
Uncaught Error: Class 'Mollie\\Api\\Resources\\CursorCollection' not found in wp-content/plugins/paytium/libraries/Mollie/src/Resources/OrderCollection.php:5
- > PHP Fatal error
Uncaught Error: Class 'Mollie\\Api\\Endpoints\\CollectionEndpointAbstract' not found in wp-content/plugins/paytium/libraries/Mollie/src/Endpoints/ShipmentEndpoint.php:8
- > PHP Fatal error
Uncaught Error: Class 'Mollie_API_Resource_Base' not found in wp-content/plugins/paytium/libraries/Mollie/API/Resource/Refunds.php:35
- > PHP Fatal error
Uncaught Error: Class 'Mollie\\Api\\Resources\\BaseResource' not found in wp-content/plugins/paytium/libraries/Mollie/src/Resources/Capture.php:5
- > PHP Fatal error
Uncaught Error: Class 'Mollie\\Api\\Endpoints\\CollectionEndpointAbstract' not found in wp-content/plugins/paytium/libraries/Mollie/src/Endpoints/PaymentEndpoint.php:10
- > PHP Fatal error
Uncaught Error: Class 'Mollie\\Api\\Endpoints\\CollectionEndpointAbstract' not found in wp-content/plugins/paytium/libraries/Mollie/src/Endpoints/CustomerPaymentsEndpoint.php:8
- > PHP Fatal error
Uncaught Error: Interface '_PhpScoperd8ff184be637\\GuzzleHttp\\Cookie\\CookieJarInterface' not found in wp-content/plugins/paytium/libraries/Mollie/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php:10
- > PHP Fatal error
Uncaught Error: Class 'Mollie\\Api\\Resources\\CursorCollection' not found in wp-content/plugins/paytium/libraries/Mollie/src/Resources/RefundCollection.php:5
- > PHP Fatal error
Uncaught Error: Interface '_PhpScoperd8ff184be637\\Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/paytium/libraries/Mollie/vendor/guzzlehttp/psr7/src/NoSeekStream.php:9
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Everything seems fine on the user side
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
Attributes that need to be fixed:
- Tags: You are using too many tags: 12 tag instead of maximum 10
paytium/paytium.php Passed 13 tests
The main PHP file in "Paytium: Mollie payment forms & donations" ver. 4.4.2 adds more information about the plugin and also serves as the entry point for this plugin
56 characters long description:
Paytium, making payments in WordPress even more awesome!
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
There were no executable files found in this plugin32,124 lines of code in 346 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 301 | 3,866 | 14,704 | 22,261 |
Markdown | 14 | 1,114 | 0 | 3,427 |
CSS | 10 | 285 | 203 | 3,144 |
JavaScript | 8 | 709 | 332 | 2,163 |
JSON | 10 | 0 | 0 | 1,082 |
SVG | 1 | 0 | 1 | 28 |
Dockerfile | 1 | 8 | 0 | 10 |
make | 1 | 4 | 0 | 9 |
PHP code 50% from 2 tests
An overview of cyclomatic complexity and code structure
It is recommended to fix the following
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 179)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.44 |
Average class complexity | 10.73 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 179.00 |
Average method complexity | 2.68 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 179.00 |
Code structure | ||
---|---|---|
Namespaces | 21 | |
Interfaces | 15 | |
Traits | 2 | |
Classes | 215 | |
▷ Abstract classes | 6 | 2.79% |
▷ Concrete classes | 209 | 97.21% |
▷ Final classes | 23 | 11.00% |
Methods | 1,353 | |
▷ Static methods | 187 | 13.82% |
▷ Public methods | 1,103 | 81.52% |
▷ Protected methods | 97 | 7.17% |
▷ Private methods | 153 | 11.31% |
Functions | 281 | |
▷ Named functions | 187 | 66.55% |
▷ Anonymous functions | 94 | 33.45% |
Constants | 341 | |
▷ Global constants | 48 | 14.08% |
▷ Class constants | 293 | 85.92% |
▷ Public constants | 293 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
16 compressed PNG files occupy 0.44MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/banner-772x250.png | 180.88KB | 93.08KB | ▼ 48.54% |
admin/img/setup-wizard/classic-editor.png | 38.37KB | 40.83KB | 0.00% |
admin/img/daviddeboer.png | 81.38KB | 88.13KB | 0.00% |
admin/img/setup-wizard/block-editor.png | 73.85KB | 81.09KB | 0.00% |
admin/img/setup-wizard/elementor-shortcode-widget.png | 40.20KB | 42.00KB | 0.00% |