Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
This plugin's installer ran successfully
Server metrics [RAM: ▲1.13MB] [CPU: ▲119.16ms] 75% from 4 tests
Server-side resources used by Estatik Real Estate Plugin
It is recommended to improve the following
- CPU: Total CPU usage must kept under 500.00ms (currently 817.89ms on /wp-admin/admin.php?page=es_dashboard)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 8.40 ▲4.94 | 1,005.47 ▲961.51 |
Dashboard /wp-admin | 4.44 ▲1.13 | 533.56 ▲480.50 |
Posts /wp-admin/edit.php | 4.50 ▲1.14 | 54.38 ▲1.29 |
Add New Post /wp-admin/post-new.php | 7.03 ▲1.14 | 92.54 ▼10.64 |
Media Library /wp-admin/upload.php | 4.34 ▲1.11 | 39.33 ▲5.48 |
Data manager /wp-admin/admin.php?page=es_data_manager | 4.54 | 70.93 |
Add new property /wp-admin/post-new.php?post_type=properties | 4.64 | 82.46 |
Demo content /wp-admin/admin.php?page=es_demo | 4.29 | 40.77 |
Fields Builder /wp-admin/admin.php?page=es_fields_builder | 4.41 | 85.06 |
My listings /wp-admin/edit.php?post_type=properties | 4.52 | 52.07 |
Settings /wp-admin/admin.php?page=es_settings | 6.44 | 569.43 |
Dashboard /wp-admin/admin.php?page=es_dashboard | 4.49 | 817.89 |
Server storage [IO: ▲8.32MB] [DB: ▲0.46MB] Passed 3 tests
Filesystem and database footprint
The plugin installed successfully
Filesystem: 559 new files
Database: 2 new tables, 15 new options
New tables |
---|
wp_estatik_fb_sections |
wp_estatik_fb_fields |
New WordPress options |
---|
widget_recent-comments |
widget_es-request-form |
es_flush_executed |
es_options |
es_migrations |
widget_es-slider |
widget_es-search-form |
estatik-banners |
can_compress_scripts |
es_google_fonts |
... |
Browser metrics Passed 4 tests
A check of browser resources used by Estatik Real Estate Plugin
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,071 ▲310 | 14.83 ▲0.58 | 22.10 ▲20.22 | 39.22 ▼5.39 |
Dashboard /wp-admin | 2,307 ▲133 | 5.25 ▼0.30 | 88.44 ▼1.32 | 79.27 ▲41.00 |
Posts /wp-admin/edit.php | 2,215 ▲112 | 2.49 ▲0.49 | 47.65 ▲6.66 | 31.81 ▼4.49 |
Add New Post /wp-admin/post-new.php | 1,628 ▲91 | 23.58 ▲5.28 | 680.43 ▲30.60 | 37.91 ▼30.95 |
Media Library /wp-admin/upload.php | 1,728 ▲334 | 5.29 ▲0.99 | 118.79 ▲20.15 | 87.32 ▲41.83 |
Data manager /wp-admin/admin.php?page=es_data_manager | 5,659 | 2.95 | 57.14 | 184.04 |
Add new property /wp-admin/post-new.php?post_type=properties | 5,041 | 10.26 | 299.05 | 241.71 |
Demo content /wp-admin/admin.php?page=es_demo | 1,522 | 2.49 | 31.75 | 84.52 |
Fields Builder /wp-admin/admin.php?page=es_fields_builder | 2,466 | 3.61 | 84.70 | 45.06 |
My listings /wp-admin/edit.php?post_type=properties | 2,205 | 4.81 | 82.66 | 72.94 |
Settings /wp-admin/admin.php?page=es_settings | 18,569 | 6.26 | 223.86 | 156.46 |
Dashboard /wp-admin/admin.php?page=es_dashboard | 3,688 | 1.95 | 35.03 | 103.34 |
Uninstaller [IO: ▲0.59MB] [DB: ▲0.46MB] 50% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
The following items require your attention
- This plugin does not fully uninstall, leaving 2 tables in the database
- wp_estatik_fb_fields
- wp_estatik_fb_sections
- Zombie WordPress options were found after uninstall: 15 options
- widget_es-search-form
- widget_recent-posts
- estatik-banners
- theysaidso_admin_options
- widget_es-request-form
- widget_recent-comments
- widget_theysaidso_widget
- db_upgraded
- can_compress_scripts
- widget_es-slider
- ...
Smoke tests 0% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
These server-side errors were triggered
- > GET request to /wp-admin/admin.php?page=es_fields_builder
- > Notice in wp-content/plugins/estatik/includes/helper-functions.php+371
Undefined index: label
- > GET request to /wp-admin/admin.php?page=es_fields_builder
- > Notice in wp-content/plugins/estatik/includes/helper-functions.php+371
Undefined index: frontend_form_name
- > GET request to /wp-admin/admin.php?page=es_fields_builder
- > Notice in wp-content/plugins/estatik/includes/helper-functions.php+371
Undefined index: tab_machine_name
- > GET request to /wp-admin/admin.php?page=es_fields_builder
- > Notice in wp-content/plugins/estatik/includes/helper-functions.php+371
Undefined index: mandatory
- > GET request to /wp-admin/admin.php?page=es_fields_builder
- > Notice in wp-content/plugins/estatik/includes/helper-functions.php+371
Undefined index: type
- > GET request to /wp-admin/admin.php?page=es_fields_builder
- > Notice in wp-content/plugins/estatik/includes/helper-functions.php+371
Undefined index: is_full_width
- > GET request to /wp-admin/admin.php?page=es_fields_builder
- > Notice in wp-content/plugins/estatik/includes/helper-functions.php+371
Undefined index: search_support
- > GET request to /wp-admin/admin.php?page=es_fields_builder
- > Notice in wp-content/plugins/estatik/includes/helper-functions.php+371
Undefined index: compare_support
- > GET request to /wp-admin/admin.php?page=es_fields_builder
- > Notice in wp-content/plugins/estatik/includes/helper-functions.php+371
Undefined index: mls_import_support
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Please fix the following
- 1× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/estatik/templates/front/property/partials/properties-navbar.php
- 230× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Notice
Undefined variable: attributes in wp-content/plugins/estatik/templates/front/shortcodes/request/request-form-section.php on line 8
- > PHP Fatal error
Uncaught Error: Class 'Es_Framework_Base_Field' not found in wp-content/plugins/estatik/includes/classes/framework/fields/class-textarea-field.php:6
- > PHP Fatal error
Uncaught Error: Class 'Es_Framework_Base_Field' not found in wp-content/plugins/estatik/includes/classes/framework/fields/class-repeater-field.php:6
- > PHP Notice
Undefined variable: args in wp-content/plugins/estatik/templates/front/shortcodes/authentication/buyer-register-buttons.php on line 2
- > PHP Notice
Undefined variable: args in wp-content/plugins/estatik/templates/front/shortcodes/authentication/login-buttons.php on line 2
- > PHP Fatal error
Uncaught Error: Class 'Es_Authentication' not found in wp-content/plugins/estatik/includes/classes/auth/class-facebook-authentication.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/estatik/includes/hooks.php:17
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/estatik/includes/classes/class-assets-init.php:14
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/estatik/includes/classes/pages/admin/class-fields-builder-page.php:14
- > PHP Fatal error
Uncaught Error: Class 'Es_My_Listing_Shortcode' not found in wp-content/plugins/estatik/includes/classes/shortcodes/class-properties-slider-shortcode.php:6
- > PHP Notice
User-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Please take a look at the following user-side issues
- > GET request to /wp-admin/admin.php?page=es_settings
- > Rendering (warning) in unknown
/wp-admin/admin.php?page=es_settings 490 The specified value "" does not conform to the required format. The format is "#rrggbb" where rr, gg, bb are two-digit hexadecimal numbers.
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
8 plugin tags: listings, realtor, property, real estate, idx...
estatik/estatik.php 92% from 13 tests
The entry point to "Estatik Real Estate Plugin" version 4.1.0 is a PHP file that has certain tags in its header comment area
The following require your attention:
- Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
Everything looks great! No dangerous files found in this plugin122,660 lines of code in 510 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PO File | 18 | 21,288 | 28,611 | 53,214 |
PHP | 232 | 4,241 | 6,220 | 22,070 |
JSON | 2 | 0 | 0 | 18,712 |
CSS | 31 | 930 | 85 | 10,910 |
Sass | 53 | 2,313 | 494 | 10,200 |
JavaScript | 41 | 980 | 450 | 4,257 |
SVG | 132 | 1 | 0 | 2,809 |
HTML | 1 | 310 | 0 | 488 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.42 |
Average class complexity | 11.22 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 71.00 |
Average method complexity | 3.03 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 40.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 122 | |
▷ Abstract classes | 18 | 14.75% |
▷ Concrete classes | 104 | 85.25% |
▷ Final classes | 0 | 0.00% |
Methods | 639 | |
▷ Static methods | 282 | 44.13% |
▷ Public methods | 616 | 96.40% |
▷ Protected methods | 23 | 3.60% |
▷ Private methods | 0 | 0.00% |
Functions | 348 | |
▷ Named functions | 348 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 19 | |
▷ Global constants | 9 | 47.37% |
▷ Class constants | 10 | 52.63% |
▷ Public constants | 10 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
3 compressed PNG files occupy 0.13MB
Potential savings
Compression of 3 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/images/portal.png | 46.75KB | 50.08KB | 0.00% |
admin/images/realtor.png | 41.73KB | 44.36KB | 0.00% |
admin/images/native.png | 45.05KB | 48.16KB | 0.00% |