Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully
Server metrics [RAM: ▲3.21MB] [CPU: ▲20.59ms] Passed 4 tests
Server-side resources used by wpEasyDocs
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.69 ▲3.22 | 62.03 ▲22.44 |
Dashboard /wp-admin | 6.54 ▲3.24 | 85.28 ▲33.28 |
Posts /wp-admin/edit.php | 6.60 ▲3.24 | 77.80 ▲23.09 |
Add New Post /wp-admin/post-new.php | 9.08 ▲3.20 | 118.32 ▲12.93 |
Media Library /wp-admin/upload.php | 6.41 ▲3.18 | 62.73 ▲23.91 |
Server storage [IO: ▲5.94MB] [DB: ▲0.01MB] Passed 3 tests
Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 1,171 new files
Database: 6 new tables, 6 new options
New tables |
---|
ed_migrations |
ed_folders |
ed_files |
ed_file_tag |
ed_tags |
ed_types |
New WordPress options |
---|
can_compress_scripts |
theysaidso_admin_options |
db_upgraded |
widget_theysaidso_widget |
widget_recent-comments |
widget_recent-posts |
Browser metrics Passed 4 tests
This is an overview of browser requirements for wpEasyDocs
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,929 ▲168 | 13.83 ▼0.36 | 9.82 ▲8.29 | 44.06 ▼1.28 |
Dashboard /wp-admin | 2,222 ▲45 | 5.67 ▼0.03 | 84.36 ▼2.81 | 38.26 ▼6.93 |
Posts /wp-admin/edit.php | 2,127 ▲27 | 2.10 ▲0.12 | 39.53 ▲4.77 | 38.56 ▼1.17 |
Add New Post /wp-admin/post-new.php | 1,551 ▲25 | 22.99 ▼0.18 | 670.91 ▲4.66 | 55.59 ▼2.44 |
Media Library /wp-admin/upload.php | 1,427 ▲30 | 4.33 ▲0.14 | 95.07 ▼5.16 | 44.70 ▲1.68 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
- The plugin did not uninstall successfully, leaving 6 tables in the database
- ed_types
- ed_files
- ed_tags
- ed_file_tag
- ed_migrations
- ed_folders
- This plugin does not fully uninstall, leaving 6 options in the database
- db_upgraded
- widget_recent-posts
- can_compress_scripts
- theysaidso_admin_options
- widget_recent-comments
- widget_theysaidso_widget
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Good news, no errors were detected
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
The following issues need your attention
- 14× GET requests to PHP files return non-empty strings (only 10 are shown):
- > /wp-content/plugins/easydocs/admin/partials/easy-docs-admin-display.php
- > /wp-content/plugins/easydocs/resources/views/shortcode/main.blade.php
- > /wp-content/plugins/easydocs/resources/views/widget/folders.blade.php
- > /wp-content/plugins/easydocs/resources/views/widget/button.blade.php
- > /wp-content/plugins/easydocs/resources/views/partials/files.blade.php
- > /wp-content/plugins/easydocs/vendor/symfony/translation/Resources/bin/translation-status.php
- > /wp-content/plugins/easydocs/resources/views/layouts/file.blade.php
- > /wp-content/plugins/easydocs/vendor/duncan3dc/blade/travis/laravel.php
- > /wp-content/plugins/easydocs/resources/views/widget/file.blade.php
- > /wp-content/plugins/easydocs/resources/views/shortcode/folders.blade.php
- 440× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Illuminate\\Console\\Command' not found in wp-content/plugins/easydocs/vendor/illuminate/console/Scheduling/ScheduleFinishCommand.php:7
- > PHP Fatal error
Uncaught Error: Class 'Illuminate\\Database\\Grammar' not found in wp-content/plugins/easydocs/vendor/illuminate/database/Schema/Grammars/Grammar.php:13
- > PHP Fatal error
Uncaught Error: Class 'Illuminate\\Database\\Query\\Processors\\Processor' not found in wp-content/plugins/easydocs/vendor/illuminate/database/Query/Processors/SqlServerProcessor.php:9
- > PHP Fatal error
Uncaught Error: Class 'Symfony\\Component\\Console\\Tests\\Descriptor\\AbstractDescriptorTest' not found in wp-content/plugins/easydocs/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php:16
- > PHP Fatal error
Uncaught Error: Interface 'Symfony\\Component\\Translation\\Catalogue\\OperationInterface' not found in wp-content/plugins/easydocs/vendor/symfony/translation/Catalogue/AbstractOperation.php:27
- > PHP Fatal error
Uncaught Error: Class 'Illuminate\\Database\\Console\\Migrations\\BaseCommand' not found in wp-content/plugins/easydocs/vendor/illuminate/database/Console/Migrations/ResetCommand.php:9
- > PHP Fatal error
Uncaught Error: Class 'Illuminate\\Support\\ServiceProvider' not found in wp-content/plugins/easydocs/vendor/illuminate/database/DatabaseServiceProvider.php:14
- > PHP Fatal error
Uncaught Error: Class 'Symfony\\Component\\Finder\\Iterator\\FilterIterator' not found in wp-content/plugins/easydocs/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php:21
- > PHP Fatal error
Uncaught Error: Interface 'Illuminate\\Contracts\\Bus\\Dispatcher' not found in wp-content/plugins/easydocs/vendor/illuminate/support/Testing/Fakes/BusFake.php:8
- > PHP Fatal error
Uncaught Error: Class 'Symfony\\Component\\Console\\Helper\\Helper' not found in wp-content/plugins/easydocs/vendor/symfony/console/Helper/FormatterHelper.php:21
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser issues were found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that need to be fixed:
- Screenshots: Add a description for screenshot #3 in easydocs/assets to your readme.txt
easydocs/easy-docs.php 85% from 13 tests
The principal PHP file in "wpEasyDocs" v. 1.1.0 is loaded by WordPress automatically on each request
Please make the necessary changes and fix the following:
- Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
- Main file name: The principal plugin file should be the same as the plugin slug ("easydocs.php" instead of "easy-docs.php")
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
Please fix the following items
- Do not distribute dangerous files with your plugin
- .exe - Executable in Windows
- ☣ wp-content/plugins/easydocs/vendor/symfony/console/Resources/bin/hiddeninput.exe
- .bat - Batch File in Windows
- ☣ wp-content/plugins/easydocs/vendor/bin/upgrade-carbon.bat
- ☣ wp-content/plugins/easydocs/vendor/nesbot/carbon/bin/upgrade-carbon.bat
- .exe - Executable in Windows
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 866 | 16,206 | 45,069 | 63,276 |
JavaScript | 13 | 1,008 | 511 | 5,792 |
JSON | 49 | 0 | 0 | 3,206 |
XSD | 3 | 92 | 48 | 2,803 |
CSS | 10 | 337 | 28 | 1,913 |
Markdown | 47 | 776 | 0 | 1,716 |
Blade | 11 | 62 | 18 | 680 |
XML | 26 | 32 | 0 | 592 |
C | 1 | 52 | 8 | 223 |
YAML | 7 | 3 | 16 | 104 |
reStructuredText | 1 | 47 | 30 | 48 |
m4 | 1 | 11 | 11 | 41 |
C/C++ Header | 1 | 12 | 8 | 40 |
DOS Batch | 2 | 0 | 0 | 8 |
SVG | 2 | 0 | 0 | 8 |
Bourne Shell | 1 | 3 | 1 | 6 |
SQL | 1 | 0 | 1 | 0 |
PHP code 50% from 2 tests
This is a very shot review of cyclomatic complexity and code structure
These items need your attention
- Cyclomatic complexity of methods has to be reduced to less than 100 (currently 159)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.31 |
Average class complexity | 8.86 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 263.00 |
Average method complexity | 2.01 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 159.00 |
Code structure | ||
---|---|---|
Namespaces | 149 | |
Interfaces | 133 | |
Traits | 51 | |
Classes | 578 | |
▷ Abstract classes | 37 | 6.40% |
▷ Concrete classes | 541 | 93.60% |
▷ Final classes | 4 | 0.74% |
Methods | 6,361 | |
▷ Static methods | 534 | 8.39% |
▷ Public methods | 4,937 | 77.61% |
▷ Protected methods | 1,191 | 18.72% |
▷ Private methods | 233 | 3.66% |
Functions | 674 | |
▷ Named functions | 127 | 18.84% |
▷ Anonymous functions | 547 | 81.16% |
Constants | 145 | |
▷ Global constants | 16 | 11.03% |
▷ Class constants | 129 | 88.97% |
▷ Public constants | 129 | 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 compressed PNG files occupy 0.16MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/screenshot-1.png | 24.70KB | 24.45KB | ▼ 1.01% |
assets/icon-128x128.png | 4.14KB | 4.31KB | 0.00% |
assets/icon-256x256.png | 5.54KB | 6.09KB | 0.00% |
assets/banner-772x250.png | 23.83KB | 25.01KB | 0.00% |
assets/screenshot-2.png | 22.45KB | 22.99KB | 0.00% |