Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
This plugin's installer ran successfully
Server metrics [RAM: ▲1.17MB] [CPU: ▲0.61ms] Passed 4 tests
A check of server-side resources used by Review & Product Review by Review Builder
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.85 ▲1.39 | 61.37 ▲21.58 |
Dashboard /wp-admin | 4.55 ▲1.20 | 46.94 ▼16.00 |
Posts /wp-admin/edit.php | 4.62 ▲1.26 | 58.86 ▲13.39 |
Add New Post /wp-admin/post-new.php | 6.79 ▲0.90 | 83.72 ▼10.40 |
Media Library /wp-admin/upload.php | 4.56 ▲1.32 | 51.63 ▲15.45 |
All Templates PRO /wp-admin/admin.php?page=sgrb_allTemplates | 4.53 | 45.62 |
Comment box /wp-admin/admin.php?page=sgrb_addForm | 4.53 | 46.10 |
All Comments /wp-admin/admin.php?page=sgrb_allComms | 4.53 | 48.28 |
Add Review /wp-admin/admin.php?page=sgrb_add | 4.53 | 49.20 |
Add Comment /wp-admin/admin.php?page=sgrb_addComment | 4.53 | 54.04 |
More Plugins /wp-admin/admin.php?page=sgrb_sgPlugins | 4.53 | 46.88 |
Settings /wp-admin/admin.php?page=sgrb_sgSettings | 4.53 | 45.11 |
Add Template PRO /wp-admin/admin.php?page=sgrb_addTemplate | 4.53 | 46.11 |
All Reviews /wp-admin/admin.php?page=sgrb_showAll | 4.53 | 46.99 |
Server storage [IO: ▲3.32MB] [DB: ▲0.03MB] Passed 3 tests
How much does this plugin use your filesystem and database?
There were no storage issued detected upon installing this plugin
Filesystem: 213 new files
Database: 8 new tables, 9 new options
New tables |
---|
wp_sgrb_template |
wp_sgrb_category |
wp_sgrb_template_design |
wp_sgrb_review |
wp_sgrb_comment_rating |
wp_sgrb_page_review |
wp_sgrb_comment |
wp_sgrb_rate_log |
New WordPress options |
---|
widget_recent-comments |
can_compress_scripts |
widget_recent-posts |
SGRB_VERSION |
widget_sgrbwidget |
theysaidso_admin_options |
sgrb-comment-box-theme |
widget_theysaidso_widget |
db_upgraded |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Review & Product Review by Review Builder
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,855 ▲109 | 14.21 ▼0.16 | 1.75 ▼0.06 | 45.71 ▲2.13 |
Dashboard /wp-admin | 2,256 ▲76 | 5.62 ▼0.04 | 93.01 ▼4.91 | 39.12 ▼6.91 |
Posts /wp-admin/edit.php | 2,161 ▲61 | 2.03 ▲0.04 | 39.05 ▲0.63 | 36.67 ▲0.91 |
Add New Post /wp-admin/post-new.php | 6,263 ▲4,727 | 20.26 ▲2.12 | 884.83 ▲231.17 | 77.97 ▲13.40 |
Media Library /wp-admin/upload.php | 1,458 ▲58 | 4.18 ▼0.04 | 96.81 ▲2.05 | 44.77 ▲2.58 |
All Templates PRO /wp-admin/admin.php?page=sgrb_allTemplates | 1,375 | 3.41 | 48.05 | 85.64 |
Comment box /wp-admin/admin.php?page=sgrb_addForm | 1,473 | 3.43 | 47.23 | 94.01 |
All Comments /wp-admin/admin.php?page=sgrb_allComms | 1,225 | 3.35 | 43.54 | 80.98 |
Add Review /wp-admin/admin.php?page=sgrb_add | 3,964 | 5.26 | 107.01 | 218.92 |
Add Comment /wp-admin/admin.php?page=sgrb_addComment | 1,280 | 3.43 | 43.13 | 77.23 |
More Plugins /wp-admin/admin.php?page=sgrb_sgPlugins | 1,019 | 2.00 | 21.96 | 25.95 |
Settings /wp-admin/admin.php?page=sgrb_sgSettings | 1,228 | 3.71 | 50.00 | 33.75 |
Add Template PRO /wp-admin/admin.php?page=sgrb_addTemplate | 1,129 | 3.34 | 45.32 | 34.36 |
All Reviews /wp-admin/admin.php?page=sgrb_showAll | 1,228 | 3.49 | 41.59 | 75.52 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
The following items require your attention
- Zombie WordPress options detected upon uninstall: 7 options
- db_upgraded
- SGRB_VERSION
- can_compress_scripts
- widget_theysaidso_widget
- widget_recent-comments
- widget_recent-posts
- theysaidso_admin_options
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Smoke test failed, please fix the following
- 38 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_showAll
- > Warning in wp-content/plugins/review-builder/com/core/ActiveRecord.php+121
count(): Parameter must be an array or an object that implements Countable
- 5 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_addComment
- > Notice in wp-content/plugins/review-builder/com/layouts/Comment/save.php+18
Undefined index: id
- 3 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/core/Template.php+208
Undefined offset: 3
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/core/Template.php+219
Undefined variable: options
- 6 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/core/Template.php+219
Trying to access array offset on value of type null
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_addComment
- > Notice in wp-content/plugins/review-builder/com/layouts/Comment/save.php+15
Undefined index: title
- 5 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/rateOptions.php+66
Undefined index: rate-type
- 19 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+172
Undefined index: review-type
- 26 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/edit.php+246
Undefined index: template
- 8 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/templateSelectSection.php+67
Undefined index: simple-review-template-type
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/generalOptions.php+77
Undefined index: required-title-checkbox
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/generalOptions.php+88
Undefined index: required-email-checkbox
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/generalOptions.php+101
Undefined index: auto-approve-checkbox
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/generalOptions.php+114
Undefined index: user-detect-by
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/rateOptions.php+72
Undefined index: skin-color
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/rateOptions.php+83
Undefined index: rate-text-color
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/rateOptions.php+102
Undefined index: transparent-background
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/rateOptions.php+92
Undefined index: total-rate-background-color
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/rateOptions.php+114
Undefined index: total-rate
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/rateOptions.php+127
Undefined index: show-comments
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/rateOptions.php+163
Undefined index: wrapper-width
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/rateOptions.php+167
Undefined index: wrapper-width-px
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+7
Undefined index: success-comment-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+15
Undefined index: total-rating-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+23
Undefined index: add-review-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+31
Undefined index: edit-review-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+41
Undefined index: name-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+49
Undefined index: name-placeholder-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+57
Undefined index: email-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+65
Undefined index: email-placeholder-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+73
Undefined index: title-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+81
Undefined index: title-placeholder-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+89
Undefined index: comment-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+97
Undefined index: comment-placeholder-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+105
Undefined index: load-more-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+113
Undefined index: no-more-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+121
Undefined index: show-all-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+129
Undefined index: hide-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+139
Undefined index: post-button-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+169
Undefined index: no-category-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+179
Undefined index: no-name-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+187
Undefined index: no-email-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+195
Undefined index: no-title-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+203
Undefined index: no-comment-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/localization.php+211
Undefined index: comment-by-text
- > GET request to /wp-admin/admin.php?page=sgrb_add
- > Notice in wp-content/plugins/review-builder/com/layouts/Review/googleSearchPreviewOptions.php+11
Undefined index: sgrb-google-search-on
- > GET request to /wp-admin/admin.php?page=sgrb_addComment
- > Notice in wp-content/plugins/review-builder/com/layouts/Comment/save.php+55
Undefined index: review_id
- > GET request to /wp-admin/admin.php?page=sgrb_addComment
- > Notice in wp-content/plugins/review-builder/com/layouts/Comment/save.php+142
Undefined index: name
- > GET request to /wp-admin/admin.php?page=sgrb_addComment
- > Notice in wp-content/plugins/review-builder/com/layouts/Comment/save.php+153
Undefined index: email
- > GET request to /wp-admin/admin.php?page=sgrb_addComment
- > Notice in wp-content/plugins/review-builder/com/layouts/Comment/save.php+168
Undefined index: comment
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=sgrb_addComment
- > Notice in wp-content/plugins/review-builder/com/layouts/Comment/save.php+181
Undefined index: isApproved
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
Almost there! Just fix the following items
- 62× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/review-builder/com/layouts/Review/morePlugins.php:9
- > PHP Fatal error
Uncaught Error: Call to a member function includeModel() on null in wp-content/plugins/review-builder/com/models/Category.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/review-builder/com/layouts/Review/localization.php:4
- > PHP Fatal error
Uncaught Error: Call to a member function includeModel() on null in wp-content/plugins/review-builder/com/models/Review.php:4
- > PHP Fatal error
Uncaught Error: Call to a member function includeController() on null in wp-content/plugins/review-builder/com/controllers/CommentForm.php:3
- > PHP Fatal error
Uncaught Error: Call to a member function includeLib() on null in wp-content/plugins/review-builder/com/lib/Review.php:4
- > PHP Notice
Trying to get property 'app_url' of non-object in wp-content/plugins/review-builder/com/layouts/Review/banner.php on line 66
- > PHP Fatal error
Uncaught Error: Call to a member function includeModel() on null in wp-content/plugins/review-builder/com/models/Comment_Rating.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/review-builder/com/layouts/Review/generalOptions.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/review-builder/com/layouts/Review/banner.php:74
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please take a look at the following user-side issues
- > GET request to /wp-admin/admin.php?page=sgrb_sgPlugins
- > Network (severe)
http://ps.w.org/popup-builder/assets/icon-128x128.jpg?rev=1575777 - Failed to load resource: the server responded with a status of 404 (Not Found)
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
These attributes need your attention:
- Screenshots: These screenshots require images: #7 (Comments list), #8 (Add review section to the post)
review-builder/app.php 85% from 13 tests
The principal PHP file in "Review & Product Review by Review Builder" v. 2.0.21 is loaded by WordPress automatically on each request
Please take the time to fix the following:
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
- Main file name: Name the main plugin file the same as the plugin slug ("review-builder.php" instead of "app.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
Everything looks great! No dangerous files found in this plugin25,468 lines of code in 113 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 52 | 1,037 | 777 | 9,553 |
JavaScript | 20 | 1,724 | 1,230 | 9,503 |
CSS | 26 | 565 | 123 | 3,475 |
PO File | 3 | 775 | 855 | 1,879 |
SVG | 3 | 0 | 0 | 783 |
HTML | 9 | 4 | 0 | 275 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.28 |
Average class complexity | 27.61 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 286.00 |
Average method complexity | 3.89 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 54.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 33 | |
▷ Abstract classes | 4 | 12.12% |
▷ Concrete classes | 29 | 87.88% |
▷ Final classes | 0 | 0.00% |
Methods | 304 | |
▷ Static methods | 56 | 18.42% |
▷ Public methods | 270 | 88.82% |
▷ Protected methods | 22 | 7.24% |
▷ Private methods | 12 | 3.95% |
Functions | 0 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 29 | |
▷ Global constants | 20 | 68.97% |
▷ Class constants | 9 | 31.03% |
▷ Public constants | 9 | 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
41 PNG files occupy 0.39MB with 0.21MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/page/styles/general/images/ui-bg_fine-grain_10_eceadf_60x60.png | 0.15KB | 0.08KB | ▼ 42.38% |
assets/page/img/star_simbol.png | 3.33KB | 2.38KB | ▼ 28.53% |
assets/page/styles/general/images/ui-bg_fine-grain_68_b83400_60x60.png | 8.11KB | 2.26KB | ▼ 72.15% |
assets/page/styles/general/images/ui-bg_diagonal-maze_20_6e4f1c_10x10.png | 0.60KB | 0.17KB | ▼ 70.94% |
assets/page/styles/general/images/ui-bg_fine-grain_10_f8f7f6_60x60.png | 3.08KB | 1.39KB | ▼ 54.84% |