Benchmarks
Plugin footprint 48% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
This plugin's installer ran successfully
Server metrics [RAM: ▲1.31MB] [CPU: ▲8.16ms] Passed 4 tests
This is a short check of server-side resources used by Contact form builder for Gutenberg - Formello
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.69 ▲1.23 | 50.80 ▲8.06 |
Dashboard /wp-admin | 4.64 ▲1.33 | 56.59 ▲5.08 |
Posts /wp-admin/edit.php | 4.69 ▲1.33 | 62.35 ▲15.36 |
Add New Post /wp-admin/post-new.php | 7.40 ▲1.52 | 95.42 ▲6.35 |
Media Library /wp-admin/upload.php | 4.56 ▲1.33 | 47.41 ▲13.13 |
Add New /wp-admin/post-new.php?post_type=formello_form | 7.39 | 92.86 |
Entries /wp-admin/edit.php?post_type=formello_form&page=formello-submissions | 4.43 | 41.36 |
Entry /wp-admin/edit.php?post_type=formello_form&page=formello-submission | 4.47 | 42.33 |
Settings /wp-admin/admin.php?page=formello-settings | 4.48 | 45.32 |
Forms /wp-admin/edit.php?post_type=formello_form | 4.60 | 45.17 |
Entries /wp-admin/edit.php?post_type=formello_form&page=formello | 4.47 | 42.22 |
Addons /wp-admin/edit.php?post_type=formello_form&page=formello-addons | 4.48 | 42.76 |
Server storage [IO: ▲1.57MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 292 new files
Database: 2 new tables, 8 new options
New tables |
---|
wp_formello_submissions_meta |
wp_formello_submissions |
New WordPress options |
---|
formello_version |
formello_installed |
widget_theysaidso_widget |
widget_recent-posts |
widget_recent-comments |
theysaidso_admin_options |
can_compress_scripts |
db_upgraded |
Browser metrics Passed 4 tests
Checking browser requirements for Contact form builder for Gutenberg - Formello
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,886 ▲129 | 14.45 ▲0.06 | 1.89 ▼0.22 | 43.97 ▼7.14 |
Dashboard /wp-admin | 2,269 ▲78 | 4.86 ▲0.02 | 108.92 ▼7.53 | 38.82 ▼4.53 |
Posts /wp-admin/edit.php | 2,152 ▲66 | 2.05 ▲0.02 | 39.98 ▲3.96 | 35.54 ▲0.81 |
Add New Post /wp-admin/post-new.php | 6,412 ▲4,879 | 28.44 ▲5.25 | 865.20 ▲172.88 | 52.96 ▼19.63 |
Media Library /wp-admin/upload.php | 1,454 ▲69 | 4.19 ▲0.00 | 94.66 ▼19.54 | 41.12 ▼5.39 |
Add New /wp-admin/post-new.php?post_type=formello_form | 1,541 | 17.24 | 867.04 | 32.22 |
Entries /wp-admin/edit.php?post_type=formello_form&page=formello-submissions | 888 | 1.73 | 25.52 | 28.04 |
Entry /wp-admin/edit.php?post_type=formello_form&page=formello-submission | 964 | 9.33 | 85.07 | 22.58 |
Settings /wp-admin/admin.php?page=formello-settings | 1,077 | 10.07 | 82.29 | 32.95 |
Forms /wp-admin/edit.php?post_type=formello_form | 1,124 | 1.93 | 32.20 | 25.51 |
Tools /wp-admin/admin.php?page=formello-settings#/tools | 1,053 | 9.98 | 80.61 | 32.70 |
Entries /wp-admin/edit.php?post_type=formello_form&page=formello | 1,042 | 2.08 | 26.18 | 26.13 |
Tools /wp-admin/edit.php?post_type=formello_form&page=formello-settings#/tools | 1,069 | 9.78 | 78.69 | 32.76 |
Addons /wp-admin/edit.php?post_type=formello_form&page=formello-addons | 1,387 | 12.40 | 92.47 | 53.56 |
Settings /wp-admin/edit.php?post_type=formello_form&page=formello-settings#/ | 1,075 | 10.08 | 80.17 | 32.83 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 25% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
- The plugin did not uninstall gracefully
- > Warning in wp-content/plugins/formello/vendor/composer/ClassLoader.php+582
include(wp-content/plugins/formello/vendor/composer/../appsero/client/src/License.php): failed to open stream: No such file or directory
- The uninstall procedure failed, leaving 2 tables in the database
- wp_formello_submissions_meta
- wp_formello_submissions
- This plugin did not uninstall successfully, leaving 9 options in the database
- can_compress_scripts
- db_upgraded
- theysaidso_admin_options
- formello_version
- widget_theysaidso_widget
- recovery_mode_email_last_sent
- widget_recent-posts
- widget_recent-comments
- formello_installed
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
These server-side errors were triggered
- > GET request to /wp-admin/edit.php?post_type=formello_form&page=formello-submissions
- > Notice in wp-content/plugins/formello/includes/Admin/Tables/Submissions.php+457
Trying to access array offset on value of type bool
- > GET request to /wp-admin/edit.php?post_type=formello_form&page=formello-submissions
- > Warning in wp-content/plugins/formello/includes/Admin/Tables/Submissions.php+457
array_keys() expects parameter 1 to be array, null given
- > GET request to /wp-admin/edit.php?post_type=formello_form&page=formello-submissions
- > Warning in wp-content/plugins/formello/includes/Admin/Tables/Submissions.php+457
array_merge(): Expected parameter 1 to be an array, null given
- > GET request to /wp-admin/edit.php?post_type=formello_form&page=formello-submissions
- > Notice in wp-content/plugins/formello/includes/Admin/Admin.php+347
Undefined variable: id
SRP 50% 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
- 68× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Rakit\\Validation\\Rule' not found in wp-content/plugins/formello/vendor/rakit/validation/src/Rules/Min.php:7
- > PHP Fatal error
Uncaught Error: Class 'Rakit\\Validation\\Rule' not found in wp-content/plugins/formello/vendor/rakit/validation/src/Rules/Different.php:7
- > PHP Fatal error
Uncaught Error: Class 'Rakit\\Validation\\Rule' not found in wp-content/plugins/formello/vendor/rakit/validation/src/Rules/Boolean.php:7
- > PHP Fatal error
Uncaught Error: Class 'Rakit\\Validation\\Rule' not found in wp-content/plugins/formello/vendor/rakit/validation/src/Rules/Regex.php:7
- > PHP Fatal error
Uncaught Error: Class 'Rakit\\Validation\\Rule' not found in wp-content/plugins/formello/vendor/rakit/validation/src/Rules/Defaults.php:8
- > PHP Fatal error
Uncaught Error: Class 'Rakit\\Validation\\Rule' not found in wp-content/plugins/formello/vendor/rakit/validation/src/Rules/Same.php:7
- > PHP Fatal error
Uncaught Error: Class 'Rakit\\Validation\\Rule' not found in wp-content/plugins/formello/vendor/rakit/validation/src/Rules/Callback.php:9
- > PHP Fatal error
Uncaught Error: Class 'WP_REST_Posts_Controller' not found in wp-content/plugins/formello/includes/Rest/Controllers/Forms.php:13
- > PHP Fatal error
Uncaught Error: Class 'WP_List_Table' not found in wp-content/plugins/formello/includes/Admin/Tables/Submissions.php:15
- > PHP Fatal error
Uncaught Error: Class 'Psr\\Log\\AbstractLogger' not found in wp-content/plugins/formello/vendor/psr/log/Psr/Log/NullLogger.php:13
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please fix the following browser errors
- > GET request to /wp-admin/edit.php?post_type=formello_form&page=formello-submissions
- > Intervention (severe) in unknown
/wp-admin/post-new.php?post_type=formello_form - Blocked attempt to show a 'beforeunload' confirmation panel for a frame that never had a user gesture since its load. https://www.chromestatus.com/feature/5082396709879808
- > GET request to /wp-admin/edit.php?post_type=formello_form&page=formello-submission
- > Network (severe)
index.php/wp-json/formello/v1/submission?_locale=user - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/edit.php?post_type=formello_form&page=formello-addons
- > Network (severe)
index.php/wp-json/wp/v2/plugins/popper/popper?context=edit&_locale=user - Failed to load resource: the server responded with a status of 404 (Not Found)
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 88% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
Attributes that require attention:
- Screenshots: Please describe screenshot #7 in formello/assets to your readme.txt
- Tags: Too many tags (24 tag instead of maximum 10); only the first 5 tags are used in your directory listing
formello/formello.php Passed 13 tests
"Contact form builder for Gutenberg - Formello" version 2.2.2's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
111 characters long description:
Lightweight Gutenberg contact form builder, blazingly fast with no external dependencies and ReCaptcha support.
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
There were no executable files found in this plugin13,830 lines of code in 242 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 137 | 2,464 | 5,447 | 10,246 |
Markdown | 5 | 541 | 0 | 1,274 |
JSON | 40 | 0 | 0 | 1,187 |
SVG | 48 | 2 | 28 | 709 |
PO File | 1 | 165 | 220 | 334 |
YAML | 1 | 6 | 0 | 32 |
XML | 2 | 3 | 4 | 28 |
JavaScript | 5 | 0 | 2 | 17 |
CSS | 3 | 0 | 0 | 3 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.36 |
Average class complexity | 9.99 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 86.00 |
Average method complexity | 2.54 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 18.00 |
Code structure | ||
---|---|---|
Namespaces | 21 | |
Interfaces | 4 | |
Traits | 8 | |
Classes | 104 | |
▷ Abstract classes | 4 | 3.85% |
▷ Concrete classes | 100 | 96.15% |
▷ Final classes | 2 | 2.00% |
Methods | 696 | |
▷ Static methods | 52 | 7.47% |
▷ Public methods | 563 | 80.89% |
▷ Protected methods | 52 | 7.47% |
▷ Private methods | 81 | 11.64% |
Functions | 30 | |
▷ Named functions | 21 | 70.00% |
▷ Anonymous functions | 9 | 30.00% |
Constants | 20 | |
▷ Global constants | 12 | 60.00% |
▷ Class constants | 8 | 40.00% |
▷ Public constants | 8 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
45 PNG files occupy 0.70MB with 0.38MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/addons/calculator.png | 11.44KB | 4.86KB | ▼ 57.52% |
assets/addon_images/sendinblue-772x250.png | 17.71KB | 7.86KB | ▼ 55.62% |
assets/addon_images/inserter-772x250.png | 18.62KB | 7.98KB | ▼ 57.13% |
build/images/web-hooks.2165e998.png | 21.55KB | 9.12KB | ▼ 57.69% |
build/images/getresponse.d51c0d3c.png | 9.23KB | 4.76KB | ▼ 48.41% |