Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲4.59MB] [CPU: ▲13.32ms] Passed 4 tests
Server-side resources used by Premium Blocks for Gutenberg
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 8.22 ▲4.75 | 68.79 ▲25.76 |
Dashboard /wp-admin | 7.91 ▲4.56 | 68.60 ▲5.56 |
Posts /wp-admin/edit.php | 8.02 ▲4.66 | 71.72 ▲24.80 |
Add New Post /wp-admin/post-new.php | 10.44 ▲4.55 | 93.79 ▼2.84 |
Media Library /wp-admin/upload.php | 7.83 ▲4.60 | 62.04 ▲28.14 |
Server storage [IO: ▲11.21MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
No storage issues were detected
Filesystem: 211 new files
Database: no new tables, 7 new options
New WordPress options |
---|
theysaidso_admin_options |
can_compress_scripts |
widget_recent-posts |
widget_recent-comments |
widget_theysaidso_widget |
category_children |
db_upgraded |
Browser metrics Passed 4 tests
Checking browser requirements for Premium Blocks for Gutenberg
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,835 ▲88 | 14.67 ▲0.28 | 2.13 ▲0.44 | 44.79 ▼0.29 |
Dashboard /wp-admin | 2,216 ▲38 | 5.58 ▼0.16 | 90.15 ▼22.79 | 42.69 ▼4.33 |
Posts /wp-admin/edit.php | 2,118 ▲18 | 2.01 ▲0.05 | 39.15 ▲3.30 | 36.40 ▲1.50 |
Add New Post /wp-admin/post-new.php | 6,230 ▲4,704 | 25.62 ▲2.67 | 1,086.31 ▲401.62 | 37.13 ▼15.22 |
Media Library /wp-admin/upload.php | 1,415 ▲15 | 4.19 ▼0.07 | 99.49 ▲4.50 | 43.31 ▲2.15 |
Uninstaller [IO: ▲0.37MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
These items require your attention
- Zombie WordPress options were found after uninstall: 7 options
- widget_recent-posts
- theysaidso_admin_options
- can_compress_scripts
- db_upgraded
- widget_recent-comments
- widget_theysaidso_widget
- category_children
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 | 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
- 14× 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 register_block_type() in wp-content/plugins/premium-blocks-for-gutenberg/blocks-config/instagram-feed-header/index.php:120
- > PHP Fatal error
Uncaught Error: Call to undefined function register_block_type() in wp-content/plugins/premium-blocks-for-gutenberg/blocks-config/price.php:319
- > PHP Fatal error
Uncaught Error: Call to undefined function register_block_type() in wp-content/plugins/premium-blocks-for-gutenberg/blocks-config/author.php:87
- > PHP Fatal error
Uncaught Error: Call to undefined function register_block_type() in wp-content/plugins/premium-blocks-for-gutenberg/blocks-config/icon-group.php:289
- > PHP Warning
Use of undefined constant PREMIUM_BLOCKS_PATH - assumed 'PREMIUM_BLOCKS_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/premium-blocks-for-gutenberg/admin/includes/pb-panel/class-pb-panel.php on line 9
- > PHP Warning
Use of undefined constant PREMIUM_BLOCKS_URL - assumed 'PREMIUM_BLOCKS_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/premium-blocks-for-gutenberg/admin/includes/pb-panel/class-pb-panel.php on line 10
- > PHP Fatal error
Uncaught Error: Call to undefined function register_block_type() in wp-content/plugins/premium-blocks-for-gutenberg/blocks-config/counter.php:203
- > PHP Fatal error
Uncaught Error: Call to undefined function register_block_type() in wp-content/plugins/premium-blocks-for-gutenberg/blocks-config/instagram-feed-posts/index.php:525
- > PHP Fatal error
Uncaught Error: Call to undefined function register_block_type() in wp-content/plugins/premium-blocks-for-gutenberg/blocks-config/image.php:292
- > PHP Fatal error
Uncaught Error: Call to undefined function register_block_type() in wp-content/plugins/premium-blocks-for-gutenberg/blocks-config/text.php:228
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser errors were detected
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Attributes that require attention:
- Screenshots: These screenshots need descriptions #1, #10, #11, #12, #2, #3, #4, #5, #6, #7, #8, #9 in premium-blocks-for-gutenberg/assets to your readme.txt
premium-blocks-for-gutenberg/premium-blocks-for-gutenberg.php Passed 13 tests
The main file in "Premium Blocks for Gutenberg" v. 2.1.10 serves as a complement to information provided in readme.txt and as the entry point to the plugin
96 characters long description:
Gutenberg blocks that will help you build amazing pages with the new WordPress Gutenberg editor.
Code Analysis 97% from 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 plugin74,261 lines of code in 200 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 36 | 4,305 | 5,005 | 48,185 |
PHP | 60 | 2,573 | 3,018 | 13,124 |
JSON | 27 | 25 | 0 | 12,689 |
CSS | 45 | 5 | 6 | 101 |
SVG | 31 | 28 | 0 | 81 |
XML | 1 | 0 | 0 | 81 |
PHP code 50% from 2 tests
Analyzing logical lines of code, cyclomatic complexity, and other code metrics
It is recommended to fix the following
- Method cyclomatic complexity has to be reduced to less than 100 (currently 166)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.40 |
Average class complexity | 75.75 |
▷ Minimum class complexity | 4.00 |
▷ Maximum class complexity | 277.00 |
Average method complexity | 5.19 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 166.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 12 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 12 | 100.00% |
▷ Final classes | 2 | 16.67% |
Methods | 214 | |
▷ Static methods | 29 | 13.55% |
▷ Public methods | 204 | 95.33% |
▷ Protected methods | 4 | 1.87% |
▷ Private methods | 6 | 2.80% |
Functions | 109 | |
▷ Named functions | 107 | 98.17% |
▷ Anonymous functions | 2 | 1.83% |
Constants | 15 | |
▷ Global constants | 14 | 93.33% |
▷ Class constants | 1 | 6.67% |
▷ Public constants | 1 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
1 PNG file occupies 0.01MB with 0.00MB in potential savings
Potential savings
Compression of 1 random PNG file using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/images/premium-blocks-logo.png | 5.17KB | 2.48KB | ▼ 51.99% |