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
Installer ran successfully
Server metrics [RAM: ▲0.59MB] [CPU: ▲2.87ms] 75% from 4 tests
A check of server-side resources used by Contact Form Plugin
It is recommended to improve the following
- CPU: Try to keep total CPU usage under 500.00ms (currently 1,110.85ms on /wp-admin/edit.php?post_type=easycontactform&page=ecf-addons)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.89 ▲0.42 | 47.02 ▲4.14 |
Dashboard /wp-admin | 3.99 ▲0.69 | 55.47 ▲1.67 |
Posts /wp-admin/edit.php | 4.04 ▲0.68 | 58.20 ▲11.30 |
Add New Post /wp-admin/post-new.php | 6.53 ▲0.65 | 98.60 ▼5.65 |
Media Library /wp-admin/upload.php | 3.85 ▲0.62 | 48.75 ▲11.73 |
Free Install Plugins /wp-admin/edit.php?post_type=easycontactform&page=ecf-free-plugins | 3.94 | 533.34 |
Premium Plugins /wp-admin/edit.php?post_type=easycontactform&page=ecf-premium-plugins | 3.91 | 1,396.42 |
Easy Contact Form Lite Changelog /wp-admin/edit.php?post_type=easycontactform&page=ecf-changelog | 3.87 | 37.15 |
Add New Form /wp-admin/post-new.php?post_type=easycontactform | 4.07 | 60.14 |
UPGRADE to PRO /wp-admin/edit.php?post_type=easycontactform&page=easycform_comparison | 3.83 | 49.35 |
Free Themes /wp-admin/edit.php?post_type=easycontactform&page=ecf-free-themes | 3.92 | 585.70 |
Forms /wp-admin/edit.php?post_type=easycontactform | 3.89 | 47.62 |
Addons /wp-admin/edit.php?post_type=easycontactform&page=ecf-addons | 3.92 | 1,110.85 |
Getting started with Easy Contact Form Lite /wp-admin/edit.php?post_type=easycontactform&page=ecf-getting-started | 3.82 | 39.75 |
Global Settings /wp-admin/edit.php?post_type=easycontactform&page=ecf_settings_page | 3.82 | 53.75 |
Server storage [IO: ▲2.77MB] [DB: ▲0.03MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin was installed successfully
Filesystem: 179 new files
Database: no new tables, 7 new options
New WordPress options |
---|
widget_recent-posts |
widget_theysaidso_widget |
db_upgraded |
can_compress_scripts |
widget_ecf-widget |
theysaidso_admin_options |
widget_recent-comments |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Contact Form Plugin
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,964 ▲203 | 13.60 ▼0.69 | 8.48 ▲6.82 | 37.09 ▼3.80 |
Dashboard /wp-admin | 2,266 ▲89 | 5.62 ▲0.01 | 90.85 ▼0.32 | 65.48 ▲21.94 |
Posts /wp-admin/edit.php | 2,171 ▲74 | 2.08 ▲0.07 | 39.10 ▲0.85 | 38.10 ▲1.29 |
Add New Post /wp-admin/post-new.php | 6,361 ▲4,814 | 18.83 ▼4.38 | 934.26 ▲231.54 | 115.11 ▲65.60 |
Media Library /wp-admin/upload.php | 1,459 ▲56 | 4.16 ▼0.07 | 100.45 ▼11.51 | 87.94 ▲39.79 |
Free Install Plugins /wp-admin/edit.php?post_type=easycontactform&page=ecf-free-plugins | 1,482 | 2.39 | 28.64 | 54.03 |
Premium Plugins /wp-admin/edit.php?post_type=easycontactform&page=ecf-premium-plugins | 1,016 | 2.36 | 33.38 | 66.08 |
Easy Contact Form Lite Changelog /wp-admin/edit.php?post_type=easycontactform&page=ecf-changelog | 2,231 | 1.72 | 24.21 | 52.00 |
Add New Form /wp-admin/post-new.php?post_type=easycontactform | 4,282 | 9.57 | 223.32 | 213.63 |
UPGRADE to PRO /wp-admin/edit.php?post_type=easycontactform&page=easycform_comparison | 1,717 | 1.84 | 29.08 | 54.22 |
Free Themes /wp-admin/edit.php?post_type=easycontactform&page=ecf-free-themes | 939 | 2.10 | 27.09 | 44.47 |
Forms /wp-admin/edit.php?post_type=easycontactform | 1,132 | 1.95 | 38.12 | 33.08 |
Addons /wp-admin/edit.php?post_type=easycontactform&page=ecf-addons | 1,093 | 2.37 | 34.12 | 70.23 |
Getting started with Easy Contact Form Lite /wp-admin/edit.php?post_type=easycontactform&page=ecf-getting-started | 1,490 | 9.63 | 277.53 | 81.80 |
Global Settings /wp-admin/edit.php?post_type=easycontactform&page=ecf_settings_page | 907 | 1.76 | 25.28 | 30.82 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.03MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
Please fix the following items
- This plugin did not uninstall successfully, leaving 7 options in the database
- widget_recent-comments
- theysaidso_admin_options
- widget_ecf-widget
- widget_theysaidso_widget
- widget_recent-posts
- db_upgraded
- can_compress_scripts
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though everything seems fine, this is not an exhaustive test
SRP 0% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Please take a closer look at the following
- 4× PHP files output text when accessed directly:
- > /wp-content/plugins/contact-form-lite/inc/ecf-shortcode.php
- > /wp-content/plugins/contact-form-lite/inc/tinymce_plugin/register_mce_button.php
- > /wp-content/plugins/contact-form-lite/inc/ecf-template.php
- > /wp-content/plugins/contact-form-lite/easy-contact-form.php
- 4× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/contact-form-lite/inc/ecf-metaboxes.php:19
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/contact-form-lite/inc/ecf-tinymce.php:43
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/contact-form-lite/inc/ecf-widget.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/contact-form-lite/inc/ecf-frontend.php:36
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser issues were found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
These attributes need your attention:
- Tags: Too many tags (12 tag instead of maximum 10); only the first 5 tags are used in your directory listing
contact-form-lite/easy-contact-form.php 85% from 13 tests
The principal PHP file in "Contact Form Plugin" v. 1.1.23 is loaded by WordPress automatically on each request
Please take the time to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 349 characters long)
- Main file name: The principal plugin file should be the same as the plugin slug ("contact-form-lite.php" instead of "easy-contact-form.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
Everything looks great! No dangerous files found in this plugin17,816 lines of code in 77 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PO File | 10 | 1,848 | 1,962 | 5,563 |
JavaScript | 23 | 691 | 595 | 4,610 |
PHP | 22 | 1,392 | 510 | 4,308 |
CSS | 20 | 403 | 128 | 2,633 |
SVG | 2 | 0 | 0 | 702 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 10.67 |
▷ Minimum class complexity | 6.00 |
▷ Maximum class complexity | 20.00 |
Average method complexity | 2.45 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 8.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 3 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 3 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 20 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 20 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 87 | |
▷ Named functions | 86 | 98.85% |
▷ Anonymous functions | 1 | 1.15% |
Constants | 16 | |
▷ Global constants | 16 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
68 PNG files occupy 0.71MB with 0.19MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
inc/images/colorpicker/colorpicker_rgb_g.png | 1.04KB | 0.83KB | ▼ 20.21% |
inc/images/colorpicker/custom_rgb_g.png | 1.04KB | 0.80KB | ▼ 23.67% |
inc/images/switch-background.png | 4.83KB | 1.76KB | ▼ 63.50% |
inc/images/colorpicker/custom_submit.png | 0.97KB | 0.99KB | 0.00% |
inc/images/colorpicker/custom_hsb_h.png | 0.95KB | 0.73KB | ▼ 23.40% |