Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.66MB] [CPU: ▲3.49ms] Passed 4 tests
Analyzing server-side resources used by WP Mail Gateway
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.15 ▲0.69 | 39.57 ▲0.09 |
Dashboard /wp-admin | 4.00 ▲0.70 | 48.81 ▲0.34 |
Posts /wp-admin/edit.php | 4.05 ▲0.70 | 53.99 ▲9.92 |
Add New Post /wp-admin/post-new.php | 6.52 ▲0.63 | 96.79 ▲4.40 |
Media Library /wp-admin/upload.php | 3.86 ▲0.63 | 39.80 ▲9.14 |
Server storage [IO: ▲9.16MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 989 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-comments |
can_compress_scripts |
widget_recent-posts |
theysaidso_admin_options |
db_upgraded |
Browser metrics Passed 4 tests
WP Mail Gateway: an overview of browser usage
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,816 ▲45 | 13.58 ▼1.10 | 1.64 ▼0.87 | 39.68 ▼7.35 |
Dashboard /wp-admin | 2,222 ▲31 | 4.88 ▲0.02 | 104.08 ▼16.19 | 39.26 ▼8.28 |
Posts /wp-admin/edit.php | 2,108 ▲19 | 2.06 ▲0.06 | 41.43 ▲3.56 | 35.70 ▼0.07 |
Add New Post /wp-admin/post-new.php | 1,546 ▲27 | 23.05 ▼0.01 | 613.83 ▼90.31 | 53.61 ▼12.64 |
Media Library /wp-admin/upload.php | 1,407 ▲16 | 4.21 ▼0.01 | 104.80 ▲3.04 | 43.22 ▲0.94 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
You still need to fix the following
- This plugin did not uninstall successfully, leaving 6 options in the database
- theysaidso_admin_options
- can_compress_scripts
- db_upgraded
- widget_recent-posts
- widget_theysaidso_widget
- widget_recent-comments
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
Please fix the following
- 4× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/wp-mail-gateway/vendor/sendgrid/php-http-client/examples/example.php
- > /wp-content/plugins/wp-mail-gateway/vendor/phpmailer/phpmailer/get_oauth_token.php
- > /wp-content/plugins/wp-mail-gateway/vendor/sendgrid/sendgrid/scripts/generate_upload_policy.php
- > /wp-content/plugins/wp-mail-gateway/vendor/mailin-api/mailin-api-php/V1.0/examples/tutorial1.php
- 449× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Http\\Client\\HttpClient' not found in wp-content/plugins/wp-mail-gateway/vendor/php-http/guzzle6-adapter/src/Client.php:18
- > PHP Fatal error
require_once(): Failed opening required 'wp-content/plugins/wp-mail-gateway/vendor/wildbit/postmark-php/tests/../vendor/autoload.php' (include_path='.:/usr/share/php') in wp-content/plugins/wp-mail-gateway/vendor/wildbit/postmark-php/tests/PostmarkClientBaseTest.php on line 5
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Log\\LoggerInterface' not found in wp-content/plugins/wp-mail-gateway/vendor/psr/log/Psr/Log/AbstractLogger.php:12
- > PHP Fatal error
Uncaught Error: Class 'Http\\Discovery\\Exception\\StrategyUnavailableException' not found in wp-content/plugins/wp-mail-gateway/vendor/php-http/discovery/src/Exception/PuliUnavailableException.php:10
- > PHP Warning
require_once(wp-content/plugins/wp-mail-gateway/vendor/wildbit/postmark-php/tests/../vendor/autoload.php): failed to open stream: No such file or directory in wp-content/plugins/wp-mail-gateway/vendor/wildbit/postmark-php/tests/PostmarkClientBaseTest.php on line 5
- > PHP Fatal error
Uncaught Error: Interface 'Mailgun\\Model\\ApiResponse' not found in wp-content/plugins/wp-mail-gateway/vendor/mailgun/mailgun-php/src/Mailgun/Model/Domain/IndexResponse.php:17
- > PHP Notice
Array to string conversion in wp-content/plugins/wp-mail-gateway/vendor/sendgrid/php-http-client/examples/example.php on line 20
- > PHP Fatal error
Uncaught Error: Interface 'Http\\Client\\Common\\Plugin' not found in wp-content/plugins/wp-mail-gateway/vendor/php-http/client-common/src/Plugin/AuthenticationPlugin.php:14
- > PHP Fatal error
Uncaught Error: Interface 'Http\\Client\\Common\\Plugin' not found in wp-content/plugins/wp-mail-gateway/vendor/php-http/client-common/src/Plugin/BaseUriPlugin.php:14
- > PHP Fatal error
Uncaught Error: Interface 'Omnimail\\MailerInterface' not found in wp-content/plugins/wp-mail-gateway/vendor/omnimail/omnimail/src/Sendgrid.php:15
- > 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)
Everything seems fine on the user side
Optimizations
Plugin configuration 93% 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
Please fix the following attributes:
- Tags: Please delete some tags, you are using 14 tag instead of maximum 10
wp-mail-gateway/wp-mail-gateway.php 92% from 13 tests
The main file in "WP Mail Gateway" v. 1.8 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 155 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Good job! No executable or dangerous file extensions detected97,589 lines of code in 923 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 667 | 9,856 | 26,009 | 45,071 |
HTML | 101 | 6,140 | 3 | 25,821 |
Markdown | 82 | 4,793 | 0 | 12,172 |
CSS | 4 | 119 | 28 | 9,643 |
JSON | 39 | 3 | 0 | 3,216 |
JavaScript | 6 | 173 | 181 | 1,217 |
YAML | 8 | 24 | 2 | 172 |
Bourne Shell | 5 | 23 | 6 | 119 |
XML | 6 | 7 | 3 | 103 |
Dockerfile | 3 | 20 | 2 | 39 |
make | 2 | 7 | 0 | 16 |
PHP code Passed 2 tests
Analyzing logical lines of code, cyclomatic complexity, and other code metrics
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.24 |
Average class complexity | 7.26 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 479.00 |
Average method complexity | 2.01 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 33.00 |
Code structure | ||
---|---|---|
Namespaces | 117 | |
Interfaces | 46 | |
Traits | 16 | |
Classes | 527 | |
▷ Abstract classes | 14 | 2.66% |
▷ Concrete classes | 513 | 97.34% |
▷ Final classes | 153 | 29.82% |
Methods | 3,674 | |
▷ Static methods | 401 | 10.91% |
▷ Public methods | 3,206 | 87.26% |
▷ Protected methods | 115 | 3.13% |
▷ Private methods | 353 | 9.61% |
Functions | 393 | |
▷ Named functions | 143 | 36.39% |
▷ Anonymous functions | 250 | 63.61% |
Constants | 235 | |
▷ Global constants | 50 | 21.28% |
▷ Class constants | 185 | 78.72% |
▷ Public constants | 185 | 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
18 PNG files occupy 0.07MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/mailgun_logo.png | 8.19KB | 5.07KB | ▼ 38.05% |
vendor/wildbit/postmark-php/tests/postmark-logo.png | 4.18KB | 4.35KB | 0.00% |
assets/img/mailjet_logo.png | 8.45KB | 8.83KB | 0.00% |
assets/img/amazon_ses_logo.png | 18.47KB | 7.50KB | ▼ 59.40% |
vendor/mandrill/mandrill/docs/resources/tree-hasnext.png | 0.13KB | 0.09KB | ▼ 31.25% |