Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.59MB] [CPU: ▼6.38ms] Passed 4 tests
A check of server-side resources used by WPSponsorship
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.96 ▲0.50 | 31.40 ▼9.78 |
Dashboard /wp-admin | 3.93 ▲0.62 | 47.31 ▼4.64 |
Posts /wp-admin/edit.php | 3.96 ▲0.60 | 47.16 ▲3.97 |
Add New Post /wp-admin/post-new.php | 6.64 ▲0.75 | 75.25 ▼15.06 |
Media Library /wp-admin/upload.php | 3.87 ▲0.63 | 37.97 ▲3.98 |
Mail Format /wp-admin/admin.php?page=admin_page | 4.27 | 38.98 |
Extensions /wp-admin/admin.php?page=extensions_page | 3.72 | 34.47 |
Mail Settings /wp-admin/admin.php?page=port_settings | 4.24 | 34.32 |
Server storage [IO: ▲5.52MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 571 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_theysaidso_widget |
can_compress_scripts |
widget_recent-posts |
db_upgraded |
widget_recent-comments |
theysaidso_admin_options |
Browser metrics Passed 4 tests
This is an overview of browser requirements for WPSponsorship
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,973 ▲216 | 13.62 ▼0.82 | 6.48 ▲4.43 | 45.94 ▲0.24 |
Dashboard /wp-admin | 2,244 ▲59 | 5.88 ▲0.04 | 96.82 ▼10.74 | 39.02 ▼2.50 |
Posts /wp-admin/edit.php | 2,127 ▲38 | 2.02 ▼0.01 | 39.84 ▲4.55 | 34.82 ▲1.86 |
Add New Post /wp-admin/post-new.php | 1,552 ▲18 | 18.60 ▼4.64 | 620.98 ▼54.59 | 52.97 ▼1.37 |
Media Library /wp-admin/upload.php | 1,426 ▲38 | 4.22 ▲0.04 | 96.62 ▼2.13 | 41.54 ▼4.57 |
Mail Format /wp-admin/admin.php?page=admin_page | 2,118 | 7.49 | 172.40 | 73.39 |
Extensions /wp-admin/admin.php?page=extensions_page | 811 | 1.87 | 27.80 | 31.82 |
Mail Settings /wp-admin/admin.php?page=port_settings | 958 | 1.74 | 25.75 | 30.84 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
You still need to fix the following
- Zombie WordPress options detected upon uninstall: 6 options
- theysaidso_admin_options
- can_compress_scripts
- db_upgraded
- widget_recent-posts
- widget_theysaidso_widget
- widget_recent-comments
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting 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
Please fix the following
- 3× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/wp-sponsorship/public/partials/sponsorship-public-display.php
- > /wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php
- > /wp-content/plugins/wp-sponsorship/admin/partials/sponsorship-admin-display.php
- 281× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
require_once(): Failed opening required 'swift_required.php' (include_path='.:/usr/share/php') in wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/EncodingAcceptanceTest.php on line 3
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Events/CommandEventTest.php:3
- > PHP Fatal error
Uncaught Error: Class 'SwiftMailerTestCase' not found in wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Plugins/ReporterPluginTest.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/wp-sponsorship/includes/class-sponsorship-admin_page.php:57
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/unit/Swift/Mime/Headers/IdentificationHeaderTest.php:3
- > PHP Fatal error
Uncaught Error: Interface 'Swift_Transport_Esmtp_Authenticator' not found in wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php:16
- > PHP Fatal error
Uncaught Error: Class 'SwiftMailerSmokeTestCase' not found in wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/smoke/Swift/Smoke/HtmlWithAttachmentSmokeTest.php:6
- > PHP Fatal error
Uncaught Error: Interface 'Swift_InputByteStream' not found in wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php:16
- > PHP Fatal error
Uncaught Error: Interface 'Swift_Events_SendListener' not found in wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php:16
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/acceptance/Swift/Mime/ContentEncoder/NativeQpContentEncoderAcceptanceTest.php:3
- > 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 79% from 29 tests
readme.txt 75% 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 require attention:
- Donate link: Please fix this invalid URI: "#"
- Plugin Name: Please replace "Plugin Name" with the name of your plugin on the first line (
=== wp-sponsorship ===
) - Requires at least: Invalid version format
- Tags: Please delete some tags, you are using 43 tag instead of maximum 10
wp-sponsorship/sponsorship.php 85% from 13 tests
Analyzing the main PHP file in "WPSponsorship" version 1.0.1
Please take the time to fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("wp-sponsorship.php" instead of "sponsorship.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 5% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
Please fix the following items
- Even if your plugin relies on executable files (for example a companion app), never distribute executable files with your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.crt
- ☣ wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.crt
- ☣ wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.crt
- ☣ wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.crt
- ☣ wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.crt
- ☣ wp-content/plugins/wp-sponsorship/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.crt
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
XML | 3 | 2 | 0 | 47,776 |
PHP | 341 | 6,899 | 13,604 | 32,930 |
PO File | 96 | 8,954 | 11,877 | 20,532 |
CSS | 6 | 1,029 | 1,030 | 3,970 |
reStructuredText | 11 | 1,001 | 929 | 1,374 |
Sass | 11 | 168 | 23 | 1,116 |
JavaScript | 7 | 199 | 195 | 852 |
Markdown | 4 | 156 | 0 | 427 |
JSON | 5 | 0 | 0 | 253 |
YAML | 3 | 13 | 0 | 173 |
Bourne Shell | 2 | 29 | 7 | 96 |
PHP code Passed 2 tests
Analyzing logical lines of code, cyclomatic complexity, and other code metrics
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.17 |
Average class complexity | 7.08 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 107.00 |
Average method complexity | 1.79 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 37.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 48 | |
Traits | 0 | |
Classes | 273 | |
▷ Abstract classes | 10 | 3.66% |
▷ Concrete classes | 263 | 96.34% |
▷ Final classes | 0 | 0.00% |
Methods | 2,575 | |
▷ Static methods | 64 | 2.49% |
▷ Public methods | 2,169 | 84.23% |
▷ Protected methods | 184 | 7.15% |
▷ Private methods | 222 | 8.62% |
Functions | 165 | |
▷ Named functions | 38 | 23.03% |
▷ Anonymous functions | 127 | 76.97% |
Constants | 50 | |
▷ Global constants | 6 | 12.00% |
▷ Class constants | 44 | 88.00% |
▷ Public constants | 44 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
15 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 |
vendor/webdevstudios/cmb2/images/ui-bg_flat_75_ffffff_40x100.png | 0.17KB | 0.08KB | ▼ 51.12% |
vendor/webdevstudios/cmb2/images/ui-bg_glass_75_e6e6e6_1x400.png | 0.11KB | 0.14KB | 0.00% |
vendor/webdevstudios/cmb2/images/ui-bg_glass_65_ffffff_1x400.png | 0.10KB | 0.10KB | ▼ 5.71% |
vendor/swiftmailer/swiftmailer/tests/_samples/files/swiftmailer.png | 3.12KB | 2.17KB | ▼ 30.31% |
vendor/webdevstudios/cmb2/images/ui-icons_888888_256x240.png | 5.23KB | 4.11KB | ▼ 21.49% |