Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
This plugin's installer ran successfully
Server metrics [RAM: ▲5.22MB] [CPU: ▲23.47ms] 75% from 4 tests
Server-side resources used by SSL Atlas - Free SSL Certificate & HTTPS Redirect for WordPress
Please fix the following
- Extra RAM: The extra memory usage must be under 5MB (currently 5.22MB on /wp-admin/admin.php?page=ssl-atlas)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 8.75 ▲5.29 | 70.17 ▲30.41 |
Dashboard /wp-admin | 8.77 ▲5.46 | 75.47 ▲22.22 |
Posts /wp-admin/edit.php | 8.77 ▲5.41 | 83.30 ▲33.71 |
Add New Post /wp-admin/post-new.php | 10.60 ▲4.71 | 111.84 ▲7.52 |
Media Library /wp-admin/upload.php | 8.77 ▲5.54 | 73.71 ▲38.94 |
Freemius Debug [v.2.4.3] /wp-admin/admin.php?page=freemius | 8.77 | 67.29 |
SSL Atlas - Free SSL Certificate & HTTPS Redirect /wp-admin/admin.php?page=ssl-atlas | 8.77 | 65.43 |
Server storage [IO: ▲7.00MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
No storage issues were detected
Filesystem: 550 new files
Database: no new tables, 10 new options
New WordPress options |
---|
fs_debug_mode |
fs_accounts |
widget_recent-comments |
db_upgraded |
widget_recent-posts |
fs_active_plugins |
can_compress_scripts |
fs_gdpr |
widget_theysaidso_widget |
theysaidso_admin_options |
Browser metrics Passed 4 tests
Checking browser requirements for SSL Atlas - Free SSL Certificate & HTTPS Redirect for WordPress
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,842 ▲107 | 13.28 ▼1.48 | 4.75 ▲3.18 | 27.43 ▼14.78 |
Dashboard /wp-admin | 2,248 ▲60 | 5.81 ▼0.08 | 110.77 ▲11.45 | 44.83 ▲5.33 |
Posts /wp-admin/edit.php | 2,131 ▲42 | 2.04 ▼0.01 | 35.11 ▼4.55 | 34.64 ▼2.45 |
Add New Post /wp-admin/post-new.php | 1,540 ▲7 | 22.92 ▼0.32 | 632.48 ▼19.62 | 56.52 ▼6.48 |
Media Library /wp-admin/upload.php | 1,427 ▲36 | 4.26 ▲0.03 | 96.15 ▼16.34 | 43.59 ▼4.15 |
Freemius Debug [v.2.4.3] /wp-admin/admin.php?page=freemius | 1,087 | 1.89 | 29.91 | 32.23 |
SSL Atlas - Free SSL Certificate & HTTPS Redirect /wp-admin/admin.php?page=ssl-atlas | 1,004 | 1.76 | 27.98 | 52.10 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
Please fix the following items
- The uninstall procedure has failed, leaving 11 options in the database
- widget_recent-comments
- ssl_atlas_deactivated
- db_upgraded
- widget_theysaidso_widget
- fs_accounts
- can_compress_scripts
- fs_active_plugins
- theysaidso_admin_options
- fs_debug_mode
- widget_recent-posts
- ...
Smoke tests 50% 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 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Almost there! Just fix the following items
- 1× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/ssl_atlas.php
- 76× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\UriInterface' not found in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/vendor/guzzlehttp/psr7/src/Uri.php:14
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/vendor/guzzlehttp/psr7/src/PumpStream.php:17
- > PHP Fatal error
Uncaught Error: Interface 'LayerShifter\\TLDExtract\\ResultInterface' not found in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/vendor/layershifter/tld-extract/src/Result.php:27
- > PHP Fatal error
Uncaught Error: Call to undefined function register_deactivation_hook() in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/ssl_atlas/classes/class.ssl_atlas_admin.php:47
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Promise\\PromiseInterface' not found in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/vendor/guzzlehttp/promises/src/RejectedPromise.php:11
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Cookie\\CookieJarInterface' not found in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php:10
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/vendor/guzzlehttp/psr7/src/LimitStream.php:11
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/vendor/layershifter/tld-support/tests/Helpers/StrTest.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/ssl_atlas/classes/class.ssl_atlas_cloudflare_fix.php:49
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Promise\\PromiseInterface' not found in wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/vendor/guzzlehttp/promises/src/FulfilledPromise.php:11
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 83% from 29 tests
readme.txt 94% from 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
These attributes need to be fixed:
- Screenshots: Please add descriptions for these screenshots #1, #2, #3, #4, #5 in ssl-atlas-free-ssl-certificate-https-redirect/assets to your readme.txt
ssl-atlas-free-ssl-certificate-https-redirect/ssl_atlas.php 69% from 13 tests
The primary PHP file in "SSL Atlas - Free SSL Certificate & HTTPS Redirect for WordPress" version 1.1.1 is used by WordPress to initiate all plugin functionality
Please make the necessary changes and fix the following:
- Domain Path: The domain path should use only dashes and lowercase characters ("ssl_atlas/languages")
- Text Domain: Since WordPress version 4.6 the text domain is optional; if specified, it must be the same as the plugin slug
- Description: Keep the plugin description shorter than 140 characters (currently 146 characters long)
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("ssl-atlas-free-ssl-certificate-https-redirect.php" instead of "ssl_atlas.php")
Code Analysis 0% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Almost there! Just fix the following issues
- You should never include executable (binary) or otherwise dangerous files in your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/ssl-atlas-free-ssl-certificate-https-redirect/ssl_atlas/keys/cabundle.crt
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 306 | 11,208 | 26,391 | 78,990 |
Markdown | 17 | 1,203 | 0 | 3,745 |
SVG | 68 | 0 | 0 | 2,820 |
CSS | 17 | 403 | 140 | 2,111 |
JavaScript | 10 | 326 | 362 | 1,908 |
JSON | 15 | 0 | 0 | 1,294 |
XML | 3 | 1 | 0 | 57 |
YAML | 4 | 15 | 0 | 50 |
Dockerfile | 1 | 8 | 0 | 10 |
make | 1 | 4 | 0 | 9 |
PHP code 0% from 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
Please fix the following
- Please reduce cyclomatic complexity of classes to less than 1000 (currently 2,910)
- Method cyclomatic complexity has to be reduced to less than 100 (currently 179)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.56 |
Average class complexity | 34.65 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 2,910.00 |
Average method complexity | 4.22 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 179.00 |
Code structure | ||
---|---|---|
Namespaces | 27 | |
Interfaces | 17 | |
Traits | 2 | |
Classes | 188 | |
▷ Abstract classes | 5 | 2.66% |
▷ Concrete classes | 183 | 97.34% |
▷ Final classes | 31 | 16.94% |
Methods | 2,268 | |
▷ Static methods | 502 | 22.13% |
▷ Public methods | 1,734 | 76.46% |
▷ Protected methods | 20 | 0.88% |
▷ Private methods | 514 | 22.66% |
Functions | 312 | |
▷ Named functions | 206 | 66.03% |
▷ Anonymous functions | 106 | 33.97% |
Constants | 321 | |
▷ Global constants | 150 | 46.73% |
▷ Class constants | 171 | 53.27% |
▷ Public constants | 171 | 100.00% |
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.24MB with 0.14MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
vendor/layershifter/tld-database/logo.png | 11.31KB | 4.89KB | ▼ 56.78% |
ssl_atlas/img/header-logo.png | 7.05KB | 3.38KB | ▼ 52.13% |
freemius/assets/img/theme-icon.png | 10.97KB | 5.78KB | ▼ 47.37% |
ssl_atlas/img/plugin-mascot.png | 48.86KB | 13.42KB | ▼ 72.54% |
ssl_atlas/img/pricing-badge.png | 11.20KB | 5.02KB | ▼ 55.23% |