Benchmarks
Plugin footprint 99% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
This plugin's installer ran successfully
Server metrics [RAM: ▲0.51MB] [CPU: ▼293.26ms] 75% from 4 tests
A check of server-side resources used by W3 Total Cache
Please take the time to fix the following items
- CPU: The total CPU usage must kept under 500.00ms (currently 659.13ms on /wp-admin/admin.php?page=w3tc_dashboard)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.76 ▲0.25 | 59.70 ▲6.55 |
Dashboard /wp-admin | 3.92 ▲0.52 | 38.17 ▲3.36 |
Posts /wp-admin/edit.php | 4.35 ▲0.71 | 43.75 ▲6.79 |
Add New Post /wp-admin/post-new.php | 7.79 ▲0.82 | 98.42 ▼1,178.66 |
Media Library /wp-admin/upload.php | 3.84 ▲0.54 | 24.10 ▼4.29 |
Database Cache /wp-admin/admin.php?page=w3tc_dbcache | 4.49 | 57.96 |
Extensions /wp-admin/admin.php?page=w3tc_extensions | 3.99 | 31.49 |
Statistics /wp-admin/admin.php?page=w3tc_stats | 3.90 | 26.68 |
Page Cache /wp-admin/admin.php?page=w3tc_pgcache | 4.17 | 33.40 |
Support /wp-admin/admin.php?page=w3tc_support | 3.90 | 28.64 |
Dashboard /wp-admin/admin.php?page=w3tc_dashboard | 4.17 | 659.13 |
User Experience /wp-admin/admin.php?page=w3tc_userexperience | 3.93 | 27.89 |
Object Cache /wp-admin/admin.php?page=w3tc_objectcache | 3.95 | 90.53 |
Fragment Cache /wp-admin/admin.php?page=w3tc_fragmentcache | 3.96 | 30.90 |
Minify /wp-admin/admin.php?page=w3tc_minify | 4.25 | 49.11 |
Server storage [IO: ▲28.76MB] [DB: ▲0.01MB] 33% from 3 tests
Input-output and database impact of this plugin
Please try to fix the following items
- Illegal file modification detected: 7 files (41.90KB) outside of "wp-content/plugins/w3-total-cache/" and "wp-content/uploads/"
- (modified) wp-config.php
- (new file) wp-content/cache/index.html
- (new file) wp-content/w3tc-config/index.html
- (new file) wp-content/advanced-cache.php
- (new file) wp-content/cache/tmp/.empty
- (modified) .htaccess
- (new file) wp-content/w3tc-config/master.php
- Try to limit filesystem usage to 25MB (currently using 28.76MB)
Filesystem: 2,736 new files
Database: no new tables, 1 new option
New WordPress options |
---|
w3tc_extensions_hooks |
Browser metrics Passed 4 tests
Checking browser requirements for W3 Total Cache
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,082 ▲360 | 15.98 ▲0.36 | 6.53 ▲0.93 | 2.63 ▲0.52 |
Dashboard /wp-admin | 3,121 ▲260 | 6.09 ▼0.06 | 116.93 ▼16.02 | 154.87 ▼4.64 |
Posts /wp-admin/edit.php | 2,923 ▲232 | 3.30 ▲0.07 | 66.01 ▲1.74 | 141.45 ▼2.45 |
Add New Post /wp-admin/post-new.php | 1,830 ▲70 | 15.56 ▼1.58 | 459.54 ▲25.13 | 159.92 ▼6.20 |
Media Library /wp-admin/upload.php | 1,930 ▲238 | 5.60 ▲0.10 | 144.94 ▲6.39 | 188.01 ▼14.11 |
Database Cache /wp-admin/admin.php?page=w3tc_dbcache | 2,139 | 2.88 | 62.80 | 130.48 |
Extensions /wp-admin/admin.php?page=w3tc_extensions | 2,139 | 2.83 | 62.63 | 129.79 |
Statistics /wp-admin/admin.php?page=w3tc_stats | 2,170 | 2.79 | 65.26 | 128.41 |
Page Cache /wp-admin/admin.php?page=w3tc_pgcache | 2,174 | 2.81 | 64.07 | 129.43 |
Support /wp-admin/admin.php?page=w3tc_support | 2,174 | 2.91 | 64.28 | 130.32 |
Dashboard /wp-admin/admin.php?page=w3tc_dashboard | 2,170 | 2.86 | 62.35 | 129.01 |
User Experience /wp-admin/admin.php?page=w3tc_userexperience | 2,139 | 2.83 | 63.00 | 129.99 |
Object Cache /wp-admin/admin.php?page=w3tc_objectcache | 2,174 | 2.81 | 62.10 | 130.37 |
Fragment Cache /wp-admin/admin.php?page=w3tc_fragmentcache | 2,174 | 2.90 | 61.09 | 128.58 |
Minify /wp-admin/admin.php?page=w3tc_minify | 2,172 | 2.87 | 62.97 | 135.22 |
Uninstaller [IO: ▲0.03MB] [DB: ▲0.01MB] Passed 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The plugin uninstalled successfully, without leaving any zombie files or tables
Smoke tests 25% 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 0% 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 take a closer look at the following
- 6× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/w3-total-cache/inc/email/minify_error_notification.php
- > /wp-content/plugins/w3-total-cache/inc/popup/common/footer.php
- > /wp-content/plugins/w3-total-cache/inc/options/common/footer.php
- > /wp-content/plugins/w3-total-cache/vendor/mtdowling/jmespath.php/bin/jp.php
- > /wp-content/plugins/w3-total-cache/inc/lightbox/purchase.php
- > /wp-content/plugins/w3-total-cache/Support_Page_View_PageContent.php
- 939× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Aws\\AwsClient' not found in wp-content/plugins/w3-total-cache/vendor/aws/aws-sdk-php/src/KinesisVideoMedia/KinesisVideoMediaClient.php:11
- > PHP Fatal error
Uncaught Error: Class 'Aws\\AwsClient' not found in wp-content/plugins/w3-total-cache/vendor/aws/aws-sdk-php/src/NimbleStudio/NimbleStudioClient.php:99
- > PHP Fatal error
Uncaught Error: Class 'MicrosoftAzure\\Storage\\Blob\\Models\\BlobServiceOptions' not found in wp-content/plugins/w3-total-cache/lib/Azure/MicrosoftAzureStorage/Blob/Models/CommitBlobBlocksOptions.php:39
- > PHP Fatal error
Uncaught Error: Class 'Aws\\Exception\\AwsException' not found in wp-content/plugins/w3-total-cache/vendor/aws/aws-sdk-php/src/CodeBuild/Exception/CodeBuildException.php:9
- > PHP Fatal error
Uncaught Error: Class 'W3TC\\Enterprise_SnsBase' not found in wp-content/plugins/w3-total-cache/Enterprise_CacheFlush_MakeSnsEvent.php:7
- > PHP Fatal error
Uncaught Error: Class 'W3TC\\CdnEngine_Base' not found in wp-content/plugins/w3-total-cache/CdnEngine_Mirror.php:7
- > PHP Fatal error
Uncaught Error: Class 'Aws\\Api\\Serializer\\RestSerializer' not found in wp-content/plugins/w3-total-cache/vendor/aws/aws-sdk-php/src/Api/Serializer/RestJsonSerializer.php:11
- > PHP Fatal error
Uncaught Error: Class 'MicrosoftAzure\\Storage\\Common\\Internal\\Authentication\\StorageAuthScheme' not found in wp-content/plugins/w3-total-cache/lib/Azure/MicrosoftAzureStorage/Common/Internal/Authentication/TableSharedKeyLiteAuthScheme.php:43
- > PHP Fatal error
Uncaught Error: Class 'Aws\\AwsClient' not found in wp-content/plugins/w3-total-cache/vendor/aws/aws-sdk-php/src/Swf/SwfClient.php:84
- > PHP Fatal error
Uncaught Error: Class 'Aws\\Exception\\AwsException' not found in wp-content/plugins/w3-total-cache/vendor/aws/aws-sdk-php/src/ApplicationCostProfiler/Exception/ApplicationCostProfilerException.php:9
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Please fix the following user-side errors
- 9 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=w3tc_minify
- > Intervention (severe) in unknown
/wp-admin/admin.php?page=w3tc_setup_guide - Blocked attempt to show a 'beforeunload' confirmation panel for a frame that never had a user gesture since its load. https://www.chromestatus.com/feature/5082396709879808
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 88% from 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
Attributes that require attention:
- Plugin Name: "Plugin Name" should be replaced with the name of your plugin on the first line (
=== w3-total-cache ===
) - Tags: Please delete some tags, you are using 18 tag instead of maximum 10
w3-total-cache/w3-total-cache.php 92% from 13 tests
The main file in "W3 Total Cache" v. 2.2.1 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
- Description: The description should be shorter than 140 characters (currently 244 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Everything looks great! No dangerous files found in this plugin195,327 lines of code in 2,607 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 2,491 | 29,203 | 82,486 | 166,020 |
PO File | 4 | 5,286 | 6,743 | 15,592 |
JavaScript | 45 | 1,234 | 554 | 6,047 |
Markdown | 18 | 1,188 | 0 | 3,638 |
CSS | 20 | 431 | 119 | 2,500 |
JSON | 10 | 6 | 0 | 989 |
Java | 1 | 74 | 77 | 231 |
YAML | 4 | 25 | 0 | 87 |
INI | 6 | 15 | 16 | 84 |
reStructuredText | 1 | 35 | 29 | 59 |
XML | 1 | 0 | 4 | 57 |
Dockerfile | 1 | 8 | 0 | 10 |
make | 1 | 4 | 0 | 9 |
SVG | 4 | 0 | 0 | 4 |
PHP code 50% from 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
Please tend to the following items
- Method cyclomatic complexity should be reduced to less than 100 (currently 179)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 12.62 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 387.00 |
Average method complexity | 3.29 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 179.00 |
Code structure | ||
---|---|---|
Namespaces | 595 | |
Interfaces | 64 | |
Traits | 26 | |
Classes | 1,538 | |
▷ Abstract classes | 26 | 1.69% |
▷ Concrete classes | 1,512 | 98.31% |
▷ Final classes | 31 | 2.05% |
Methods | 8,534 | |
▷ Static methods | 1,294 | 15.16% |
▷ Public methods | 7,021 | 82.27% |
▷ Protected methods | 268 | 3.14% |
▷ Private methods | 1,245 | 14.59% |
Functions | 696 | |
▷ Named functions | 213 | 30.60% |
▷ Anonymous functions | 483 | 69.40% |
Constants | 1,043 | |
▷ Global constants | 292 | 28.00% |
▷ Class constants | 751 | 72.00% |
▷ Public constants | 751 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
46 compressed PNG files occupy 0.12MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
pub/img/transparent-comet.png | 17.16KB | 18.56KB | 0.00% |
pub/img/google-logo.png | 1.19KB | 1.22KB | 0.00% |
pub/img/white-grad.png | 0.08KB | 0.18KB | 0.00% |
pub/img/overlay/lock.png | 0.29KB | 0.29KB | ▼ 2.65% |
pub/img/w3tc_w3tc-logo-retina.png | 1.16KB | 1.22KB | 0.00% |