Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▼1.96MB] [CPU: ▼49.99ms] Passed 4 tests
A check of server-side resources used by WPBMB Entrez
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.03 ▼1.44 | 6.03 ▼38.45 |
Dashboard /wp-admin | 2.05 ▼1.26 | 8.09 ▼40.76 |
Posts /wp-admin/edit.php | 2.05 ▼1.31 | 9.46 ▼38.84 |
Add New Post /wp-admin/post-new.php | 2.05 ▼3.84 | 8.49 ▼81.89 |
Media Library /wp-admin/upload.php | 2.05 ▼1.18 | 7.10 ▼29.30 |
Developer /wp-admin/admin.php?page=wbe_developer | 2.05 | 7.39 |
Display Settings /wp-admin/admin.php?page=wbe_display | 2.05 | 6.95 |
Builder /wp-admin/admin.php?page=wbe_builder | 2.05 | 7.46 |
Shortcodes /wp-admin/admin.php?page=wbe_shortcodes | 2.05 | 8.48 |
General Options /wp-admin/admin.php?page=wbe_options | 2.05 | 7.93 |
Server storage [IO: ▲10.12MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 474 new files
Database: 3 new tables, 7 new options
New tables |
---|
wp_wbe_meta |
wp_wbe_cache |
wp_wbe_shortcodes |
New WordPress options |
---|
db_upgraded |
widget_recent-posts |
widget_recent-comments |
widget_theysaidso_widget |
can_compress_scripts |
wbe_version |
theysaidso_admin_options |
Browser metrics Passed 4 tests
Checking browser requirements for WPBMB Entrez
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,949 ▲203 | 13.95 ▼0.43 | 8.34 ▲6.76 | 41.64 ▼0.42 |
Dashboard /wp-admin | 2,242 ▲54 | 5.84 ▲0.95 | 99.48 ▼5.95 | 39.32 ▼1.24 |
Posts /wp-admin/edit.php | 2,125 ▲36 | 2.02 ▼0.00 | 34.85 ▲1.58 | 34.72 ▼1.20 |
Add New Post /wp-admin/post-new.php | 1,564 ▲45 | 23.41 ▲0.17 | 573.52 ▼104.23 | 49.68 ▼2.65 |
Media Library /wp-admin/upload.php | 1,427 ▲42 | 4.18 ▼0.05 | 95.81 ▼5.20 | 43.16 ▼0.57 |
Developer /wp-admin/admin.php?page=wbe_developer | 1,057 | 2.16 | 25.16 | 40.90 |
Display Settings /wp-admin/admin.php?page=wbe_display | 2,339 | 2.89 | 89.48 | 33.52 |
Builder /wp-admin/admin.php?page=wbe_builder | 1,088 | 2.28 | 24.67 | 27.36 |
Shortcodes /wp-admin/admin.php?page=wbe_shortcodes | 1,120 | 2.16 | 25.00 | 33.48 |
General Options /wp-admin/admin.php?page=wbe_options | 1,127 | 2.28 | 26.01 | 28.73 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
Please fix the following items
- This plugin did not uninstall without warnings or errors
- > Warning in wp-content/plugins/wpbmb-entrez/includes/wbe-helpers.php+248
array_merge(): Expected parameter 2 to be an array, bool given
- This plugin does not fully uninstall, leaving 6 options in the database
- can_compress_scripts
- db_upgraded
- widget_recent-comments
- widget_recent-posts
- theysaidso_admin_options
- widget_theysaidso_widget
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
These errors were triggered by the plugin
- 21 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=wbe_options
- > Warning in wp-content/plugins/wpbmb-entrez/includes/wbe-helpers.php+248
array_merge(): Expected parameter 2 to be an array, bool given
- 24 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=wbe_options
- > Notice in wp-content/plugins/wpbmb-entrez/includes/wbe-db.php+468
Trying to access array offset on value of type null
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
Almost there! Just fix the following items
- 1× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/wpbmb-entrez/includes/cmb2/apigen/hook-docs.php
- 56× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Picker_Base' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/includes/types/CMB2_Type_Text_Date.php:13
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Class 'CMB2_REST_Controller_Boxes' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/includes/rest-api/CMB2_REST_Controller_Fields.php:17
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Class 'CMB2_REST_Controller' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/includes/rest-api/CMB2_REST_Controller_Boxes.php:17
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Text_Date' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/includes/types/CMB2_Type_Text_Time.php:13
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Base' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/includes/types/CMB2_Type_Textarea.php:13
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wpbmb-entrez/includes/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
There were no browser issues found
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
Attributes that need to be fixed:
- Screenshots: These screenshots require images: #1 (General Settings), #2 (Display Settings), #3 (Shortcode Builder), #4 (Active Shortcodes Table and Reference), #5 (Developer Reference), #6 (Lightbox Template), #7 (Lightbox Template Abstract), #8 (Keyword Highlight Template (background highlight)), #9 (Keyword Highlight Template (bold)), #10 (RCSB Structure Template)
wpbmb-entrez/wpbmb-entrez.php 92% from 13 tests
The primary PHP file in "WPBMB Entrez" version 1.1.0 is used by WordPress to initiate all plugin functionality
Please take the time to fix the following:
- Text Domain: Since WordPress version 4.6 the text domain is optional; if specified, it must be the same as the plugin slug
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Everything looks great! No dangerous files found in this plugin64,837 lines of code in 280 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PO File | 120 | 14,315 | 18,502 | 32,323 |
PHP | 94 | 3,898 | 7,581 | 13,830 |
CSS | 17 | 1,343 | 1,198 | 5,407 |
XML | 2 | 0 | 0 | 4,498 |
JSON | 5 | 0 | 0 | 3,644 |
JavaScript | 14 | 501 | 701 | 2,717 |
Sass | 16 | 300 | 25 | 1,379 |
Markdown | 6 | 264 | 0 | 796 |
Bourne Shell | 4 | 67 | 45 | 209 |
diff | 2 | 1 | 68 | 34 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity issues
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.34 |
Average class complexity | 17.02 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 183.00 |
Average method complexity | 2.64 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 31.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 91 | |
▷ Abstract classes | 11 | 12.09% |
▷ Concrete classes | 80 | 87.91% |
▷ Final classes | 0 | 0.00% |
Methods | 892 | |
▷ Static methods | 126 | 14.13% |
▷ Public methods | 739 | 82.85% |
▷ Protected methods | 140 | 15.70% |
▷ Private methods | 13 | 1.46% |
Functions | 98 | |
▷ Named functions | 96 | 97.96% |
▷ Anonymous functions | 2 | 2.04% |
Constants | 22 | |
▷ Global constants | 16 | 72.73% |
▷ Class constants | 6 | 27.27% |
▷ Public constants | 6 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
35 PNG files occupy 6.21MB with 1.98MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
includes/cmb2/images/ui-bg_glass_55_fbf9ee_1x400.png | 0.12KB | 0.14KB | 0.00% |
includes/cmb2/images/ui-icons_888888_256x240.png | 5.23KB | 4.11KB | ▼ 21.49% |
assets/screenshot-1.png | 403.23KB | 122.40KB | ▼ 69.65% |
includes/cmb2/images/ico-delete.png | 0.70KB | 0.72KB | 0.00% |
assets/icon-512x512.png | 38.78KB | 12.35KB | ▼ 68.16% |