Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Please fix the following installer errors
- Install procedure validation failed for this plugin
- > Notice in wp-content/plugins/shortpixel-adaptive-images/includes/controllers/short-pixel-ai.class.php+1695
Trying to get property 'exclusions' of non-object
Server metrics [RAM: ▲2.45MB] [CPU: ▲12.46ms] Passed 4 tests
Server-side resources used by ShortPixel Adaptive Images - WebP, AVIF, CDN, Image Optimization
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.01 ▲2.51 | 63.07 ▲21.20 |
Dashboard /wp-admin | 5.83 ▲2.48 | 66.70 ▲16.86 |
Posts /wp-admin/edit.php | 5.88 ▲2.48 | 67.93 ▲17.89 |
Add New Post /wp-admin/post-new.php | 8.36 ▲2.43 | 100.88 ▼5.43 |
Media Library /wp-admin/upload.php | 5.68 ▲2.41 | 59.50 ▲20.51 |
ShortPixel AI /wp-admin/options-general.php?page=shortpixel-ai-settings | 6.36 | 254.86 |
ShortPixel AI On-Boarding /wp-admin/admin.php?page=shortpixel-ai-on-boarding | 5.70 | 51.39 |
/wp-admin/admin.php?page=shortpixel-ai-import-settings | 5.64 | 48.18 |
/wp-admin/admin.php?page=shortpixel-ai-export-settings | 5.64 | 49.87 |
Server storage [IO: ▲3.15MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin installed successfully
Filesystem: 183 new files
Database: no new tables, 7 new options
New WordPress options |
---|
widget_theysaidso_widget |
theysaidso_admin_options |
can_compress_scripts |
short_pixel_ai_options |
widget_recent-comments |
widget_recent-posts |
db_upgraded |
Browser metrics Passed 4 tests
This is an overview of browser requirements for ShortPixel Adaptive Images - WebP, AVIF, CDN, Image Optimization
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,150 ▲404 | 13.81 ▼0.47 | 18.70 ▲17.06 | 45.42 ▲5.53 |
Dashboard /wp-admin | 2,204 ▲26 | 5.62 ▲0.02 | 86.59 ▼22.78 | 72.99 ▲27.07 |
Posts /wp-admin/edit.php | 2,127 ▲30 | 2.16 ▲0.21 | 40.12 ▲4.34 | 34.33 ▼0.57 |
Add New Post /wp-admin/post-new.php | 1,419 ▼107 | 18.11 ▼4.80 | 646.66 ▼55.98 | 56.19 ▼3.65 |
Media Library /wp-admin/upload.php | 1,421 ▲21 | 4.24 ▲0.04 | 93.51 ▼21.75 | 75.78 ▲28.81 |
ShortPixel AI /wp-admin/options-general.php?page=shortpixel-ai-settings | 1,609 | 2.70 | 39.41 | 47.92 |
ShortPixel AI On-Boarding /wp-admin/admin.php?page=shortpixel-ai-on-boarding | 951 | 2.08 | 24.47 | 34.40 |
/wp-admin/admin.php?page=shortpixel-ai-import-settings | 727 | 1.12 | 7.37 | 13.60 |
/wp-admin/admin.php?page=shortpixel-ai-export-settings | 743 | 1.12 | 7.38 | 14.55 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% 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
- This plugin did not uninstall without warnings or errors
- > Warning in wp-content/plugins/shortpixel-adaptive-images/includes/controllers/logger.class.php+124
unlink(wp-content/uploads/shortpixel-ai.log): No such file or directory
- Zombie WordPress options were found after uninstall: 7 options
- widget_recent-comments
- db_upgraded
- widget_recent-posts
- short_pixel_ai_options
- theysaidso_admin_options
- can_compress_scripts
- widget_theysaidso_widget
Smoke tests 50% 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)
Please fix the following server-side errors
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=shortpixel-ai-export-settings
- > Warning in wp-content/plugins/shortpixel-adaptive-images/includes/controllers/page.class.php+237
Cannot modify header information - headers already sent by (output started at wp-includes/script-loader.php:2838)
SRP 50% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following
- 17× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'WP_CLI_Command' not found in wp-content/plugins/shortpixel-adaptive-images/includes/controllers/cli.class.php:10
- > PHP Fatal error
Uncaught Error: Interface 'MatthiasMullie\\PathConverter\\ConverterInterface' not found in wp-content/plugins/shortpixel-adaptive-images/includes/libs/path-converter/src/NoConverter.php:14
- > PHP Fatal error
Uncaught Error: Class 'MatthiasMullie\\Minify\\Exceptions\\BasicException' not found in wp-content/plugins/shortpixel-adaptive-images/includes/libs/minify/src/Exceptions/IOException.php:19
- > PHP Fatal error
require_once(): Failed opening required 'SHORTPIXEL_AI_PLUGIN_DIR/includes/libs/psr/cache/src/CacheException.php' (include_path='.:/usr/share/php') in wp-content/plugins/shortpixel-adaptive-images/includes/controllers/js-parser.class.php on line 7
- > PHP Warning
Use of undefined constant SHORTPIXEL_AI_PLUGIN_DIR - assumed 'SHORTPIXEL_AI_PLUGIN_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/shortpixel-adaptive-images/includes/controllers/js-parser.class.php on line 3
- > PHP Fatal error
Uncaught Error: Interface 'MatthiasMullie\\PathConverter\\ConverterInterface' not found in wp-content/plugins/shortpixel-adaptive-images/includes/libs/path-converter/src/Converter.php:19
- > PHP Fatal error
Uncaught Error: Class 'MatthiasMullie\\Minify\\Minify' not found in wp-content/plugins/shortpixel-adaptive-images/includes/libs/minify/src/CSS.php:29
- > PHP Warning
require_once(SHORTPIXEL_AI_PLUGIN_DIR/includes/libs/psr/cache/src/CacheException.php): failed to open stream: No such file or directory in wp-content/plugins/shortpixel-adaptive-images/includes/controllers/js-parser.class.php on line 7
- > PHP Fatal error
Uncaught Error: Class 'ShortPixel\\AI\\JsLoader' not found in wp-content/plugins/shortpixel-adaptive-images/includes/front/jquery-js-loader.class.php:9
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/shortpixel-adaptive-images/includes/views/front-checker.tpl.php:5
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
8 plugin tags: webp, lazy load, responsive images, convert, cdn...
shortpixel-adaptive-images/short-pixel-ai.php 92% from 13 tests
The principal PHP file in "ShortPixel Adaptive Images - WebP, AVIF, CDN, Image Optimization" v. 3.8.0 is loaded by WordPress automatically on each request
Please make the necessary changes and fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("shortpixel-adaptive-images.php" instead of "short-pixel-ai.php")
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
There were no executable files found in this plugin33,609 lines of code in 114 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 32 | 3,819 | 3,228 | 18,975 |
PHP | 58 | 1,975 | 3,262 | 11,313 |
CSS | 9 | 416 | 108 | 2,780 |
SVG | 14 | 0 | 4 | 533 |
HTML | 1 | 0 | 0 | 8 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.54 |
Average class complexity | 40.87 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 448.00 |
Average method complexity | 5.80 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 70.00 |
Code structure | ||
---|---|---|
Namespaces | 11 | |
Interfaces | 5 | |
Traits | 0 | |
Classes | 48 | |
▷ Abstract classes | 4 | 8.33% |
▷ Concrete classes | 44 | 91.67% |
▷ Final classes | 0 | 0.00% |
Methods | 443 | |
▷ Static methods | 126 | 28.44% |
▷ Public methods | 284 | 64.11% |
▷ Protected methods | 62 | 14.00% |
▷ Private methods | 97 | 21.90% |
Functions | 47 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 47 | 100.00% |
Constants | 69 | |
▷ Global constants | 13 | 18.84% |
▷ Class constants | 56 | 81.16% |
▷ Public constants | 56 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
26 PNG files occupy 0.28MB with 0.19MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/robo-happy.png | 8.49KB | 2.83KB | ▼ 66.67% |
assets/img/robo-rtl-scared@2x.png | 21.03KB | 4.61KB | ▼ 78.08% |
assets/img/robo-wink.png | 8.17KB | 2.76KB | ▼ 66.20% |
assets/img/robo-notes@2x.png | 13.11KB | 4.90KB | ▼ 62.64% |
assets/img/robo@2x.png | 10.58KB | 4.23KB | ▼ 60.04% |