Benchmarks
Plugin footprint 65% 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.12MB] [CPU: ▼0.85ms] Passed 4 tests
An overview of server-side resources used by Burst Statistics - Privacy-Friendly Analytics for WordPress
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.63 ▲0.17 | 42.31 ▲4.32 |
Dashboard /wp-admin | 3.46 ▲0.12 | 53.67 ▼6.95 |
Posts /wp-admin/edit.php | 3.51 ▲0.16 | 49.31 ▲1.80 |
Add New Post /wp-admin/post-new.php | 6.00 ▲0.11 | 99.39 ▼2.58 |
Media Library /wp-admin/upload.php | 3.32 ▲0.09 | 40.64 ▲8.51 |
Statistics1 /wp-admin/index.php?page=burst | 3.31 | 45.79 |
Server storage [IO: ▲2.64MB] [DB: ▲0.01MB] 67% from 3 tests
How much does this plugin use your filesystem and database?
Please fix the following
- The plugin illegally modified 1 file (0.36KB) outside of "wp-content/plugins/burst-statistics/" and "wp-content/uploads/"
- (new file) burst-statistics-endpoint.php
Filesystem: 312 new files
Database: 4 new tables, 12 new options
New tables |
---|
wp_burst_statistics |
wp_burst_sessions |
wp_burst_goals |
wp_burst_goal_statistics |
New WordPress options |
---|
db_upgraded |
burst_options_settings |
burst_tracking_status |
widget_recent-posts |
widget_recent-comments |
can_compress_scripts |
burst_sessions_db_version |
theysaidso_admin_options |
burst_stats_db_version |
burst_goals_db_version |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Burst Statistics - Privacy-Friendly Analytics for WordPress
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,146 ▲399 | 14.14 ▲0.28 | 2.54 ▲0.77 | 43.17 ▲0.09 |
Dashboard /wp-admin | 2,540 ▲366 | 6.05 ▲0.43 | 113.27 ▲21.93 | 46.45 ▼0.78 |
Posts /wp-admin/edit.php | 2,139 ▲39 | 1.96 ▲0.03 | 37.03 ▼2.79 | 35.19 ▼2.06 |
Add New Post /wp-admin/post-new.php | 1,534 ▲8 | 23.56 ▲0.03 | 635.40 ▼78.45 | 63.60 ▼0.09 |
Media Library /wp-admin/upload.php | 1,412 ▲12 | 4.20 ▲0.04 | 102.26 ▲5.51 | 40.79 ▼5.14 |
Statistics1 /wp-admin/index.php?page=burst | 1,593 | 8.58 | 290.01 | 92.05 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
The following items require your attention
- This plugin does not fully uninstall, leaving 4 tables in the database
- wp_burst_sessions
- wp_burst_statistics
- wp_burst_goals
- wp_burst_goal_statistics
- The uninstall procedure has failed, leaving 12 options in the database
- theysaidso_admin_options
- burst_goals_db_version
- burst_sessions_db_version
- db_upgraded
- burst_tracking_status
- widget_recent-posts
- widget_theysaidso_widget
- burst_goal_stats_db_version
- burst_options_settings
- can_compress_scripts
- ...
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 0% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Almost there! Just fix the following items
- 15× PHP files output text when accessed directly (only 10 are shown):
- > /wp-content/plugins/burst-statistics/statistics/class-goal-statistics.php
- > /wp-content/plugins/burst-statistics/integrations/integrations.php
- > /wp-content/plugins/burst-statistics/class-admin.php
- > /wp-content/plugins/burst-statistics/class-review.php
- > /wp-content/plugins/burst-statistics/integrations/plugins/complianz.php
- > /wp-content/plugins/burst-statistics/dashboard-widget/dashboard-widget.php
- > /wp-content/plugins/burst-statistics/goals/class-goals.php
- > /wp-content/plugins/burst-statistics/statistics/class-statistics.php
- > /wp-content/plugins/burst-statistics/integrations/plugins/woocommerce.php
- > /wp-content/plugins/burst-statistics/class-db-upgrade.php
- 1× PHP files trigger server-side errors or warnings when accessed directly:
- > PHP Fatal error
Uncaught Error: Interface 'burst\\UserAgent\\UserAgentInterface' not found in wp-content/plugins/burst-statistics/helpers/php-user-agent/UserAgent/UserAgent.php:5
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
Attributes that require attention:
- Donate link: Invalid URI found ("paypal.me/Burststatistics")
burst-statistics/burst.php 92% from 13 tests
The main PHP file in "Burst Statistics - Privacy-Friendly Analytics for WordPress" ver. 1.5.2 adds more information about the plugin and also serves as the entry point for this plugin
It is important to fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("burst-statistics.php" instead of "burst.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
No dangerous file extensions were detected26,682 lines of code in 273 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 163 | 1,467 | 1,200 | 11,239 |
PHP | 40 | 1,111 | 1,692 | 6,690 |
Sass | 57 | 574 | 64 | 4,323 |
CSS | 6 | 789 | 43 | 4,138 |
LESS | 1 | 30 | 0 | 152 |
XML | 1 | 39 | 107 | 95 |
SVG | 3 | 0 | 0 | 28 |
Markdown | 2 | 14 | 0 | 17 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.47 |
Average class complexity | 24.38 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 128.00 |
Average method complexity | 4.22 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 38.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 3 | |
Traits | 0 | |
Classes | 17 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 17 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 156 | |
▷ Static methods | 9 | 5.77% |
▷ Public methods | 136 | 87.18% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 20 | 12.82% |
Functions | 154 | |
▷ Named functions | 132 | 85.71% |
▷ Anonymous functions | 22 | 14.29% |
Constants | 95 | |
▷ Global constants | 15 | 15.79% |
▷ Class constants | 80 | 84.21% |
▷ Public constants | 80 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
7 PNG files occupy 0.03MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/sort_asc.png | 1.02KB | 0.25KB | ▼ 75.93% |
assets/img/sort_desc.png | 1.04KB | 0.25KB | ▼ 76.32% |
upgrade/img/really-simple-ssl.png | 11.96KB | 6.41KB | ▼ 46.40% |
upgrade/img/complianz-gdpr.png | 4.47KB | 1.85KB | ▼ 58.71% |
assets/img/Burst-review-notice.png | 2.71KB | 2.06KB | ▼ 24.02% |