Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Install script ran successfully
Server metrics [RAM: ▲2.85MB] [CPU: ▲3.80ms] Passed 4 tests
Analyzing server-side resources used by QBOT - Question Answer
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.32 ▲2.85 | 58.35 ▲19.84 |
Dashboard /wp-admin | 6.34 ▲3.03 | 57.15 ▲7.37 |
Posts /wp-admin/edit.php | 6.34 ▲2.98 | 47.37 ▼1.23 |
Add New Post /wp-admin/post-new.php | 8.40 ▲2.51 | 91.75 ▼6.51 |
Media Library /wp-admin/upload.php | 6.34 ▲3.11 | 52.38 ▲15.55 |
Admin Dashboard /wp-admin/admin.php?page=qbot-plugin | 6.34 | 52.63 |
Manage Answers /wp-admin/edit.php?post_type=qbot-answer | 6.34 | 47.76 |
Settings /wp-admin/admin.php?page=qbot-plugin-settings | 6.34 | 48.94 |
Manage Questions /wp-admin/edit.php?post_type=qbot-question | 6.34 | 50.42 |
Server storage [IO: ▲5.17MB] [DB: ▲1.79MB] Passed 3 tests
Filesystem and database footprint
This plugin was installed successfully
Filesystem: 488 new files
Database: 7 new tables, 28 new options
New tables |
---|
mcl_qbot_views |
mcl_qbot_favorite_questions |
mcl_qbot_votes |
mcl_ip2location_db1 |
mcl_qbot_spam |
mcl_qbot_roles |
mcl_qbot_users |
New WordPress options |
---|
qbot_notify_user |
qbot_font_size |
qbot_permalink_question |
qbot_google_app_secret |
qbot_font |
qbot_google_app_id |
widget_theysaidso_widget |
qbot_font_bold |
qbot_notification_new_question |
qbot_disble_negative_rating |
... |
Browser metrics Passed 4 tests
This is an overview of browser requirements for QBOT - Question Answer
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,840 ▲79 | 14.28 ▼0.38 | 1.71 ▼0.05 | 43.04 ▲0.33 |
Dashboard /wp-admin | 2,223 ▲49 | 5.56 ▲0.04 | 85.93 ▼2.79 | 67.52 ▲28.87 |
Posts /wp-admin/edit.php | 2,137 ▲37 | 2.00 ▼0.03 | 34.80 ▲0.32 | 35.71 ▼0.24 |
Add New Post /wp-admin/post-new.php | 1,712 ▲184 | 22.11 ▼1.04 | 727.77 ▲40.36 | 58.57 ▼1.12 |
Media Library /wp-admin/upload.php | 1,437 ▲37 | 4.25 ▼0.04 | 104.82 ▲0.84 | 68.36 ▲22.80 |
Admin Dashboard /wp-admin/admin.php?page=qbot-plugin | 1,193 | 1.98 | 24.12 | 40.81 |
Manage Answers /wp-admin/edit.php?post_type=qbot-answer | 1,095 | 1.90 | 30.68 | 29.59 |
Settings /wp-admin/admin.php?page=qbot-plugin-settings | 969 | 1.86 | 25.93 | 27.58 |
Manage Questions /wp-admin/edit.php?post_type=qbot-question | 1,137 | 1.93 | 31.77 | 32.10 |
Uninstaller [IO: ▲0.00MB] [DB: ▲1.79MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
It is recommended to fix the following
- Zombie tables were found after uninstall: 7 tables
- mcl_qbot_favorite_questions
- mcl_qbot_roles
- mcl_ip2location_db1
- mcl_qbot_votes
- mcl_qbot_spam
- mcl_qbot_users
- mcl_qbot_views
- Zombie WordPress options were found after uninstall: 28 options
- theysaidso_admin_options
- qbot_facebook_app_secret
- qbot_line_height_size
- qbot_permalink_question
- qbot_notification_new_answer
- db_upgraded
- qbot_font_bold
- qbot_question_style
- widget_recent-comments
- qbot_font_italic
- ...
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Everything seems fine, however this is by no means an exhaustive test
SRP 50% 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 take a closer look at the following
- 75× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Google_Signer' not found in wp-content/plugins/qbot-question-answer/includes/social/google/src/auth/Google_P12Signer.php:25
- > PHP Fatal error
Uncaught Error: Class 'Google_ServiceResource' not found in wp-content/plugins/qbot-question-answer/includes/social/google/src/contrib/Google_TranslateService.php:25
- > PHP Fatal error
Uncaught Error: Class 'Google_ServiceResource' not found in wp-content/plugins/qbot-question-answer/includes/social/google/src/contrib/Google_Oauth2Service.php:25
- > PHP Fatal error
Uncaught Error: Class 'Google_ServiceResource' not found in wp-content/plugins/qbot-question-answer/includes/social/google/src/contrib/Google_BloggerService.php:25
- > PHP Fatal error
Uncaught Error: Class 'Google_ServiceResource' not found in wp-content/plugins/qbot-question-answer/includes/social/google/src/contrib/Google_ComputeService.php:25
- > PHP Fatal error
Uncaught Error: Class 'qbotSettings' not found in wp-content/plugins/qbot-question-answer/includes/class-qbot-admin.php:2
- > PHP Fatal error
Uncaught Error: Class 'Google_ServiceResource' not found in wp-content/plugins/qbot-question-answer/includes/social/google/src/contrib/Google_FusiontablesService.php:25
- > PHP Fatal error
Uncaught Error: Class 'qbotSettings' not found in wp-content/plugins/qbot-question-answer/includes/class-qbot-admin-questions.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_url() in wp-content/plugins/qbot-question-answer/views/admin_settings.php:14
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_url() in wp-content/plugins/qbot-question-answer/views/admin_answers.php:14
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
There were no browser issues found
Optimizations
Plugin configuration 90% 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
These attributes need your attention:
- Screenshots: These screenshots do not have images: #7 (Frontend customization with font, color & backgrounds.), #8 (Admin and user notifications custom template, wile new question or answer posted.), #9 (Shortcodes to integrate sidebar & widgets.), #10 (User stat & download all user in CSV format.)
qbot-question-answer/qbot.php 85% from 13 tests
The primary PHP file in "QBOT - Question Answer" version 1.0 is used by WordPress to initiate all plugin functionality
Please take the time to fix the following:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("qbot-question-answer.php" instead of "qbot.php")
- Description: Please keep the plugin description shorter than 140 characters (currently 141 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Success! There were no dangerous files found in this plugin105,182 lines of code in 123 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 82 | 2,230 | 8,159 | 98,361 |
CSS | 7 | 466 | 36 | 2,970 |
Sass | 13 | 26 | 24 | 1,352 |
LESS | 13 | 26 | 33 | 1,343 |
JavaScript | 6 | 22 | 19 | 583 |
SVG | 1 | 0 | 0 | 565 |
SQL | 1 | 0 | 0 | 8 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.09 |
Average class complexity | 2.22 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 99.00 |
Average method complexity | 1.15 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 77.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 770 | |
▷ Abstract classes | 4 | 0.52% |
▷ Concrete classes | 766 | 99.48% |
▷ Final classes | 0 | 0.00% |
Methods | 6,399 | |
▷ Static methods | 18 | 0.28% |
▷ Public methods | 6,359 | 99.37% |
▷ Protected methods | 17 | 0.27% |
▷ Private methods | 23 | 0.36% |
Functions | 39 | |
▷ Named functions | 38 | 97.44% |
▷ Anonymous functions | 1 | 2.56% |
Constants | 22 | |
▷ Global constants | 7 | 31.82% |
▷ Class constants | 15 | 68.18% |
▷ Public constants | 15 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
346 compressed PNG files occupy 0.59MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/flags/va.png | 0.54KB | 0.67KB | 0.00% |
images/flags/europeanunion.png | 0.47KB | 0.66KB | 0.00% |
images/flags/mk.png | 0.65KB | 0.74KB | 0.00% |
images/flags/il.png | 0.42KB | 0.50KB | 0.00% |
images/flags/tv.png | 0.52KB | 0.66KB | 0.00% |