Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Installer ran successfully
Server metrics [RAM: ▲1.34MB] [CPU: ▲8.02ms] Passed 4 tests
This is a short check of server-side resources used by Mailjet Email Marketing
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.47 ▲1.01 | 53.85 ▲15.61 |
Dashboard /wp-admin | 4.76 ▲1.42 | 58.99 ▲3.33 |
Posts /wp-admin/edit.php | 4.82 ▲1.46 | 60.50 ▲12.59 |
Add New Post /wp-admin/post-new.php | 7.36 ▲1.48 | 97.18 ▲1.00 |
Media Library /wp-admin/upload.php | 4.69 ▲1.46 | 47.17 ▲15.14 |
/wp-admin/admin.php?page=mailjet_dashboard_page | 4.81 | 42.88 |
/wp-admin/admin.php?page=mailjet_allsetup_page | 4.60 | 43.59 |
/wp-admin/admin.php?page=mailjet_user_access_page | 4.62 | 41.67 |
Campaigns /wp-admin/admin.php?page=mailjet_settings_campaigns_menu | 4.90 | 223.37 |
Statistics /wp-admin/admin.php?page=mailjet_settings_stats_menu | 4.90 | 239.62 |
/wp-admin/admin.php?page=mailjet_subscription_options_page | 4.79 | 42.14 |
Lists /wp-admin/admin.php?page=mailjet_settings_contacts_menu | 4.90 | 232.85 |
/wp-admin/admin.php?page=mailjet_connect_account_page | 4.82 | 42.50 |
/wp-admin/admin.php?page=mailjet_integrations_page | 4.82 | 50.36 |
/wp-admin/admin.php?page=mailjet_sending_settings_page | 4.75 | 45.74 |
Server storage [IO: ▲4.02MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 668 new files
Database: no new tables, 25 new options
New WordPress options |
---|
send_test_email_btn |
mailjet_plugin_version |
widget_recent-comments |
mailjet_sync_list |
mailjet_from_email_extra_hidden |
settings_step |
widget_theysaidso_widget |
mailjet_comment_authors_list |
mailjet_from_email_extra |
activate_mailjet_sync |
... |
Browser metrics Passed 4 tests
A check of browser resources used by Mailjet Email Marketing
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,924 ▲177 | 13.82 ▼0.51 | 8.71 ▲6.97 | 42.02 ▼0.61 |
Dashboard /wp-admin | 2,203 ▲22 | 5.68 ▼0.01 | 93.10 ▼11.83 | 91.96 ▲51.83 |
Posts /wp-admin/edit.php | 2,126 ▲26 | 1.99 ▼0.01 | 38.84 ▼2.54 | 40.12 ▲4.04 |
Add New Post /wp-admin/post-new.php | 1,701 ▲173 | 21.92 ▼1.02 | 769.27 ▲162.61 | 44.24 ▼7.45 |
Media Library /wp-admin/upload.php | 1,423 ▲26 | 4.08 ▼0.16 | 100.74 ▼5.04 | 83.96 ▲40.35 |
/wp-admin/admin.php?page=mailjet_dashboard_page | 1,630 | 2.27 | 31.88 | 43.49 |
/wp-admin/admin.php?page=mailjet_allsetup_page | 916 | 2.01 | 22.99 | 43.44 |
/wp-admin/admin.php?page=mailjet_user_access_page | 1,091 | 2.02 | 26.46 | 49.22 |
Campaigns /wp-admin/admin.php?page=mailjet_settings_campaigns_menu | 1,677 | 2.25 | 26.73 | 37.27 |
Statistics /wp-admin/admin.php?page=mailjet_settings_stats_menu | 1,672 | 2.23 | 29.59 | 41.20 |
/wp-admin/admin.php?page=mailjet_subscription_options_page | 1,165 | 1.68 | 25.17 | 43.23 |
Lists /wp-admin/admin.php?page=mailjet_settings_contacts_menu | 1,677 | 2.25 | 27.75 | 42.20 |
/wp-admin/admin.php?page=mailjet_connect_account_page | 1,061 | 2.00 | 25.63 | 36.16 |
/wp-admin/admin.php?page=mailjet_integrations_page | 1,300 | 1.65 | 28.36 | 47.45 |
/wp-admin/admin.php?page=mailjet_sending_settings_page | 1,200 | 1.65 | 28.65 | 42.19 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 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 detected upon uninstall: 9 options
- theysaidso_admin_options
- db_upgraded
- widget_recent-posts
- widget_theysaidso_widget
- can_compress_scripts
- mailjet_plugin_version
- widget_recent-comments
- widget_wp_mailjet_form_builder_widget
- mj_profile_name
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Almost there, just fix the following server-side errors
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailjet_subscription_options_page
- > Warning in wp-content/plugins/mailjet-for-wordpress/src/templates/admin/settingTemplates/SubscriptionSettingsPartials/subscrFieldset.php+105
Invalid argument supplied for foreach()
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/mailjet-for-wordpress/src/templates/confirm-subscription-email.php
- > /wp-content/plugins/mailjet-for-wordpress/src/front/partials/MailjetPublicDisplay.php
- 251× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'MailjetWp\\GuzzleHttp\\Psr7\\Request' not found in wp-content/plugins/mailjet-for-wordpress/vendor/guzzlehttp/psr7/src/ServerRequest.php:25
- > PHP Fatal error
Uncaught Error: Class 'MailjetWp\\Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/mailjet-for-wordpress/vendor/composer/installers/src/Composer/Installers/ProcessWireInstaller.php:5
- > PHP Fatal error
Uncaught Error: Class 'MailjetWp\\Analog\\Handler\\PDO' not found in wp-content/plugins/mailjet-for-wordpress/vendor/analog/analog/examples/pdo.php:9
- > PHP Fatal error
Uncaught Error: Class 'PhpCsFixer\\Finder' not found in wp-content/plugins/mailjet-for-wordpress/vendor/bamarni/composer-bin-plugin/.php-cs-fixer.php:3
- > PHP Fatal error
Uncaught Error: Interface 'MailjetWp\\Sepia\\PoParser\\SourceHandler\\SourceHandler' not found in wp-content/plugins/mailjet-for-wordpress/vendor/sepia/po-parser/src/SourceHandler/StringSource.php:35
- > PHP Fatal error
Uncaught Error: Interface 'MailjetWp\\Psr\\Http\\Message\\RequestInterface' not found in wp-content/plugins/mailjet-for-wordpress/vendor/guzzlehttp/psr7/src/Request.php:13
- > PHP Fatal error
Uncaught Error: Class 'MailjetWp\\Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/mailjet-for-wordpress/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php:5
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/mailjet-for-wordpress/src/widget/WP_Mailjet_Subscribe_Widget.php:16
- > PHP Fatal error
Uncaught Error: Class 'MailjetWp\\Analog' not found in wp-content/plugins/mailjet-for-wordpress/vendor/analog/analog/examples/stderr.php:6
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/mailjet-for-wordpress/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php:4
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser errors were detected
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
These attributes need your attention:
- Screenshots: These screenshots require images: #1 (The initial setup wizard will guide you through the quick steps to get started), #2 (Access all features from the plugin dashboard), #3 (Configure a subscription widget to collect subscribers from your site), #4 (Activate and configure WooCommerce and Contact Form 7 integrations), #5 (Enable order notifications for WooCommerce), #6 (Configure abandoned cart notifications for WooCommerce)
mailjet-for-wordpress/wp-mailjet.php 92% from 13 tests
The main file in "Mailjet Email Marketing" v. 5.5.2 serves as a complement to information provided in readme.txt and as the entry point to the plugin
The following require your attention:
- Main file name: The principal plugin file should be the same as the plugin slug ("mailjet-for-wordpress.php" instead of "wp-mailjet.php")
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
Good job! No executable or dangerous file extensions detected43,065 lines of code in 569 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 403 | 1,553 | 11,956 | 25,154 |
PO File | 32 | 1,875 | 2,320 | 5,493 |
Markdown | 38 | 1,735 | 0 | 5,084 |
JSON | 34 | 0 | 0 | 2,189 |
CSS | 6 | 411 | 76 | 1,978 |
HTML | 4 | 229 | 401 | 1,627 |
JavaScript | 6 | 106 | 130 | 594 |
SVG | 17 | 0 | 3 | 348 |
YAML | 10 | 53 | 0 | 276 |
Bourne Shell | 12 | 97 | 96 | 182 |
make | 2 | 38 | 11 | 85 |
XML | 4 | 1 | 3 | 45 |
Dockerfile | 1 | 8 | 0 | 10 |
PHP code Passed 2 tests
Analyzing cyclomatic complexity and code structure
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.36 |
Average class complexity | 10.39 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 251.00 |
Average method complexity | 2.92 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 33.00 |
Code structure | ||
---|---|---|
Namespaces | 46 | |
Interfaces | 31 | |
Traits | 5 | |
Classes | 291 | |
▷ Abstract classes | 4 | 1.37% |
▷ Concrete classes | 287 | 98.63% |
▷ Final classes | 50 | 17.42% |
Methods | 1,632 | |
▷ Static methods | 308 | 18.87% |
▷ Public methods | 1,305 | 79.96% |
▷ Protected methods | 78 | 4.78% |
▷ Private methods | 249 | 15.26% |
Functions | 232 | |
▷ Named functions | 96 | 41.38% |
▷ Anonymous functions | 136 | 58.62% |
Constants | 162 | |
▷ Global constants | 7 | 4.32% |
▷ Class constants | 155 | 95.68% |
▷ Public constants | 140 | 90.32% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
30 PNG files occupy 0.98MB with 0.42MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
src/admin/images/need_help.png | 0.40KB | 0.31KB | ▼ 22.03% |
src/admin/images/create_contact_list.png | 0.38KB | 0.26KB | ▼ 31.01% |
src/admin/images/all_setup_screen_signup_to_newsletter.png | 2.29KB | 1.04KB | ▼ 54.27% |
src/admin/images/dashboard_top_right_image.png | 2.29KB | 1.04KB | ▼ 54.27% |
src/admin/images/all_setup_screen_send_campaign.png | 3.99KB | 1.82KB | ▼ 54.26% |