Benchmarks
Plugin footprint 83% 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: ▲0.10MB] [CPU: ▼8.37ms] Passed 4 tests
Server-side resources used by Football Predictor
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.53 ▲0.07 | 37.04 ▼8.39 |
Dashboard /wp-admin | 3.45 ▲0.15 | 45.85 ▼6.17 |
Posts /wp-admin/edit.php | 3.51 ▲0.15 | 48.51 ▼5.78 |
Add New Post /wp-admin/post-new.php | 5.99 ▲0.10 | 82.74 ▼13.12 |
Media Library /wp-admin/upload.php | 3.31 ▲0.09 | 32.89 ▲2.91 |
Overview /wp-admin/admin.php?page=fp_menu | 3.30 | 43.03 |
Predictions /wp-admin/admin.php?page=fp_predictions | 3.30 | 41.28 |
Teams and Matches /wp-admin/admin.php?page=fp_config | 3.28 | 42.88 |
Server storage [IO: ▲0.32MB] [DB: ▲0.01MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin was installed successfully
Filesystem: 79 new files
Database: 5 new tables, 19 new options
New tables |
---|
wp_fp_prediction |
wp_fp_stage |
wp_fp_team |
wp_fp_venue |
wp_fp_match |
New WordPress options |
---|
fp_group_stats |
fp_db_version |
fp_nag |
widget_recent-comments |
fp_show_predictions |
fp_adjust_knockout |
widget_recent-posts |
widget_football-predictorstandings |
theysaidso_admin_options |
can_compress_scripts |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Football Predictor
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,947 ▲212 | 13.85 ▼0.43 | 6.99 ▲5.18 | 39.98 ▼11.53 |
Dashboard /wp-admin | 2,243 ▲52 | 5.22 ▲0.15 | 99.19 ▼5.67 | 84.87 ▲44.69 |
Posts /wp-admin/edit.php | 2,132 ▲40 | 2.61 ▲0.60 | 50.43 ▲12.02 | 37.44 ▲2.93 |
Add New Post /wp-admin/post-new.php | 1,564 ▲30 | 23.68 ▲0.53 | 758.94 ▲78.77 | 36.25 ▼27.74 |
Media Library /wp-admin/upload.php | 1,418 ▲27 | 4.56 ▲0.40 | 99.89 ▲2.99 | 67.68 ▲25.20 |
Overview /wp-admin/admin.php?page=fp_menu | 1,200 | 2.37 | 46.69 | 30.81 |
Predictions /wp-admin/admin.php?page=fp_predictions | 1,425 | 2.21 | 38.13 | 71.49 |
Teams and Matches /wp-admin/admin.php?page=fp_config | 1,506 | 2.07 | 39.50 | 43.96 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
You still need to fix the following
- This plugin does not fully uninstall, leaving 14 options in the database
- fp_user_predictions
- fp_match_predictions
- theysaidso_admin_options
- db_upgraded
- can_compress_scripts
- widget_football-predictorstandings
- widget_theysaidso_widget
- widget_recent-posts
- widget_recent-comments
- widget_football-predictoruser
- ...
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 50% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following
- 10× GET requests to PHP files trigger server-side errors or Error 500 responses:
- > PHP Fatal error
Uncaught Error: Class 'FootballAdmin' not found in wp-content/plugins/football-predictor/admin/class-fp-results.php:9
- > PHP Fatal error
Uncaught Error: Class 'FootballAdmin' not found in wp-content/plugins/football-predictor/admin/class-fp-overview.php:9
- > PHP Fatal error
Uncaught Error: Class 'FootballAdmin' not found in wp-content/plugins/football-predictor/admin/class-fp-scoring.php:7
- > PHP Fatal error
Uncaught Error: Class 'FootballAdmin' not found in wp-content/plugins/football-predictor/admin/class-fp-venues.php:9
- > PHP Fatal error
Uncaught Error: Class 'FootballAdmin' not found in wp-content/plugins/football-predictor/admin/class-fp-matches.php:10
- > PHP Fatal error
Uncaught Error: Class 'FootballAdmin' not found in wp-content/plugins/football-predictor/admin/class-fp-predictions.php:9
- > PHP Fatal error
Uncaught Error: Class 'FootballAdmin' not found in wp-content/plugins/football-predictor/admin/class-fp-teams.php:9
- > PHP Fatal error
Uncaught Error: Class 'FootballAdmin' not found in wp-content/plugins/football-predictor/admin/class-fp-stages.php:9
- > PHP Fatal error
Uncaught Error: Class 'Football' not found in wp-content/plugins/football-predictor/admin/class-fp-admin.php:8
- > PHP Fatal error
Uncaught Error: Class 'FootballAdmin' not found in wp-content/plugins/football-predictor/admin/class-fp-menu.php:9
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine on the user side
Optimizations
Plugin configuration 97% 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: There are too many tags (15 tag instead of maximum 10)
football-predictor/football-predictor.php Passed 13 tests
The main PHP script in "Football Predictor" version 1.0.7 is automatically included on every request by WordPress
80 characters long description:
To manage and perform a marvel football competition for the FIFA World Cup 2018.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
Good job! No executable or dangerous file extensions detected4,770 lines of code in 25 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 18 | 835 | 693 | 4,033 |
CSS | 4 | 77 | 65 | 586 |
JavaScript | 3 | 30 | 48 | 151 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
This plugin has no cyclomatic complexity issues
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.28 |
Average class complexity | 26.74 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 160.00 |
Average method complexity | 4.62 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 33.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 19 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 19 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 135 | |
▷ Static methods | 1 | 0.74% |
▷ Public methods | 105 | 77.78% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 30 | 22.22% |
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
Using a strong compression for your PNG files is a great way to speed-up your plugin
51 PNG files occupy 0.06MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
css/images/ui-icons_2e83ff_256x240.png | 4.27KB | 4.11KB | ▼ 3.78% |
images/predictions.png | 3.45KB | 0.84KB | ▼ 75.74% |
images/hrv.png | 0.51KB | 0.63KB | 0.00% |
images/irn.png | 0.50KB | 0.68KB | 0.00% |
images/rus.png | 0.41KB | 0.64KB | 0.00% |