Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Install script ran successfully
Server metrics [RAM: ▲4.66MB] [CPU: ▲45.14ms] Passed 4 tests
Analyzing server-side resources used by SportsPress - Sports Club & League Manager
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 7.29 ▲3.82 | 95.29 ▲14.58 |
Dashboard /wp-admin | 10.36 ▲7.05 | 109.42 ▲55.20 |
Posts /wp-admin/edit.php | 8.00 ▲4.64 | 100.13 ▲50.28 |
Add New Post /wp-admin/post-new.php | 11.54 ▲5.65 | 184.17 ▲92.31 |
Media Library /wp-admin/upload.php | 7.76 ▲4.53 | 96.23 ▲60.51 |
Overview /wp-admin/admin.php?page=sportspress-overview | 7.73 | 85.03 |
Seasons /wp-admin/edit-tags.php?taxonomy=sp_season | 7.76 | 84.19 |
League Tables /wp-admin/edit.php?post_type=sp_table | 7.87 | 90.26 |
Add New /wp-admin/post-new.php?post_type=sp_event | 8.46 | 119.14 |
Configure /wp-admin/admin.php?page=sportspress-config | 7.98 | 91.78 |
Positions /wp-admin/edit-tags.php?taxonomy=sp_position&post_type=sp_player | 7.76 | 86.83 |
Player Lists /wp-admin/edit.php?post_type=sp_list | 7.87 | 91.89 |
Players /wp-admin/edit.php?post_type=sp_player | 7.87 | 94.22 |
Calendars /wp-admin/edit.php?post_type=sp_calendar | 7.87 | 123.31 |
SportsPress /wp-admin/admin.php?page=sportspress | 8.51 | 92.06 |
Server storage [IO: ▲4.71MB] [DB: ▲0.15MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 664 new files
Database: no new tables, 197 new options
New WordPress options |
---|
sportspress_player_show_positions |
sportspress_text[Current Team] |
sportspress_event_show_player_numbers |
sportspress_team_page_template |
sportspress_event_blocks_show_matchday |
sportspress_link_venues |
sportspress_player_performance_sections |
sportspress_event_logos_show_results |
sportspress_table_increment |
widget_sportspress-team-gallery |
... |
Browser metrics Passed 4 tests
Checking browser requirements for SportsPress - Sports Club & League Manager
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,387 ▲598 | 14.45 ▲1.25 | 10.05 ▲1.06 | 82.15 ▲33.30 |
Dashboard /wp-admin | 2,634 ▲431 | 5.45 ▲0.62 | 108.83 ▼8.92 | 45.36 ▲2.13 |
Posts /wp-admin/edit.php | 2,294 ▲205 | 2.06 ▲0.07 | 38.16 ▲1.33 | 33.03 ▼1.99 |
Add New Post /wp-admin/post-new.php | 1,723 ▲209 | 23.26 ▲5.72 | 723.61 ▲114.74 | 40.43 ▼7.00 |
Media Library /wp-admin/upload.php | 1,593 ▲211 | 4.16 ▼0.05 | 104.31 ▲6.19 | 41.63 ▼2.78 |
Overview /wp-admin/admin.php?page=sportspress-overview | 1,099 | 2.19 | 25.35 | 48.70 |
Seasons /wp-admin/edit-tags.php?taxonomy=sp_season | 1,545 | 2.50 | 38.05 | 32.79 |
League Tables /wp-admin/edit.php?post_type=sp_table | 1,330 | 2.54 | 45.96 | 31.03 |
Add New /wp-admin/post-new.php?post_type=sp_event | 3,270 | 7.60 | 217.82 | 114.98 |
Configure /wp-admin/admin.php?page=sportspress-config | 1,537 | 2.45 | 36.88 | 33.60 |
Positions /wp-admin/edit-tags.php?taxonomy=sp_position&post_type=sp_player | 1,551 | 2.48 | 45.25 | 35.63 |
Player Lists /wp-admin/edit.php?post_type=sp_list | 1,343 | 2.67 | 39.80 | 29.38 |
Players /wp-admin/edit.php?post_type=sp_player | 1,359 | 2.55 | 42.27 | 30.39 |
Calendars /wp-admin/edit.php?post_type=sp_calendar | 1,354 | 2.67 | 43.25 | 28.14 |
SportsPress /wp-admin/admin.php?page=sportspress | 1,833 | 2.59 | 35.12 | 41.48 |
Uninstaller [IO: ✅] [DB: ▲0.13MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
Please fix the following items
- Zombie WordPress options detected upon uninstall: 16 options
- widget_sportspress-player-gallery
- widget_recent-comments
- widget_sportspress-countdown
- widget_sportspress-event-blocks
- widget_sportspress-event-calendar
- widget_sportspress-league-table
- db_upgraded
- widget_sportspress-team-gallery
- widget_sportspress-birthdays
- widget_theysaidso_widget
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though no errors were found, this is by no means an exhaustive test
SRP 50% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Please take a closer look at the following
- 33× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/sportspress/includes/widgets/class-sp-widget-event-blocks.php:2
- > PHP Fatal error
Uncaught Error: Class 'SP_Secondary_Post' not found in wp-content/plugins/sportspress/includes/class-sp-league-table.php:13
- > PHP Fatal error
Uncaught Error: Class 'SP_Custom_Post' not found in wp-content/plugins/sportspress/includes/class-sp-event.php:13
- > PHP Warning
Invalid argument supplied for foreach() in wp-content/plugins/sportspress/templates/event-logos-block.php on line 19
- > PHP Fatal error
Uncaught Error: Class 'SP_Custom_Post' not found in wp-content/plugins/sportspress/includes/class-sp-player.php:13
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/sportspress/includes/widgets/class-sp-widget-player-list.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/sportspress/templates/event-logos-block.php:45
- > PHP Warning
Invalid argument supplied for foreach() in wp-content/plugins/sportspress/templates/event-logos-inline.php on line 12
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/sportspress/includes/widgets/class-sp-widget-event-list.php:2
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/sportspress/includes/widgets/class-sp-widget-league-table.php:2
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
These are user-side errors you should fix
- > GET request to /wp-admin/post-new.php?post_type=sp_event
- > Javascript (severe) in unknown
/wp-admin/post-new.php?post_type=sp_event 2243:2 Uncaught TypeError: tinyMCE.addI18n(...) is not a function
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
Attributes that require attention:
- Tags: Please delete some tags, you are using 12 tag instead of maximum 10
sportspress/sportspress.php Passed 13 tests
The main PHP file in "SportsPress - Sports Club & League Manager" ver. 2.7.16 adds more information about the plugin and also serves as the entry point for this plugin
81 characters long description:
Manage your club and its players, staff, events, league tables, and player lists.
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
There were no executable files found in this plugin49,745 lines of code in 328 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 257 | 6,421 | 9,506 | 40,195 |
CSS | 19 | 641 | 217 | 4,880 |
JavaScript | 22 | 331 | 232 | 3,144 |
JSON | 26 | 0 | 0 | 1,346 |
SVG | 1 | 0 | 0 | 86 |
XML | 1 | 0 | 0 | 59 |
Markdown | 2 | 19 | 0 | 35 |
PHP code 50% from 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
Please tend to the following items
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 182)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 19.76 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 206.00 |
Average method complexity | 4.71 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 182.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 198 | |
▷ Abstract classes | 2 | 1.01% |
▷ Concrete classes | 196 | 98.99% |
▷ Final classes | 1 | 0.51% |
Methods | 1,000 | |
▷ Static methods | 232 | 23.20% |
▷ Public methods | 941 | 94.10% |
▷ Protected methods | 23 | 2.30% |
▷ Private methods | 36 | 3.60% |
Functions | 280 | |
▷ Named functions | 278 | 99.29% |
▷ Anonymous functions | 2 | 0.71% |
Constants | 96 | |
▷ Global constants | 93 | 96.88% |
▷ Class constants | 3 | 3.12% |
▷ Public constants | 3 | 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
259 PNG files occupy 0.27MB with 0.06MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/flags/ksa.png | 0.37KB | 0.33KB | ▼ 11.81% |
assets/images/flags/mya.png | 0.35KB | 0.25KB | ▼ 26.89% |
assets/images/flags/mac.png | 0.42KB | 0.27KB | ▼ 35.51% |
assets/images/welcome/sportspress-pro.png | 4.13KB | 3.51KB | ▼ 15.05% |
assets/images/flags/est.png | 0.14KB | 0.10KB | ▼ 28.06% |