Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Install script ran successfully
Server metrics [RAM: ▲0.65MB] [CPU: ▼1.81ms] Passed 4 tests
An overview of server-side resources used by WP Cloudflare Guard
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.92 ▲0.45 | 47.13 ▲5.12 |
Dashboard /wp-admin | 4.04 ▲0.69 | 56.24 ▼8.38 |
Posts /wp-admin/edit.php | 4.15 ▲0.79 | 56.81 ▲8.96 |
Add New Post /wp-admin/post-new.php | 6.64 ▲0.75 | 94.55 ▼5.97 |
Media Library /wp-admin/upload.php | 3.96 ▲0.73 | 46.41 ▲2.00 |
WP Cloudflare Guard /wp-admin/admin.php?page=wpcfg-cloudflare | 4.04 | 38.46 |
Bad Login /wp-admin/admin.php?page=wpcfg-bad-login | 4.02 | 39.97 |
Server storage [IO: ▲0.42MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 136 new files
Database: no new tables, 7 new options
New WordPress options |
---|
widget_theysaidso_widget |
theysaidso_admin_options |
widget_recent-posts |
db_upgraded |
widget_recent-comments |
can_compress_scripts |
wrm_a87d157b6f87b8521211 |
Browser metrics Passed 4 tests
This is an overview of browser requirements for WP Cloudflare Guard
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,821 ▲75 | 14.39 ▲0.12 | 1.74 ▲0.08 | 43.54 ▲1.69 |
Dashboard /wp-admin | 2,224 ▲44 | 5.68 ▲0.02 | 87.19 ▼4.38 | 41.49 ▲2.75 |
Posts /wp-admin/edit.php | 2,132 ▲32 | 2.02 ▲0.02 | 35.14 ▲0.21 | 33.77 ▼5.20 |
Add New Post /wp-admin/post-new.php | 1,553 ▲27 | 23.18 ▲2.20 | 694.78 ▲12.71 | 58.94 ▲2.03 |
Media Library /wp-admin/upload.php | 1,429 ▲32 | 4.26 ▲0.03 | 102.23 ▼22.85 | 45.68 ▼5.47 |
WP Cloudflare Guard /wp-admin/admin.php?page=wpcfg-cloudflare | 859 | 2.05 | 23.74 | 27.52 |
Bad Login /wp-admin/admin.php?page=wpcfg-bad-login | 837 | 2.15 | 25.04 | 29.13 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
You still need to fix the following
- This plugin did not uninstall successfully, leaving 7 options in the database
- wrm_a87d157b6f87b8521211
- theysaidso_admin_options
- widget_recent-comments
- widget_recent-posts
- widget_theysaidso_widget
- db_upgraded
- can_compress_scripts
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Everything seems fine, however this is by no means an exhaustive test
SRP 50% 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
- 68× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function TypistTech\\WPCFG\\Vendor\\TypistTech\\WPBetterSettings\\esc_html() in wp-content/plugins/wp-cloudflare-guard/vendor/typisttech/wp-better-settings/src/partials/fields/checkbox.php:24
- > PHP Fatal error
Uncaught Error: Class 'TypistTech\\WPCFG\\Vendor\\League\\Container\\Container' not found in wp-content/plugins/wp-cloudflare-guard/src/Container.php:36
- > PHP Fatal error
Uncaught Error: Interface 'TypistTech\\WPCFG\\LoadableInterface' not found in wp-content/plugins/wp-cloudflare-guard/src/Cloudflare/Admin.php:35
- > PHP Fatal error
Uncaught Error: Interface 'TypistTech\\WPCFG\\Vendor\\League\\Container\\Argument\\ArgumentResolverInterface' not found in wp-content/plugins/wp-cloudflare-guard/vendor/league/container/src/ReflectionContainer.php:12
- > PHP Fatal error
Uncaught Error: Interface 'TypistTech\\WPCFG\\Vendor\\League\\Container\\ImmutableContainerAwareInterface' not found in wp-content/plugins/wp-cloudflare-guard/vendor/league/container/src/Definition/DefinitionFactoryInterface.php:7
- > PHP Fatal error
Uncaught Error: Interface 'TypistTech\\WPCFG\\Vendor\\League\\Container\\ContainerInterface' not found in wp-content/plugins/wp-cloudflare-guard/vendor/league/container/src/Container.php:16
- > PHP Fatal error
Uncaught Error: Interface 'TypistTech\\WPCFG\\LoadableInterface' not found in wp-content/plugins/wp-cloudflare-guard/src/Ads/I18nPromoter.php:31
- > PHP Fatal error
Uncaught Error: Class 'TypistTech\\WPCFG\\Vendor\\TypistTech\\WPContainedHook\\AbstractHook' not found in wp-content/plugins/wp-cloudflare-guard/vendor/typisttech/wp-contained-hook/src/Action.php:22
- > PHP Fatal error
Uncaught Error: Interface 'TypistTech\\WPCFG\\Vendor\\League\\Container\\ImmutableContainerAwareInterface' not found in wp-content/plugins/wp-cloudflare-guard/vendor/league/container/src/Argument/ArgumentResolverInterface.php:8
- > PHP Fatal error
Uncaught Error: Interface 'TypistTech\\WPCFG\\Vendor\\Interop\\Container\\Exception\\ContainerException' not found in wp-content/plugins/wp-cloudflare-guard/vendor/container-interop/container-interop/src/Interop/Container/Exception/NotFoundException.php:13
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 97% 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
These attributes need to be fixed:
- Screenshots: Add descriptions for screenshots #2, #3 in wp-cloudflare-guard/assets to your readme.txt
wp-cloudflare-guard/wp-cloudflare-guard.php Passed 13 tests
The main PHP script in "WP Cloudflare Guard" version 0.2.0 is automatically included on every request by WordPress
46 characters long description:
Connecting WordPress with Cloudflare firewall.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Everything looks great! No dangerous files found in this plugin5,143 lines of code in 125 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 113 | 1,237 | 3,940 | 4,116 |
JSON | 9 | 0 | 0 | 961 |
Bourne Again Shell | 1 | 8 | 0 | 33 |
Markdown | 1 | 2 | 0 | 19 |
JavaScript | 1 | 2 | 3 | 14 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.26 |
Average class complexity | 3.87 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 44.00 |
Average method complexity | 1.88 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 18.00 |
Code structure | ||
---|---|---|
Namespaces | 28 | |
Interfaces | 28 | |
Traits | 6 | |
Classes | 65 | |
▷ Abstract classes | 6 | 9.23% |
▷ Concrete classes | 59 | 90.77% |
▷ Final classes | 35 | 59.32% |
Methods | 365 | |
▷ Static methods | 20 | 5.48% |
▷ Public methods | 289 | 79.18% |
▷ Protected methods | 28 | 7.67% |
▷ Private methods | 48 | 13.15% |
Functions | 20 | |
▷ Named functions | 6 | 30.00% |
▷ Anonymous functions | 14 | 70.00% |
Constants | 4 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 4 | 100.00% |
▷ Public constants | 4 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
There are no PNG files in this plugin