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 gracefully, with no errors
Server metrics [RAM: ▲4.86MB] [CPU: ▼272.23ms] Passed 4 tests
Server-side resources used by Add Expires Headers & Optimized Minify
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 8.64 ▲5.13 | 76.34 ▲23.83 |
Dashboard /wp-admin | 8.66 ▲5.25 | 58.37 ▲26.98 |
Posts /wp-admin/edit.php | 8.66 ▲5.02 | 63.37 ▲26.76 |
Add New Post /wp-admin/post-new.php | 11.01 ▲4.04 | 116.56 ▼1,163.25 |
Media Library /wp-admin/upload.php | 8.66 ▲5.36 | 47.41 ▲23.75 |
Freemius Debug [v.2.4.3] /wp-admin/admin.php?page=freemius | 8.66 | 45.38 |
Server storage [IO: ▲3.47MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 218 new files
Database: no new tables, 4 new options
New WordPress options |
---|
fs_debug_mode |
fs_accounts |
fs_gdpr |
fs_active_plugins |
Browser metrics Passed 4 tests
An overview of browser requirements for Add Expires Headers & Optimized Minify
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,852 ▲94 | 15.15 ▼0.63 | 6.29 ▼0.14 | 3.06 ▲0.60 |
Dashboard /wp-admin | 2,959 ▲108 | 6.18 ▼0.10 | 120.09 ▼15.62 | 201.14 ▲35.29 |
Posts /wp-admin/edit.php | 2,735 ▲78 | 3.12 ▼0.12 | 64.95 ▲0.87 | 158.41 ▲11.90 |
Add New Post /wp-admin/post-new.php | 1,674 ▲13 | 22.29 ▲5.17 | 414.58 ▼25.72 | 164.86 ▲10.45 |
Media Library /wp-admin/upload.php | 1,755 ▲57 | 5.49 ▼0.00 | 128.66 ▼22.08 | 224.51 ▲35.79 |
Freemius Debug [v.2.4.3] /wp-admin/admin.php?page=freemius | 1,484 | 2.51 | 52.17 | 115.02 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
- Uninstall procedure validation failed for this plugin
- > Notice in wp-content/plugins/add-expires-headers/freemius/includes/class-freemius.php+8575
Undefined property: stdClass::$plugins
- This plugin does not fully uninstall, leaving 5 options in the database
- fs_accounts
- aeh-last-cache-update
- fs_active_plugins
- fs_debug_mode
- fs_gdpr
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though no errors were found, 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
Please fix the following
- 7× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Class 'MatthiasMullie\\Minify\\AEH\\Exceptions\\BasicException' not found in wp-content/plugins/add-expires-headers/libs/matthiasmullie/minify/src/Exceptions/FileImportException.php:19
- > PHP Fatal error
Uncaught Error: Class 'MatthiasMullie\\Minify\\AEH\\Minify' not found in wp-content/plugins/add-expires-headers/libs/matthiasmullie/minify/src/CSS.php:29
- > PHP Fatal error
Uncaught Error: Interface 'MatthiasMullie\\PathConverter\\AEH\\ConverterInterface' not found in wp-content/plugins/add-expires-headers/libs/matthiasmullie/path-converter/src/NoConverter.php:14
- > PHP Fatal error
Uncaught Error: Class 'MatthiasMullie\\Minify\\AEH\\Minify' not found in wp-content/plugins/add-expires-headers/libs/matthiasmullie/minify/src/JS.php:24
- > PHP Fatal error
Uncaught Error: Class 'MatthiasMullie\\Minify\\AEH\\Exception' not found in wp-content/plugins/add-expires-headers/libs/matthiasmullie/minify/src/Exceptions/BasicException.php:21
- > PHP Fatal error
Uncaught Error: Class 'MatthiasMullie\\Minify\\AEH\\Exceptions\\BasicException' not found in wp-content/plugins/add-expires-headers/libs/matthiasmullie/minify/src/Exceptions/IOException.php:19
- > PHP Fatal error
Uncaught Error: Interface 'MatthiasMullie\\PathConverter\\AEH\\ConverterInterface' not found in wp-content/plugins/add-expires-headers/libs/matthiasmullie/path-converter/src/Converter.php:19
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/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 require attention:
- Tags: Please delete some tags, you are using 19 tag instead of maximum 10
add-expires-headers/add-expires-headers.php 92% from 13 tests
"Add Expires Headers & Optimized Minify" version 2.6's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
It is important to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 198 characters long)
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
Good job! No executable or dangerous file extensions detected33,942 lines of code in 152 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 134 | 7,720 | 17,295 | 33,497 |
JavaScript | 5 | 49 | 69 | 283 |
CSS | 13 | 0 | 12 | 162 |
PHP code 50% from 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
Please tend to the following items
- Class cyclomatic complexity should be reduced to less than 1000 (currently 2,910)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.61 |
Average class complexity | 71.87 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 2,910.00 |
Average method complexity | 4.61 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 86.00 |
Code structure | ||
---|---|---|
Namespaces | 3 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 62 | |
▷ Abstract classes | 6 | 9.68% |
▷ Concrete classes | 56 | 90.32% |
▷ Final classes | 0 | 0.00% |
Methods | 1,273 | |
▷ Static methods | 177 | 13.90% |
▷ Public methods | 880 | 69.13% |
▷ Protected methods | 60 | 4.71% |
▷ Private methods | 333 | 26.16% |
Functions | 107 | |
▷ Named functions | 94 | 87.85% |
▷ Anonymous functions | 13 | 12.15% |
Constants | 131 | |
▷ Global constants | 105 | 80.15% |
▷ Class constants | 26 | 19.85% |
▷ Public constants | 26 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
6 PNG files occupy 0.04MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
freemius/assets/img/AddExpiresHeaders.png | 6.39KB | 3.12KB | ▼ 51.25% |
assests/images/AddExpiresHeaders.png | 6.11KB | 2.86KB | ▼ 53.27% |
freemius/assets/img/theme-icon.png | 10.97KB | 5.78KB | ▼ 47.37% |
assests/images/AddExpiresHeadersFevicon.png | 2.90KB | 0.79KB | ▼ 72.70% |
assests/images/5-stars.png | 3.63KB | 2.25KB | ▼ 37.92% |