Benchmarks
Plugin footprint 65% 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: ▲2.76MB] [CPU: ▲12.66ms] Passed 4 tests
Analyzing server-side resources used by WP Email Template
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 6.23 ▲2.77 | 55.50 ▲11.39 |
Dashboard /wp-admin | 6.12 ▲2.77 | 62.45 ▼0.59 |
Posts /wp-admin/edit.php | 6.17 ▲2.81 | 67.16 ▲18.93 |
Add New Post /wp-admin/post-new.php | 8.64 ▲2.75 | 128.44 ▲33.65 |
Media Library /wp-admin/upload.php | 5.98 ▲2.75 | 57.87 ▲20.89 |
Template /wp-admin/admin.php?page=wp_email_template | 6.10 | 61.58 |
Send WP Emails /wp-admin/admin.php?page=send_wp_emails | 6.07 | 59.82 |
Server storage [IO: ▲6.67MB] [DB: ▲0.06MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
No storage issues were detected
Filesystem: 386 new files
Database: 1 new table, 24 new options
New tables |
---|
wp_a3_exclude_email_subject |
New WordPress options |
---|
wp_email_template_clean_on_deletion |
wp_email_template_email_footer |
can_compress_scripts |
wp_et_mandrill_provider_configuration |
db_upgraded |
wp_et_send_wp_emails_general |
wp_email_template_google_font_list |
widget_theysaidso_widget |
theysaidso_admin_options |
wp_et_sparkpost_provider_configuration |
... |
Browser metrics Passed 4 tests
Checking browser requirements for WP Email Template
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,817 ▲30 | 14.12 ▼0.61 | 1.70 ▼0.29 | 41.80 ▼1.06 |
Dashboard /wp-admin | 2,225 ▲54 | 5.63 ▼0.04 | 98.24 ▼2.36 | 42.26 ▼1.60 |
Posts /wp-admin/edit.php | 2,127 ▲27 | 1.96 ▼0.11 | 40.09 ▲2.14 | 35.17 ▲2.26 |
Add New Post /wp-admin/post-new.php | 1,549 ▲9 | 23.41 ▲0.24 | 692.09 ▲40.32 | 52.76 ▼10.05 |
Media Library /wp-admin/upload.php | 1,427 ▲24 | 4.17 ▼0.10 | 98.93 ▼1.03 | 42.45 ▼0.51 |
Template /wp-admin/admin.php?page=wp_email_template | 2,123 | 4.14 | 100.58 | 106.62 |
Send WP Emails /wp-admin/admin.php?page=send_wp_emails | 3,089 | 4.42 | 105.89 | 104.56 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
These items require your attention
- Zombie tables detected upon uninstall: 1 table
- wp_a3_exclude_email_subject
- The uninstall procedure has failed, leaving 23 options in the database
- wp_email_template_exclude_emails
- wp_email_template_test_send_email
- wp_et_sparkpost_provider_configuration
- wp_email_template_email_footer
- wp_et_send_wp_emails_general
- a3rev_wp_email_template_version
- wp_email_template_style_body
- wp_et_smtp_provider_configuration
- wp_et_mandrill_provider_configuration
- widget_recent-comments
- ...
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)
Good news, no errors were detected
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
- 111× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\MessageInterface' not found in wp-content/plugins/wp-email-template/includes/sparkpost/egeloen/http-adapter/src/Message/MessageInterface.php:21
- > PHP Fatal error
Uncaught Error: Class 'Ivory\\HttpAdapter\\AbstractHttpAdapter' not found in wp-content/plugins/wp-email-template/includes/sparkpost/egeloen/http-adapter/src/AbstractCurlHttpAdapter.php:21
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\UriInterface' not found in wp-content/plugins/wp-email-template/includes/sparkpost/zendframework/zend-diactoros/src/Uri.php:25
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\RequestInterface' not found in wp-content/plugins/wp-email-template/includes/sparkpost/psr/http-message/src/ServerRequestInterface.php:43
- > PHP Fatal error
Uncaught Error: Class 'Ivory\\HttpAdapter\\Event\\Subscriber\\AbstractFormatterSubscriber' not found in wp-content/plugins/wp-email-template/includes/sparkpost/egeloen/http-adapter/src/Event/Subscriber/LoggerSubscriber.php:34
- > PHP Fatal error
Uncaught Error: Interface 'Ivory\\HttpAdapter\\Event\\History\\JournalEntryFactoryInterface' not found in wp-content/plugins/wp-email-template/includes/sparkpost/egeloen/http-adapter/src/Event/History/JournalEntryFactory.php:22
- > PHP Fatal error
Uncaught Error: Class 'Ivory\\HttpAdapter\\AbstractHttpAdapter' not found in wp-content/plugins/wp-email-template/includes/sparkpost/egeloen/http-adapter/src/SocketHttpAdapter.php:25
- > PHP Fatal error
Uncaught Error: Interface 'Ivory\\HttpAdapter\\Event\\Retry\\Strategy\\RetryStrategyChainInterface' not found in wp-content/plugins/wp-email-template/includes/sparkpost/egeloen/http-adapter/src/Event/Retry/Strategy/AbstractRetryStrategyChain.php:21
- > PHP Fatal error
Uncaught Error: Class 'Zend\\Diactoros\\Response' not found in wp-content/plugins/wp-email-template/includes/sparkpost/zendframework/zend-diactoros/src/Response/TextResponse.php:24
- > PHP Fatal error
Uncaught Error: Class 'Ivory\\HttpAdapter\\AbstractStreamHttpAdapter' not found in wp-content/plugins/wp-email-template/includes/sparkpost/egeloen/http-adapter/src/FileGetContentsHttpAdapter.php:19
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser errors were detected
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
These attributes need to be fixed:
- Tags: Please delete some tags, you are using 13 tag instead of maximum 10
wp-email-template/wp-email-template.php 92% from 13 tests
The main PHP script in "WP Email Template" version 2.8.2 is automatically included on every request by WordPress
The following require your attention:
- Description: Please keep the plugin description shorter than 140 characters (currently 316 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
No dangerous file extensions were detected58,226 lines of code in 310 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 226 | 5,962 | 13,710 | 23,010 |
JSON | 6 | 0 | 0 | 13,634 |
JavaScript | 24 | 1,957 | 1,445 | 12,208 |
CSS | 20 | 296 | 152 | 3,203 |
PO File | 4 | 1,300 | 2,205 | 3,137 |
Markdown | 15 | 831 | 0 | 2,048 |
LESS | 5 | 75 | 26 | 642 |
HTML | 3 | 29 | 41 | 258 |
SVG | 3 | 3 | 0 | 47 |
YAML | 3 | 4 | 2 | 23 |
XML | 1 | 1 | 0 | 16 |
PHP code 50% from 2 tests
Analyzing cyclomatic complexity and code structure
It is recommended to fix the following
- Please reduce cyclomatic complexity of methods to less than 100 (currently 410)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.40 |
Average class complexity | 14.92 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 801.00 |
Average method complexity | 3.19 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 410.00 |
Code structure | ||
---|---|---|
Namespaces | 34 | |
Interfaces | 34 | |
Traits | 6 | |
Classes | 204 | |
▷ Abstract classes | 12 | 5.88% |
▷ Concrete classes | 192 | 94.12% |
▷ Final classes | 4 | 2.08% |
Methods | 1,778 | |
▷ Static methods | 121 | 6.81% |
▷ Public methods | 1,448 | 81.44% |
▷ Protected methods | 211 | 11.87% |
▷ Private methods | 119 | 6.69% |
Functions | 61 | |
▷ Named functions | 32 | 52.46% |
▷ Anonymous functions | 29 | 47.54% |
Constants | 98 | |
▷ Global constants | 36 | 36.73% |
▷ Class constants | 62 | 63.27% |
▷ Public constants | 62 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
45 PNG files occupy 3.51MB with 2.45MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/assets/images/slider-container-end-disable.png | 1.59KB | 0.55KB | ▼ 65.24% |
admin/assets/images/slider-bg-disable.png | 1.04KB | 0.14KB | ▼ 86.45% |
assets/images/follow-twitter.png | 4.04KB | 2.07KB | ▼ 48.62% |
assets/images/premium-email-title.png | 1,235.06KB | 22.55KB | ▼ 98.17% |
assets/images/icon_linkedin.png | 1.56KB | 0.77KB | ▼ 50.50% |