Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.02MB] [CPU: ▼5.16ms] Passed 4 tests
Analyzing server-side resources used by Merging Image Boxes
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.48 ▲0.02 | 38.14 ▼3.16 |
Dashboard /wp-admin | 3.33 ▲0.02 | 46.89 ▼1.45 |
Posts /wp-admin/edit.php | 3.38 ▲0.02 | 44.50 ▼1.45 |
Add New Post /wp-admin/post-new.php | 5.91 ▲0.02 | 85.53 ▼14.43 |
Media Library /wp-admin/upload.php | 3.25 ▲0.02 | 35.31 ▼1.61 |
Merging Image Boxes /wp-admin/options-general.php?page=merging-image-boxes/merging-image-boxes-options.php | 3.24 | 32.89 |
Server storage [IO: ▲0.31MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 12 new files
Database: no new tables, 6 new options
New WordPress options |
---|
db_upgraded |
theysaidso_admin_options |
widget_recent-posts |
widget_recent-comments |
can_compress_scripts |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
Merging Image Boxes: an overview of browser usage
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,904 ▲169 | 13.83 ▼0.55 | 6.64 ▲4.90 | 40.22 ▼2.51 |
Dashboard /wp-admin | 2,220 ▲32 | 4.92 ▲0.08 | 103.78 ▼1.39 | 40.11 ▼3.66 |
Posts /wp-admin/edit.php | 2,100 ▲14 | 2.11 ▲0.14 | 38.86 ▲1.32 | 37.01 ▲5.75 |
Add New Post /wp-admin/post-new.php | 1,524 ▼9 | 22.99 ▼0.20 | 670.91 ▲20.38 | 57.43 ▼0.77 |
Media Library /wp-admin/upload.php | 1,402 ▲11 | 4.29 ▲0.12 | 97.51 ▼4.50 | 42.94 ▼5.37 |
Merging Image Boxes /wp-admin/options-general.php?page=merging-image-boxes/merging-image-boxes-options.php | 948 | 1.92 | 33.02 | 27.67 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- Zombie WordPress options were found after uninstall: 6 options
- db_upgraded
- widget_recent-comments
- widget_recent-posts
- widget_theysaidso_widget
- can_compress_scripts
- theysaidso_admin_options
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Please fix the following server-side errors
- > GET request to /wp-admin/options-general.php?page=merging-image-boxes/merging-image-boxes-options.php
- > Notice in wp-content/plugins/merging-image-boxes/merging-image-boxes-options.php+2
Undefined index: update_pluginoptions
SRP 50% 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 fix the following items
- 3× PHP files trigger server-side errors or warnings when accessed directly:
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/merging-image-boxes/merging-image-boxes-options.php:16
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/merging-image-boxes/merging-image-boxes.php:125
- > PHP Notice
Undefined index: update_pluginoptions in wp-content/plugins/merging-image-boxes/merging-image-boxes-options.php on line 2
- > 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/options-general.php?page=merging-image-boxes/merging-image-boxes-options.php
- > Console-api (warning) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28609 "jQuery.Deferred exception: Cannot read properties of undefined (reading 'msie')" "TypeError: Cannot read properties of undefined (reading 'msie')\n at HTMLDocument.\u003Canonymous> (/wp-content/plugins/merging-image-boxes/merging-image-boxes.js?ver=6.3.1:33:19)\n at e (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:26990)\n at t (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:27292)" undefined
- > GET request to /wp-admin/options-general.php?page=merging-image-boxes/merging-image-boxes-options.php
- > Javascript (severe) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28721 Uncaught TypeError: Cannot read properties of undefined (reading 'msie')
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
These attributes need your attention:
- Screenshots: These screenshots require images: #1 (Options Page.), #2 (First State.), #3 (Second State.)
merging-image-boxes/merging-image-boxes.php Passed 13 tests
Analyzing the main PHP file in "Merging Image Boxes" version 1.0.2
19 characters long description:
Merging Image Boxes
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
Success! There were no dangerous files found in this plugin443 lines of code in 5 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 2 | 24 | 59 | 227 |
PHP | 2 | 52 | 24 | 144 |
CSS | 1 | 4 | 0 | 72 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.01 |
Average class complexity | 0.00 |
▷ Minimum class complexity | 0.00 |
▷ Maximum class complexity | 0.00 |
Average method complexity | 0.00 |
▷ Minimum method complexity | 0.00 |
▷ Maximum method complexity | 0.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 0 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 0 | 0.00% |
▷ Final classes | 0 | 0.00% |
Methods | 0 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 0 | 0.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 4 | |
▷ Named functions | 4 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 0 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.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
2 PNG files occupy 0.01MB with 0.01MB in potential savings
Potential savings
Compression of 2 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/prev.png | 3.19KB | 0.31KB | ▼ 90.39% |
images/next.png | 3.20KB | 0.31KB | ▼ 90.42% |