Benchmarks
Plugin footprint 58% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The following installer errors require your attention
- Install procedure validation failed for this plugin
- > Warning in wp-content/plugins/scuolasemplice-contacts/ScuolasemplceContacts_Plugin.php+35
count(): Parameter must be an array or an object that implements Countable
Server metrics [RAM: ▲0.40MB] [CPU: ▼0.35ms] Passed 4 tests
Analyzing server-side resources used by ScuolaSemplice Contacts
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.84 ▲0.38 | 41.23 ▼1.04 |
Dashboard /wp-admin | 3.75 ▲0.45 | 50.43 ▼0.06 |
Posts /wp-admin/edit.php | 3.80 ▲0.44 | 51.41 ▲3.00 |
Add New Post /wp-admin/post-new.php | 6.27 ▲0.38 | 96.21 ▼3.30 |
Media Library /wp-admin/upload.php | 3.61 ▲0.38 | 38.28 ▲4.72 |
Forms /wp-admin/admin.php?page=scuolasemplcecontacts_admin | 3.49 | 28.00 |
Api Fields /wp-admin/admin.php?page=scuolasemplcecontacts_apiFieldsPage | 3.58 | 30.45 |
Forms /wp-admin/admin.php?page=scuolasemplcecontacts_buildform | 3.49 | 27.55 |
Settings /wp-admin/admin.php?page=scuolasemplcecontacts_Settings | 3.58 | 35.33 |
Enquiry /wp-admin/admin.php?page=scuolasemplcecontacts_Enquiry | 3.49 | 28.32 |
Server storage [IO: ▲3.00MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 104 new files
Database: 3 new tables, 11 new options
New tables |
---|
wp_scuolasemplcecontacts_plugin_apiformfields |
wp_scuolasemplcecontacts_plugin_enquiry |
wp_scuolasemplcecontacts_plugin_apiforms |
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-posts |
ScuolasemplceContacts_Plugin_ApiPassword |
ScuolasemplceContacts_Plugin_Apihost |
ScuolasemplceContacts_Plugin__version |
db_upgraded |
ScuolasemplceContacts_Plugin__installed |
theysaidso_admin_options |
can_compress_scripts |
widget_recent-comments |
... |
Browser metrics Passed 4 tests
Checking browser requirements for ScuolaSemplice Contacts
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,839 ▲82 | 13.22 ▼1.07 | 1.68 ▼0.34 | 41.30 ▼9.27 |
Dashboard /wp-admin | 2,245 ▲57 | 5.85 ▲0.96 | 96.20 ▼20.87 | 38.05 ▼7.30 |
Posts /wp-admin/edit.php | 2,128 ▲36 | 2.03 ▲0.02 | 41.17 ▼0.36 | 35.41 ▲1.97 |
Add New Post /wp-admin/post-new.php | 1,546 ▲13 | 17.79 ▼5.56 | 672.65 ▲2.48 | 53.98 ▲0.20 |
Media Library /wp-admin/upload.php | 1,421 ▲33 | 4.24 ▲0.01 | 96.90 ▼2.08 | 41.50 ▲0.86 |
Forms /wp-admin/admin.php?page=scuolasemplcecontacts_admin | 1,085 | 2.73 | 53.22 | 73.23 |
Api Fields /wp-admin/admin.php?page=scuolasemplcecontacts_apiFieldsPage | 843 | 1.93 | 24.29 | 24.01 |
Forms /wp-admin/admin.php?page=scuolasemplcecontacts_buildform | 1,090 | 2.21 | 31.33 | 27.00 |
Settings /wp-admin/admin.php?page=scuolasemplcecontacts_Settings | 861 | 1.68 | 25.18 | 25.58 |
Enquiry /wp-admin/admin.php?page=scuolasemplcecontacts_Enquiry | 1,094 | 2.60 | 48.82 | 30.90 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- The uninstall procedure has failed, leaving 8 options in the database
- ScuolasemplceContacts_Plugin__version
- can_compress_scripts
- ScuolasemplceContacts_Plugin__installed
- widget_recent-comments
- widget_recent-posts
- theysaidso_admin_options
- widget_theysaidso_widget
- db_upgraded
Smoke tests 75% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Almost there, just fix the following server-side errors
- 6 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=scuolasemplcecontacts_Enquiry
- > User notice in wp-includes/functions.php+5905
Function WP_Scripts::localize was called incorrectly. The $l10n parameter must be an array. To pass arbitrary data to scripts, use the wp_add_inline_script() function instead. Please see Debugging in WordPress for more information. (This message was added in version 5.7.0.)
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=scuolasemplcecontacts_buildform
- > Notice in wp-content/plugins/scuolasemplice-contacts/ScuolasemplceContacts_OptionsManager.php+692
Trying to access array offset on value of type null
- > GET request to /wp-admin/admin.php?page=scuolasemplcecontacts_buildform
- > Notice in wp-content/plugins/scuolasemplice-contacts/ScuolasemplceContacts_OptionsManager.php+846
Trying to get property 'standardfields' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=scuolasemplcecontacts_buildform
- > Warning in wp-content/plugins/scuolasemplice-contacts/ScuolasemplceContacts_OptionsManager.php+869
Invalid argument supplied for foreach()
- > GET request to /wp-admin/admin.php?page=scuolasemplcecontacts_buildform
- > Notice in wp-content/plugins/scuolasemplice-contacts/ScuolasemplceContacts_OptionsManager.php+869
Trying to get property 'customfields' of non-object
SRP Passed 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
No output text or server-side errors detected on direct access of PHP files
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 90% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
These attributes need to be fixed:
- Screenshots: These screenshots do not have images: #1 (Configuration form where you put URL, Username and password for the ScuolaSemplice APIs), #2 (List of standard and custom fields fetched from tge remote system), #3 (Visual form builder)
scuolasemplice-contacts/scuolasemplceContacts.php 85% from 13 tests
The primary PHP file in "ScuolaSemplice Contacts" version 1.6 is used by WordPress to initiate all plugin functionality
Please take the time to fix the following:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("scuolasemplice-contacts.php" instead of "scuolasemplceContacts.php")
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
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
No dangerous file extensions were detected28,491 lines of code in 78 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 19 | 4,172 | 14,214 | 14,270 |
CSS | 19 | 91 | 185 | 5,531 |
SVG | 2 | 0 | 0 | 2,959 |
Sass | 15 | 36 | 36 | 1,796 |
LESS | 15 | 36 | 46 | 1,786 |
PHP | 6 | 388 | 421 | 1,725 |
PO File | 2 | 185 | 206 | 424 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.33 |
Average class complexity | 52.75 |
▷ Minimum class complexity | 2.00 |
▷ Maximum class complexity | 143.00 |
Average method complexity | 2.95 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 38.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 4 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 4 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 96 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 64 | 66.67% |
▷ Protected methods | 32 | 33.33% |
▷ Private methods | 0 | 0.00% |
Functions | 5 | |
▷ Named functions | 4 | 80.00% |
▷ Anonymous functions | 1 | 20.00% |
Constants | 2 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 2 | 100.00% |
▷ Public constants | 2 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
12 compressed PNG files occupy 0.04MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
inc/dt/DataTables-1.10.20/images/sort_both.png | 0.20KB | 0.29KB | 0.00% |
inc/dt/DataTables-1.10.20/images/sort_asc.png | 0.16KB | 0.25KB | 0.00% |
css/images/ui-icons_555555_256x240.png | 6.91KB | 4.18KB | ▼ 39.47% |
css/images/ui-icons_777620_256x240.png | 4.57KB | 4.18KB | ▼ 8.43% |
css/images/ui-icons_cc0000_256x240.png | 4.57KB | 4.18KB | ▼ 8.43% |