Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Install script ran successfully
Server metrics [RAM: ▲0.44MB] [CPU: ▲0.68ms] 75% from 4 tests
A check of server-side resources used by WordPress Email Marketing Plugin - WP Email Capture
It is recommended to improve the following
- CPU: Total CPU usage must kept under 500.00ms (currently 2,971.99ms on /wp-admin/admin.php?page=wpemailcapturefreehelp)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.92 ▲0.45 | 43.13 ▲2.05 |
Dashboard /wp-admin | 3.75 ▲0.45 | 52.73 ▲3.91 |
Posts /wp-admin/edit.php | 3.87 ▲0.50 | 48.49 ▲3.75 |
Add New Post /wp-admin/post-new.php | 6.33 ▲0.44 | 84.05 ▼4.65 |
Media Library /wp-admin/upload.php | 3.67 ▲0.44 | 36.63 ▲1.55 |
WP Email Capture /wp-admin/admin.php?page=wpemailcapture | 3.64 | 33.22 |
Help /wp-admin/admin.php?page=wpemailcapturefreehelp | 4.78 | 2,971.99 |
Settings /wp-admin/admin.php?page=wpemailcapturefreesettings | 4.12 | 41.81 |
Server storage [IO: ▲0.62MB] [DB: ▲0.04MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin installed successfully
Filesystem: 63 new files
Database: 2 new tables, 9 new options
New tables |
---|
wp_wp_email_capture_registered_members |
wp_wp_email_capture_temp_members |
New WordPress options |
---|
widget_recent-comments |
theysaidso_admin_options |
wp_email_capture_from |
widget_theysaidso_widget |
wp_email_capture_db_version |
can_compress_scripts |
widget_wp_email_capture_widget_class |
widget_recent-posts |
db_upgraded |
Browser metrics Passed 4 tests
A check of browser resources used by WordPress Email Marketing Plugin - WP Email Capture
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,899 ▲138 | 14.48 ▼0.16 | 1.76 ▼0.26 | 44.23 ▼0.97 |
Dashboard /wp-admin | 2,291 ▲114 | 5.62 ▲0.09 | 89.87 ▼13.24 | 79.20 ▲37.35 |
Posts /wp-admin/edit.php | 2,123 ▲23 | 1.95 ▼0.02 | 33.73 ▼4.17 | 32.52 ▼4.65 |
Add New Post /wp-admin/post-new.php | 6,221 ▲4,692 | 26.39 ▲2.66 | 847.46 ▲177.54 | 37.11 ▼15.58 |
Media Library /wp-admin/upload.php | 1,423 ▲23 | 4.18 ▼0.00 | 95.32 ▲1.46 | 72.84 ▲28.55 |
WP Email Capture /wp-admin/admin.php?page=wpemailcapture | 1,435 | 2.01 | 28.67 | 59.18 |
Help /wp-admin/admin.php?page=wpemailcapturefreehelp | 1,176 | 2.14 | 25.05 | 39.09 |
Settings /wp-admin/admin.php?page=wpemailcapturefreesettings | 1,320 | 1.69 | 23.71 | 29.32 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.04MB] 50% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
These items require your attention
- The uninstall procedure failed, leaving 2 tables in the database
- wp_wp_email_capture_registered_members
- wp_wp_email_capture_temp_members
- This plugin did not uninstall successfully, leaving 9 options in the database
- wp_email_capture_from
- wp_email_capture_db_version
- db_upgraded
- widget_recent-posts
- widget_wp_email_capture_widget_class
- widget_recent-comments
- can_compress_scripts
- theysaidso_admin_options
- widget_theysaidso_widget
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 take a closer look at the following
- 8× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Call to undefined function plugins_url() in wp-content/plugins/wp-email-capture/wp-email-capture.php:19
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/wp-email-capture/inc/widget.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-email-capture/inc/options.php:729
- > PHP Warning
require_once(WP_EMAIL_CAPTURE_PATH/inc/functions.php): failed to open stream: No such file or directory in wp-content/plugins/wp-email-capture/inc/core.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-email-capture/inc/functions.php:399
- > PHP Warning
Use of undefined constant WP_EMAIL_CAPTURE_PATH - assumed 'WP_EMAIL_CAPTURE_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/wp-email-capture/inc/core.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-email-capture/inc/help.php:74
- > PHP Fatal error
require_once(): Failed opening required 'WP_EMAIL_CAPTURE_PATH/inc/functions.php' (include_path='.:/usr/share/php') in wp-content/plugins/wp-email-capture/inc/core.php on line 3
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
There were no browser issues found
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
Please fix the following attributes:
- Screenshots: These screenshots have no corresponding images in /assets: #1 (The Dashboard Widget), #2 (The Options Page), #3 (It's appearance within the template)
wp-email-capture/wp-email-capture.php 92% from 13 tests
Analyzing the main PHP file in "WordPress Email Marketing Plugin - WP Email Capture" version 3.12
You should first fix the following items:
- Description: Keep the plugin description shorter than 140 characters (currently 326 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
No dangerous file extensions were detected4,001 lines of code in 41 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 23 | 1,165 | 782 | 2,185 |
PO File | 9 | 559 | 823 | 1,442 |
JavaScript | 4 | 11 | 7 | 158 |
CSS | 4 | 20 | 0 | 124 |
Markdown | 1 | 31 | 0 | 92 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.22 |
Average class complexity | 9.67 |
▷ Minimum class complexity | 3.00 |
▷ Maximum class complexity | 13.00 |
Average method complexity | 2.62 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 11.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 | 16 | |
▷ Static methods | 1 | 6.25% |
▷ Public methods | 16 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 75 | |
▷ Named functions | 75 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 6 | |
▷ Global constants | 6 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
11 PNG files occupy 0.30MB with 0.17MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/WP-EC-262-x-218.png | 54.12KB | 21.44KB | ▼ 60.38% |
inc/img/drip-image.png | 4.71KB | 2.41KB | ▼ 48.71% |
images/WP-EC-336-x-280.png | 59.36KB | 30.14KB | ▼ 49.22% |
inc/img/redirect-if-present.png | 16.94KB | 5.57KB | ▼ 67.13% |
screenshot-1.png | 18.96KB | 8.26KB | ▼ 56.42% |