Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲3.22MB] [CPU: ▲16.34ms] 75% from 4 tests
This is a short check of server-side resources used by Jetpack Protect
Please have a look at the following items
- CPU: The total CPU usage must kept under 500.00ms (currently 636.87ms on /wp-admin/admin.php?page=jetpack-protect)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 7.76 ▲4.30 | 45.16 ▲8.63 |
Dashboard /wp-admin | 6.41 ▲3.10 | 62.74 ▲15.59 |
Posts /wp-admin/edit.php | 6.46 ▲3.10 | 61.41 ▲15.16 |
Add New Post /wp-admin/post-new.php | 9.47 ▲3.58 | 125.76 ▲31.54 |
Media Library /wp-admin/upload.php | 6.33 ▲3.10 | 58.86 ▲25.96 |
My Jetpack /wp-admin/admin.php?page=my-jetpack | 7.07 | 996.75 |
Protect /wp-admin/admin.php?page=jetpack-protect | 7.20 | 636.87 |
Server storage [IO: ▲4.95MB] [DB: ▲0.07MB] Passed 3 tests
Filesystem and database footprint
This plugin was installed successfully
Filesystem: 388 new files
Database: no new tables, 12 new options
New WordPress options |
---|
jetpack-protect_activated |
theysaidso_admin_options |
widget_recent-posts |
widget_theysaidso_widget |
jetpack_connection_active_plugins |
db_upgraded |
widget_recent-comments |
can_compress_scripts |
jetpack_options |
jetpack_sync_https_history_site_url |
... |
Browser metrics Passed 4 tests
Jetpack Protect: an overview of browser usage
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,837 ▲76 | 14.59 ▲0.24 | 2.99 ▲1.45 | 38.97 ▼0.71 |
Dashboard /wp-admin | 2,243 ▲66 | 5.68 ▲0.06 | 97.02 ▲14.16 | 44.99 ▼0.75 |
Posts /wp-admin/edit.php | 2,153 ▲53 | 2.20 ▲0.23 | 36.64 ▼0.06 | 32.12 ▼2.74 |
Add New Post /wp-admin/post-new.php | 1,547 ▲21 | 22.85 ▼0.20 | 633.47 ▼30.98 | 51.20 ▼6.96 |
Media Library /wp-admin/upload.php | 1,448 ▲48 | 4.30 ▲0.01 | 95.61 ▼2.86 | 43.82 ▼3.22 |
My Jetpack /wp-admin/admin.php?page=my-jetpack | 1,243 | 10.80 | 263.43 | 43.11 |
Protect /wp-admin/admin.php?page=jetpack-protect | 1,144 | 7.77 | 93.79 | 43.82 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.07MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
Please fix the following items
- Zombie WordPress options were found after uninstall: 9 options
- widget_theysaidso_widget
- jetpack_options
- widget_recent-posts
- db_upgraded
- theysaidso_admin_options
- can_compress_scripts
- jetpack_connection_active_plugins
- widget_recent-comments
- jetpack-protect_activated
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking 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 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please fix the following items
- 2× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/jetpack-protect/vendor/wikimedia/aho-corasick/bench/bench.php
- > /wp-content/plugins/jetpack-protect/vendor/wikimedia/aho-corasick/bench/check.php
- 62× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Automattic\\Jetpack\\Sync\\Modules\\Module' not found in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-sync/src/modules/class-full-sync-immediately.php:21
- > PHP Fatal error
Uncaught Error: Class 'Automattic\\Jetpack\\Sync\\Replicastore\\Table_Checksum' not found in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-sync/src/replicastore/class-table-checksum-users.php:13
- > PHP Fatal error
require_once(): Failed opening required 'ABSPATHWPINC/class-IXR.php' (include_path='.:/usr/share/php') in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-connection/legacy/class-jetpack-ixr-client.php on line 16
- > PHP Fatal error
Uncaught Error: Class 'Automattic\\Jetpack\\My_Jetpack\\Product' not found in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-protect.php:16
- > PHP Fatal error
Uncaught Error: Class 'Automattic\\Jetpack\\Sync\\Modules\\Module' not found in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-sync/src/modules/class-terms.php:16
- > PHP Fatal error
Uncaught Error: Class 'Automattic\\Jetpack\\Sync\\Modules\\Module' not found in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-sync/src/modules/class-constants.php:15
- > PHP Fatal error
Uncaught Error: Class 'Automattic\\Jetpack\\Sync\\Modules\\Module' not found in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-sync/src/modules/class-network-options.php:15
- > PHP Fatal error
Uncaught Error: Class 'Automattic\\Jetpack\\My_Jetpack\\Module_Product' not found in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-my-jetpack/src/products/class-scan.php:20
- > PHP Fatal error
Uncaught Error: Class 'Automattic\\Jetpack\\Sync\\Modules\\Module' not found in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-sync/src/modules/class-full-sync.php:27
- > PHP Fatal error
Uncaught Error: Class 'Automattic\\Jetpack\\Sync\\Modules\\Module' not found in wp-content/plugins/jetpack-protect/jetpack_vendor/automattic/jetpack-sync/src/modules/class-menus.php:13
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please fix the following browser errors
- > GET request to /wp-admin/admin.php?page=my-jetpack
- > Network (severe)
index.php/wp-json/my-jetpack/v1/site/purchases?_locale=user - Failed to load resource: the server responded with a status of 400 (Bad Request)
Optimizations
Plugin configuration Passed 29 tests
readme.txt Passed 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
5 plugin tags: security, malware, scan, jetpack, protect
jetpack-protect/jetpack-protect.php Passed 13 tests
"Jetpack Protect" version 1.4.2's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
73 characters long description:
Security tools that keep your site safe and sound, from posts to plugins.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
Success! There were no dangerous files found in this plugin45,519 lines of code in 317 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 236 | 7,709 | 25,711 | 35,388 |
Markdown | 27 | 2,045 | 0 | 6,674 |
JSON | 25 | 0 | 0 | 2,723 |
Sass | 3 | 82 | 16 | 442 |
JavaScript | 8 | 9 | 39 | 118 |
SVG | 7 | 1 | 3 | 87 |
JSX | 1 | 7 | 3 | 50 |
CSS | 9 | 3 | 2 | 33 |
XML | 1 | 0 | 2 | 4 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.44 |
Average class complexity | 23.54 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 294.00 |
Average method complexity | 3.00 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 60.00 |
Code structure | ||
---|---|---|
Namespaces | 25 | |
Interfaces | 3 | |
Traits | 0 | |
Classes | 207 | |
▷ Abstract classes | 4 | 1.93% |
▷ Concrete classes | 203 | 98.07% |
▷ Final classes | 0 | 0.00% |
Methods | 2,368 | |
▷ Static methods | 947 | 39.99% |
▷ Public methods | 2,108 | 89.02% |
▷ Protected methods | 103 | 4.35% |
▷ Private methods | 157 | 6.63% |
Functions | 80 | |
▷ Named functions | 4 | 5.00% |
▷ Anonymous functions | 76 | 95.00% |
Constants | 212 | |
▷ Global constants | 19 | 8.96% |
▷ Class constants | 193 | 91.04% |
▷ Public constants | 193 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
12 compressed PNG files occupy 1.06MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
jetpack_vendor/automattic/jetpack-my-jetpack/build/images/crm-7e7684ae2c40327d8fed.png | 116.58KB | 130.94KB | 0.00% |
jetpack_vendor/automattic/jetpack-my-jetpack/build/images/connect-f27775ac15cf885713c2.png | 60.55KB | 35.14KB | ▼ 41.96% |
jetpack_vendor/automattic/jetpack-my-jetpack/build/images/extras-26daf36507504c96d066.png | 25.35KB | 28.14KB | 0.00% |
jetpack_vendor/automattic/jetpack-my-jetpack/build/images/boost-a54137485af36fdffe9c.png | 144.84KB | 159.13KB | 0.00% |
jetpack_vendor/automattic/jetpack-my-jetpack/build/images/search-f9756bd9c926d905fe70.png | 92.66KB | 101.40KB | 0.00% |