Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Install script ran successfully
Server metrics [RAM: ▲0.94MB] [CPU: ▼5.92ms] Passed 4 tests
An overview of server-side resources used by Buy Me a Coffee - Button and Widget Plugin
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.38 ▲0.92 | 33.10 ▼6.77 |
Dashboard /wp-admin | 4.24 ▲0.94 | 52.40 ▲3.77 |
Posts /wp-admin/edit.php | 4.36 ▲1.00 | 47.33 ▲0.70 |
Add New Post /wp-admin/post-new.php | 6.84 ▲0.96 | 81.53 ▼21.36 |
Media Library /wp-admin/upload.php | 4.16 ▲0.94 | 40.92 ▲6.95 |
Server storage [IO: ▲2.05MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin was installed successfully
Filesystem: 56 new files
Database: 2 new tables, 8 new options
New tables |
---|
wp_bmc_widget_plugin |
wp_bmc_plugin |
New WordPress options |
---|
db_upgraded |
widget_recent-posts |
theysaidso_admin_options |
widget_recent-comments |
widget_theysaidso_widget |
BMC_Widget_disconnect |
bmc_plugin_activated |
can_compress_scripts |
Browser metrics Passed 4 tests
An overview of browser requirements for Buy Me a Coffee - Button and Widget Plugin
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,024 ▲278 | 13.72 ▼0.69 | 18.84 ▲17.40 | 44.59 ▲4.38 |
Dashboard /wp-admin | 2,234 ▲54 | 5.66 ▲0.10 | 85.26 ▼3.50 | 44.80 ▼1.00 |
Posts /wp-admin/edit.php | 2,139 ▲39 | 2.02 ▲0.00 | 34.79 ▼0.32 | 32.24 ▼4.69 |
Add New Post /wp-admin/post-new.php | 1,543 ▲17 | 23.20 ▼0.33 | 694.65 ▲6.36 | 65.35 ▲1.61 |
Media Library /wp-admin/upload.php | 1,439 ▲39 | 4.24 ▼0.00 | 103.21 ▲10.47 | 46.92 ▲6.33 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
- Zombie WordPress options detected upon uninstall: 8 options
- widget_recent-posts
- theysaidso_admin_options
- widget_recent-comments
- db_upgraded
- BMC_Widget_disconnect
- bmc_plugin_activated
- can_compress_scripts
- widget_theysaidso_widget
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
Even though everything seems fine, this is not an exhaustive test
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
- 1× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/buymeacoffee/public/partials/buy-me-a-coffee-public-display.php
- 1× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/buymeacoffee/admin/partials/buy-me-a-cofee-widget.php:19
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser errors were detected
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 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
5 plugin tags: crowdfunding, donate plugin, paypal donate, donation, buy me a coffee
buymeacoffee/buy-me-a-coffee.php 85% from 13 tests
The main file in "Buy Me a Coffee - Button and Widget Plugin" v. 4.0 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("buymeacoffee.php" instead of "buy-me-a-coffee.php")
- Text Domain: The text domain is optional since WordPress version 4.6; if you do specify it, it must be the same as the plugin slug
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
There were no executable files found in this plugin18,317 lines of code in 30 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 6 | 2,939 | 2,223 | 14,091 |
PHP | 13 | 393 | 611 | 1,865 |
CSS | 2 | 259 | 68 | 1,564 |
SVG | 9 | 0 | 1 | 797 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.30 |
Average class complexity | 11.89 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 42.00 |
Average method complexity | 3.23 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 41.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 9 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 9 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 44 | |
▷ Static methods | 2 | 4.55% |
▷ Public methods | 39 | 88.64% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 5 | 11.36% |
Functions | 3 | |
▷ Named functions | 3 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 5 | |
▷ Global constants | 5 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
1 compressed PNG file occupies 0.00MB
Potential savings
Compression of 1 random PNG file using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/img/bmc-logo-png.png | 2.46KB | 2.44KB | ▼ 0.83% |