Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▼0.25MB] [CPU: ▼8.79ms] Passed 4 tests
Analyzing server-side resources used by Conversational Forms for ChatBot
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.89 ▲0.43 | 53.49 ▲12.07 |
Dashboard /wp-admin | 3.71 ▲0.41 | 65.59 ▲8.95 |
Posts /wp-admin/edit.php | 3.76 ▲0.41 | 63.86 ▲7.36 |
Add New Post /wp-admin/post-new.php | 3.71 ▼2.17 | 47.98 ▼61.56 |
Media Library /wp-admin/upload.php | 3.57 ▲0.34 | 44.09 ▲10.09 |
Chatbot Form Builder /wp-admin/admin.php?page=qcformbuilder-forms | 3.68 | 57.92 |
Server storage [IO: ▲11.64MB] [DB: ▲0.01MB] Passed 3 tests
How much does this plugin use your filesystem and database?
There were no storage issued detected upon installing this plugin
Filesystem: 1,888 new files
Database: 6 new tables, 10 new options
New tables |
---|
wp_wfb_form_entry_meta |
wp_wfb_queue_failures |
wp_wfb_form_entries |
wp_wfb_forms |
wp_wfb_queue_jobs |
wp_wfb_form_entry_values |
New WordPress options |
---|
widget_qcformbuilder_forms_widget |
widget_theysaidso_widget |
can_compress_scripts |
widget_recent-comments |
WFB_DB |
_qcformbuilderforms_lastupdate |
_qcformbuilder_forms_styleincludes |
widget_recent-posts |
db_upgraded |
theysaidso_admin_options |
Browser metrics Passed 4 tests
A check of browser resources used by Conversational Forms for ChatBot
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,822 ▲61 | 14.37 ▲0.08 | 1.66 ▼0.16 | 35.34 ▼12.20 |
Dashboard /wp-admin | 2,228 ▲48 | 5.63 ▲0.03 | 86.80 ▼15.02 | 40.74 ▼1.45 |
Posts /wp-admin/edit.php | 2,136 ▲36 | 2.01 ▲0.02 | 36.49 ▲0.01 | 39.60 ▲2.74 |
Add New Post /wp-admin/post-new.php | 1,531 ▲3 | 28.52 ▲5.40 | 700.49 ▼5.51 | 29.23 ▼30.65 |
Media Library /wp-admin/upload.php | 1,430 ▲36 | 4.21 ▼0.04 | 95.07 ▼13.23 | 44.18 ▼0.70 |
Chatbot Form Builder /wp-admin/admin.php?page=qcformbuilder-forms | 1,277 | 15.80 | 234.94 | 46.81 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- The plugin did not uninstall successfully, leaving 6 tables in the database
- wp_wfb_form_entry_values
- wp_wfb_form_entries
- wp_wfb_queue_failures
- wp_wfb_form_entry_meta
- wp_wfb_queue_jobs
- wp_wfb_forms
- Zombie WordPress options were found after uninstall: 10 options
- db_upgraded
- widget_qcformbuilder_forms_widget
- can_compress_scripts
- widget_theysaidso_widget
- _qcformbuilder_forms_styleincludes
- theysaidso_admin_options
- widget_recent-comments
- WFB_DB
- _qcformbuilderforms_lastupdate
- widget_recent-posts
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
The smoke test was a success, however most plugin functionality was not tested
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
- 37× GET requests to PHP files return non-empty strings (only 10 are shown):
- > /wp-content/plugins/conversational-forms/fields/credit_card_exp/preview.php
- > /wp-content/plugins/conversational-forms/fields/paragraph/preview.php
- > /wp-content/plugins/conversational-forms/fields/advanced_file/preview.php
- > /wp-content/plugins/conversational-forms/fields/hidden/preview.php
- > /wp-content/plugins/conversational-forms/fields/star-rate/preview.php
- > /wp-content/plugins/conversational-forms/fields/button/preview.php
- > /wp-content/plugins/conversational-forms/fields/number/preview.php
- > /wp-content/plugins/conversational-forms/fields/phone/preview.php
- > /wp-content/plugins/conversational-forms/fields/dropdown/preview.php
- > /wp-content/plugins/conversational-forms/fields/color_picker/preview.php
- 859× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/conversational-forms/fields/recaptcha/field.php:13
- > PHP Fatal error
Uncaught Error: Class 'Monolog\\TestCase' not found in wp-content/plugins/conversational-forms/vendor/monolog/monolog/tests/Monolog/Handler/NullHandlerTest.php:20
- > PHP Notice
Undefined variable: field in wp-content/plugins/conversational-forms/fields/phone/field.php on line 9
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/conversational-forms/fields/html/config_template.php:3
- > PHP Fatal error
Uncaught Error: Class 'Monolog\\TestCase' not found in wp-content/plugins/conversational-forms/vendor/monolog/monolog/tests/Monolog/Processor/MemoryUsageProcessorTest.php:16
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/conversational-forms/vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php:16
- > PHP Fatal error
Uncaught Error: Interface 'Composer\\Plugin\\PluginInterface' not found in wp-content/plugins/conversational-forms/vendor/kylekatarnls/update-helper/src/UpdateHelper/ComposerPlugin.php:11
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/conversational-forms/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php:7
- > PHP Fatal error
Uncaught Error: Interface 'Inpsyde\\Wonolog\\HookListener\\FilterListenerInterface' not found in wp-content/plugins/conversational-forms/vendor/inpsyde/wonolog/src/HookListener/WpDieHandlerListener.php:21
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/conversational-forms/ui/emails/settings.php:18
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine on the user side
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 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
6 plugin tags: wordpress form builder, booking form, form builder, forms, chatbot...
conversational-forms/qcformbuilder-core.php 85% from 13 tests
The main file in "Conversational Forms for ChatBot" v. 1.1.8 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please take the time to fix the following:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("conversational-forms.php" instead of "qcformbuilder-core.php")
- Text Domain: Since WordPress version 4.6 the text domain is optional; if specified, it must be the same as the plugin slug
Code Analysis 3% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Almost there! Just fix the following issues
- You should never include executable (binary) or otherwise dangerous files in your plugin
- .bat - Batch File in Windows
- ☣ wp-content/plugins/conversational-forms/vendor/nesbot/carbon/bin/upgrade-carbon.bat
- .bat - Batch File in Windows
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 1,170 | 19,518 | 42,553 | 81,396 |
JavaScript | 276 | 8,638 | 8,287 | 58,488 |
CSS | 53 | 552 | 152 | 10,777 |
XSD | 4 | 99 | 76 | 4,991 |
Markdown | 29 | 938 | 0 | 2,732 |
JSON | 23 | 3 | 0 | 2,221 |
C | 1 | 188 | 47 | 879 |
SQL | 1 | 0 | 39 | 769 |
XML | 27 | 29 | 2 | 588 |
SVG | 35 | 0 | 29 | 268 |
Bourne Shell | 3 | 55 | 78 | 194 |
C/C++ Header | 2 | 40 | 46 | 132 |
reStructuredText | 1 | 94 | 135 | 97 |
YAML | 6 | 7 | 0 | 44 |
HTML | 2 | 6 | 13 | 43 |
m4 | 1 | 11 | 11 | 41 |
PO File | 6 | 8 | 0 | 39 |
Qt Linguist | 1 | 0 | 0 | 10 |
DOS Batch | 1 | 0 | 0 | 4 |
INI | 1 | 0 | 0 | 1 |
PHP code 50% from 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
The following items need your attention
- Method cyclomatic complexity has to be reduced to less than 100 (currently 157)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.29 |
Average class complexity | 8.24 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 735.00 |
Average method complexity | 2.27 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 157.00 |
Code structure | ||
---|---|---|
Namespaces | 126 | |
Interfaces | 73 | |
Traits | 12 | |
Classes | 867 | |
▷ Abstract classes | 57 | 6.57% |
▷ Concrete classes | 810 | 93.43% |
▷ Final classes | 36 | 4.44% |
Methods | 5,658 | |
▷ Static methods | 844 | 14.92% |
▷ Public methods | 4,666 | 82.47% |
▷ Protected methods | 720 | 12.73% |
▷ Private methods | 272 | 4.81% |
Functions | 355 | |
▷ Named functions | 140 | 39.44% |
▷ Anonymous functions | 215 | 60.56% |
Constants | 270 | |
▷ Global constants | 30 | 11.11% |
▷ Class constants | 240 | 88.89% |
▷ Public constants | 240 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
23 PNG files occupy 0.30MB with 0.11MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
fields/phone_better/assets/img/flags.png | 67.65KB | 23.60KB | ▼ 65.12% |
assets/build/css/minicolor-colors.png | 12.19KB | 8.26KB | ▼ 32.22% |
fields/color_picker/minicolor-trigger.png | 1.37KB | 0.88KB | ▼ 36.27% |
vendor/mossadal/math-parser/doxygen/logo-159x50.png | 7.45KB | 3.94KB | ▼ 47.06% |
fields/star-rate/images/star-half.png | 0.65KB | 0.65KB | 0.00% |