Benchmarks
Plugin footprint 23% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
It is recommended to fix the following installer errors
- The plugin cannot be installed
- > Notice in wp-content/plugins/onionbuzz-viral-quiz/lib/Core/OBVQ_Config.php+27
Trying to access array offset on value of type null
Server metrics [RAM: ▲0.49MB] [CPU: ▲8.54ms] Passed 4 tests
Analyzing server-side resources used by OnionBuzz
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.88 ▲0.42 | 58.16 ▲17.66 |
Dashboard /wp-admin | 3.88 ▲0.58 | 66.96 ▲12.34 |
Posts /wp-admin/edit.php | 3.92 ▲0.56 | 73.01 ▲24.27 |
Add New Post /wp-admin/post-new.php | 6.38 ▲0.49 | 97.97 ▼14.62 |
Media Library /wp-admin/upload.php | 3.72 ▲0.49 | 55.38 ▲18.77 |
Settings /wp-admin/admin.php?page=la_onionbuzz_settings | 4.04 | 52.94 |
Feeds /wp-admin/admin.php?page=la_onionbuzz_feeds | 3.85 | 56.16 |
Stories /wp-admin/admin.php?page=la_onionbuzz_dashboard | 4.23 | 57.92 |
Server storage [IO: ▲4.39MB] [DB: ▲0.02MB] Passed 3 tests
Filesystem and database footprint
This plugin installed successfully
Filesystem: 210 new files
Database: 13 new tables, 9 new options
New tables |
---|
wp_ob_questions |
wp_ob_answer2result |
wp_ob_settings |
wp_ob_score |
wp_ob_results |
wp_ob_feed2quiz |
wp_ob_feeds |
wp_ob_quizzes |
wp_ob_answers |
wp_ob_result_unlocks |
... |
New WordPress options |
---|
feeds_children |
widget_recent-comments |
widget_widget_onionbuzz_categories |
widget_theysaidso_widget |
widget_widget_onionbuzz_recent_posts |
widget_recent-posts |
can_compress_scripts |
theysaidso_admin_options |
db_upgraded |
Browser metrics Passed 4 tests
Checking browser requirements for OnionBuzz
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,153 ▲392 | 14.98 ▲0.24 | 12.70 ▲10.78 | 39.21 ▼5.83 |
Dashboard /wp-admin | 2,402 ▲222 | 6.17 ▲0.49 | 119.59 ▲16.55 | 42.10 ▲2.77 |
Posts /wp-admin/edit.php | 2,347 ▲247 | 3.43 ▲1.40 | 61.35 ▲21.44 | 35.50 ▼3.01 |
Add New Post /wp-admin/post-new.php | 1,553 ▲27 | 23.26 ▲0.19 | 641.98 ▼44.10 | 36.04 ▼23.30 |
Media Library /wp-admin/upload.php | 1,484 ▲84 | 4.14 ▼0.02 | 80.74 ▼38.80 | 43.77 ▼3.78 |
Settings /wp-admin/admin.php?page=la_onionbuzz_settings | 1,723 | 4.50 | 72.39 | 40.78 |
Feeds /wp-admin/admin.php?page=la_onionbuzz_feeds | 1,265 | 4.09 | 65.46 | 40.68 |
Stories /wp-admin/admin.php?page=la_onionbuzz_dashboard | 1,285 | 4.07 | 64.08 | 31.05 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 25% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
- Uninstall procedure validation failed for this plugin
- > Deprecated in wp-includes/class-wp-hook.php+310
Non-static method OBVQ_WpPluginAutoload\OBVQ_Lifecycle::deactivate() should not be called statically
- The uninstall procedure failed, leaving 13 tables in the database
- wp_ob_settings
- wp_ob_answers
- wp_ob_answer2result
- wp_ob_questions
- wp_ob_quizzes
- wp_ob_adv_settings
- wp_ob_score
- wp_ob_result_unlocks
- wp_ob_advertisings
- wp_ob_results
- ...
- This plugin did not uninstall successfully, leaving 9 options in the database
- feeds_children
- widget_recent-comments
- db_upgraded
- theysaidso_admin_options
- widget_recent-posts
- widget_widget_onionbuzz_categories
- can_compress_scripts
- widget_widget_onionbuzz_recent_posts
- widget_theysaidso_widget
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
These server-side errors were triggered
- > GET request to /wp-admin/admin.php?page=la_onionbuzz_settings
- > Notice in wp-content/plugins/onionbuzz-viral-quiz/src/Admin/OBVQ_Admin.php+511
Undefined variable: placeholder_ids_array
- > GET request to /wp-admin/admin.php?page=la_onionbuzz_settings
- > Warning in wp-content/plugins/onionbuzz-viral-quiz/src/Admin/OBVQ_Admin.php+511
count(): Parameter must be an array or an object that implements Countable
SRP 0% 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
- 7× PHP files output text when accessed directly:
- > /wp-content/plugins/onionbuzz-viral-quiz/templates/admin/templates/feed.php
- > /wp-content/plugins/onionbuzz-viral-quiz/templates/admin/settings-tabs.php
- > /wp-content/plugins/onionbuzz-viral-quiz/templates/admin/menu-top.php
- > /wp-content/plugins/onionbuzz-viral-quiz/templates/admin/templates/pagination.php
- > /wp-content/plugins/onionbuzz-viral-quiz/templates/admin/quiz-tabs.php
- > /wp-content/plugins/onionbuzz-viral-quiz/templates/admin/templates/quiz.php
- > /wp-content/plugins/onionbuzz-viral-quiz/tests/lib/wp-tests-config.php
- 294× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/onionbuzz-viral-quiz/templates/frontend/templates/quiz-shortcode-slider.php on line 193
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/onionbuzz-viral-quiz/templates/frontend/templates/quiz-shortcode-slider.php on line 1
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/onionbuzz-viral-quiz/templates/admin/quiz-tabs.php on line 2
- > PHP Warning
Invalid argument supplied for foreach() in wp-content/plugins/onionbuzz-viral-quiz/templates/frontend/templates/quiz-shortcode-slider.php on line 48
- > PHP Notice
Undefined variable: data in wp-content/plugins/onionbuzz-viral-quiz/templates/frontend/templates/quiz-shortcode.php on line 1
- > PHP Notice
Undefined variable: data in wp-content/plugins/onionbuzz-viral-quiz/templates/admin/quiz-questions.php on line 4
- > PHP Notice
Undefined variable: data in wp-content/plugins/onionbuzz-viral-quiz/templates/frontend/templates/quiz-shortcode-slider.php on line 211
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/onionbuzz-viral-quiz/templates/frontend/templates/quiz-shortcode-slider.php on line 37
- > PHP Notice
Undefined variable: data in wp-content/plugins/onionbuzz-viral-quiz/templates/admin/quiz-tabs.php on line 28
- > PHP Fatal error
Uncaught Error: Call to a member function render() on null in wp-content/plugins/onionbuzz-viral-quiz/templates/admin/quiz-stats.php:4
- > PHP Notice
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Please fix the following attributes:
- Tags: You are using too many tags: 15 tag instead of maximum 10
onionbuzz-viral-quiz/plugin.php 85% from 13 tests
The main PHP script in "OnionBuzz" version 1.0.7 is automatically included on every request by WordPress
It is important to fix the following:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("onionbuzz-viral-quiz.php" instead of "plugin.php")
- Description: Please keep the plugin description shorter than 140 characters (currently 279 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
There were no executable files found in this plugin42,966 lines of code in 166 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
CSS | 18 | 1,147 | 441 | 18,092 |
SVG | 22 | 0 | 17 | 9,637 |
JavaScript | 62 | 1,422 | 1,014 | 7,597 |
PHP | 61 | 1,379 | 1,350 | 7,486 |
PO File | 1 | 35 | 44 | 94 |
Bourne Shell | 1 | 9 | 3 | 46 |
INI | 1 | 0 | 8 | 14 |
PHP code Passed 2 tests
This is a very shot review of cyclomatic complexity and code structure
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.43 |
Average class complexity | 19.96 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 134.00 |
Average method complexity | 2.87 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 77.00 |
Code structure | ||
---|---|---|
Namespaces | 7 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 25 | |
▷ Abstract classes | 1 | 4.00% |
▷ Concrete classes | 24 | 96.00% |
▷ Final classes | 0 | 0.00% |
Methods | 254 | |
▷ Static methods | 9 | 3.54% |
▷ Public methods | 243 | 95.67% |
▷ Protected methods | 3 | 1.18% |
▷ Private methods | 8 | 3.15% |
Functions | 2 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 2 | 100.00% |
Constants | 28 | |
▷ Global constants | 19 | 67.86% |
▷ Class constants | 9 | 32.14% |
▷ Public constants | 9 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
21 PNG files occupy 0.05MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
static/vendors/jquery-ui/images/ui-icons_777620_256x240.png | 4.44KB | 4.17KB | ▼ 6.02% |
static/vendors/bootstrap-colorpicker/img/bootstrap-colorpicker/alpha.png | 0.48KB | 1.68KB | 0.00% |
static/admin/images/no-image.png | 1.26KB | 0.53KB | ▼ 57.61% |
static/admin/images/ico-drag.png | 0.28KB | 0.22KB | ▼ 18.44% |
static/admin/images/arrow-grey-down.png | 0.96KB | 0.11KB | ▼ 88.29% |