Benchmarks
Plugin footprint 82% 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.00MB] [CPU: ▼5.97ms] Passed 4 tests
A check of server-side resources used by REST Cache
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.46 ▲0.00 | 41.10 ▼3.71 |
Dashboard /wp-admin | 3.31 ▲0.00 | 51.54 ▼3.59 |
Posts /wp-admin/edit.php | 3.36 ▲0.00 | 47.28 ▼2.67 |
Add New Post /wp-admin/post-new.php | 5.89 ▲0.00 | 88.39 ▼10.11 |
Media Library /wp-admin/upload.php | 3.23 ▲0.00 | 31.24 ▼6.48 |
Server storage [IO: ▲4.38MB] [DB: ▲0.00MB] 67% from 3 tests
Input-output and database impact of this plugin
Please try to fix the following items
- There were 1 file (0.84KB) illegally modified outside of "wp-content/plugins/rest-cache/" and "wp-content/uploads/"
- (modified) .htaccess
Filesystem: 190 new files
Database: no new tables, 8 new options
New WordPress options |
---|
theysaidso_admin_options |
widget_recent-comments |
widget_theysaidso_widget |
widget_recent-posts |
rest-cache-version |
can_compress_scripts |
db_upgraded |
rest-cache-first-run |
Browser metrics Passed 4 tests
REST Cache: an overview of browser usage
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,789 ▲28 | 14.19 ▼0.39 | 2.32 ▲0.49 | 51.21 ▲6.45 |
Dashboard /wp-admin | 2,195 ▲18 | 5.65 ▲0.02 | 95.29 ▼14.81 | 43.68 ▼10.44 |
Posts /wp-admin/edit.php | 2,103 ▼0 | 2.00 ▼0.03 | 38.07 ▼6.88 | 33.47 ▼4.79 |
Add New Post /wp-admin/post-new.php | 1,544 ▲4 | 23.32 ▲0.17 | 644.07 ▲8.62 | 55.00 ▼14.49 |
Media Library /wp-admin/upload.php | 1,397 ▼3 | 4.29 ▲0.07 | 101.12 ▼2.23 | 45.76 ▼2.48 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
You still need to fix the following
- The uninstall procedure has failed, leaving 8 options in the database
- widget_theysaidso_widget
- widget_recent-comments
- rest-cache-version
- widget_recent-posts
- theysaidso_admin_options
- rest-cache-first-run
- db_upgraded
- can_compress_scripts
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 0% 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
- 45× GET requests to PHP files return non-empty strings (only 10 are shown):
- > /wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php
- > /wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/button.blade.php
- > /wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Mail/resources/views/html/subcopy.blade.php
- > /wp-content/plugins/rest-cache/service/resources/views/pages/admin.blade.php
- > /wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/layout.blade.php
- > /wp-content/plugins/rest-cache/service/vendor/hautelook/phpass/Tests/bootstrap.php
- > /wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Pagination/resources/views/semantic-ui.blade.php
- > /wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/table.blade.php
- > /wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Mail/resources/views/text/header.blade.php
- > /wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/layout.blade.php
- 2445× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Corcel\\Tests\\TestCase' not found in wp-content/plugins/rest-cache/service/vendor/jgrossi/corcel/tests/Unit/Model/MenuTest.php:17
- > PHP Fatal error
Uncaught Error: Class 'Egulias\\EmailValidator\\Exception\\InvalidEmail' not found in wp-content/plugins/rest-cache/service/vendor/egulias/email-validator/src/Exception/NoLocalPart.php:5
- > PHP Fatal error
Uncaught Error: Class 'Thunder\\Shortcode\\Tests\\AbstractTestCase' not found in wp-content/plugins/rest-cache/service/vendor/thunderer/shortcode/tests/ShortcodeTest.php:16
- > PHP Fatal error
Uncaught Error: Class 'Symfony\\Component\\Mime\\Header\\AbstractHeader' not found in wp-content/plugins/rest-cache/service/vendor/symfony/mime/Header/IdentificationHeader.php:22
- > PHP Fatal error
Uncaught Error: Class 'Illuminate\\Database\\Migrations\\Migration' not found in wp-content/plugins/rest-cache/service/vendor/jgrossi/corcel/tests/database/migrations/2017_07_05_181600_create_corcel_term_taxonomy_table.php:7
- > PHP Fatal error
Uncaught Error: Interface 'Illuminate\\Queue\\Failed\\FailedJobProviderInterface' not found in wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Queue/Failed/DynamoDbFailedJobProvider.php:12
- > PHP Fatal error
Uncaught Error: Class 'Ramsey\\Uuid\\Codec\\StringCodec' not found in wp-content/plugins/rest-cache/service/vendor/ramsey/uuid/src/Codec/GuidStringCodec.php:30
- > PHP Notice
Undefined variable: factory in wp-content/plugins/rest-cache/service/vendor/jgrossi/corcel/tests/database/factories/CommentFactory.php on line 6
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/rest-cache/service/vendor/swiftmailer/swiftmailer/tests/unit/Swift/KeyCache/ArrayKeyCacheTest.php:3
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\SimpleCache\\CacheInterface' not found in wp-content/plugins/rest-cache/service/vendor/laravel/framework/src/Illuminate/Contracts/Cache/Repository.php:8
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
No browser errors were detected
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
3 plugin tags: rest, cache, rest cache
rest-cache/rest-cache.php 92% from 13 tests
"REST Cache" version 1.0.0's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
The following require your attention:
- Description: Please keep the plugin description shorter than 140 characters (currently 285 characters long)
Code Analysis 3% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Almost there! Just fix the following issues
- Do not include executable or dangerous files in your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/rest-cache/service/vendor/swiftmailer/swiftmailer/tests/_samples/smime/ca.crt
- ☣ wp-content/plugins/rest-cache/service/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt.crt
- ☣ wp-content/plugins/rest-cache/service/vendor/swiftmailer/swiftmailer/tests/_samples/smime/encrypt2.crt
- ☣ wp-content/plugins/rest-cache/service/vendor/swiftmailer/swiftmailer/tests/_samples/smime/intermediate.crt
- ☣ wp-content/plugins/rest-cache/service/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign.crt
- ☣ wp-content/plugins/rest-cache/service/vendor/swiftmailer/swiftmailer/tests/_samples/smime/sign2.crt
- .bat - Batch File in Windows
- ☣ wp-content/plugins/rest-cache/service/vendor/bin/carbon.bat
- ☣ wp-content/plugins/rest-cache/service/vendor/nesbot/carbon/bin/carbon.bat
- ☣ wp-content/plugins/rest-cache/service/vendor/bin/commonmark.bat
- ☣ wp-content/plugins/rest-cache/service/vendor/perry-rylance/dom-document/generate-documentation.bat
- ☣ wp-content/plugins/rest-cache/service/vendor/bin/php-parse.bat
- ☣ wp-content/plugins/rest-cache/service/vendor/bin/psysh.bat
- ☣ wp-content/plugins/rest-cache/service/vendor/bin/var-dump-server.bat
- .exe - Executable in Windows
- ☣ wp-content/plugins/rest-cache/service/vendor/symfony/console/Resources/bin/hiddeninput.exe
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 4,381 | 62,823 | 167,720 | 316,667 |
JSON | 113 | 19 | 0 | 28,655 |
Markdown | 124 | 4,350 | 1 | 13,473 |
CSS | 32 | 3,680 | 154 | 11,076 |
SVG | 11 | 0 | 12 | 8,962 |
HTML | 5 | 1,100 | 58 | 5,307 |
XSD | 4 | 111 | 48 | 2,958 |
JavaScript | 31 | 525 | 566 | 2,144 |
yacc | 3 | 307 | 10 | 1,891 |
reStructuredText | 8 | 733 | 319 | 1,624 |
Blade | 32 | 185 | 55 | 1,072 |
YAML | 15 | 56 | 6 | 333 |
XML | 10 | 17 | 9 | 309 |
Bourne Shell | 7 | 28 | 5 | 82 |
C | 1 | 18 | 16 | 72 |
make | 4 | 17 | 4 | 49 |
DOS Batch | 7 | 0 | 0 | 25 |
Vuejs Component | 1 | 2 | 0 | 21 |
Sass | 3 | 4 | 7 | 17 |
Dockerfile | 2 | 9 | 0 | 12 |
PHP code 50% from 2 tests
A short review of cyclomatic complexity and code structure
Please fix the following
- Method cyclomatic complexity should be reduced to less than 100 (currently 334)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.35 |
Average class complexity | 8.83 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 348.00 |
Average method complexity | 2.24 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 334.00 |
Code structure | ||
---|---|---|
Namespaces | 531 | |
Interfaces | 425 | |
Traits | 178 | |
Classes | 2,866 | |
▷ Abstract classes | 151 | 5.27% |
▷ Concrete classes | 2,715 | 94.73% |
▷ Final classes | 370 | 13.63% |
Methods | 23,045 | |
▷ Static methods | 1,768 | 7.67% |
▷ Public methods | 17,917 | 77.75% |
▷ Protected methods | 3,723 | 16.16% |
▷ Private methods | 1,405 | 6.10% |
Functions | 3,245 | |
▷ Named functions | 349 | 10.76% |
▷ Anonymous functions | 2,896 | 89.24% |
Constants | 1,543 | |
▷ Global constants | 90 | 5.83% |
▷ Class constants | 1,453 | 94.17% |
▷ Public constants | 1,380 | 94.98% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
14 PNG files occupy 0.04MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
lib/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png | 5.74KB | 2.08KB | ▼ 63.82% |
lib/images/ui-icons_f9bd01_256x240.png | 4.57KB | 4.18KB | ▼ 8.43% |
lib/images/ui-icons_469bdd_256x240.png | 4.57KB | 4.18KB | ▼ 8.43% |
lib/images/ui-icons_217bc0_256x240.png | 4.57KB | 4.18KB | ▼ 8.43% |
lib/images/ui-bg_inset-hard_100_fcfdfd_1x100.png | 0.34KB | 0.10KB | ▼ 71.14% |