Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲1.98MB] [CPU: ▲2.54ms] 75% from 4 tests
This is a short check of server-side resources used by kvCORE IDX
Please fix the following
- RAM: Total memory usage should be kept under 10MB (currently 10.38MB on /wp-admin/admin.php?page=kvcoreidx_settings)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.08 ▲1.62 | 280.14 ▲237.99 |
Dashboard /wp-admin | 6.30 ▲2.99 | 63.11 ▲17.16 |
Posts /wp-admin/edit.php | 6.35 ▲2.99 | 58.25 ▲14.37 |
Add New Post /wp-admin/post-new.php | 6.22 ▲0.33 | 52.01 ▼40.17 |
Media Library /wp-admin/upload.php | 6.22 ▲2.99 | 54.63 ▲18.79 |
kvCORE IDX Settings /wp-admin/admin.php?page=kvcoreidx_settings | 10.38 | 491.44 |
Server storage [IO: ▲7.53MB] [DB: ▲0.00MB] 67% from 3 tests
Analyzing filesystem and database footprints of this plugin
Please fix the following
- There were 1 file (0.00KB) illegally modified outside of "wp-content/plugins/kvcore-idx/" and "wp-content/uploads/"
- (new file) wp-content/cache/kvcoreidx/.empty
Filesystem: 645 new files
Database: no new tables, 9 new options
New WordPress options |
---|
can_compress_scripts |
widget_theysaidso_widget |
kvcoreidx_flush_rewrite_rules |
db_upgraded |
widget_kvcoreidx_login |
theysaidso_admin_options |
widget_recent-comments |
widget_recent-posts |
kvcore_idx_version |
Browser metrics Passed 4 tests
This is an overview of browser requirements for kvCORE IDX
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,073 ▲312 | 18.02 ▲3.63 | 181.04 ▲179.31 | 76.41 ▲33.42 |
Dashboard /wp-admin | 2,316 ▲136 | 5.66 ▼0.01 | 81.52 ▼13.86 | 36.42 ▼3.82 |
Posts /wp-admin/edit.php | 2,224 ▲127 | 2.00 ▼0.03 | 37.39 ▼1.27 | 30.40 ▼5.47 |
Add New Post /wp-admin/post-new.php | 1,547 ▲21 | 18.05 ▼5.00 | 589.78 ▼74.14 | 68.93 ▲12.58 |
Media Library /wp-admin/upload.php | 1,520 ▲120 | 4.24 ▲0.03 | 101.25 ▼5.19 | 43.53 ▼2.65 |
kvCORE IDX Settings /wp-admin/admin.php?page=kvcoreidx_settings | 1,717 | 3.17 | 60.46 | 61.97 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
- The uninstall procedure has failed, leaving 9 options in the database
- widget_theysaidso_widget
- widget_recent-posts
- kvcore_idx_version
- kvcoreidx_flush_rewrite_rules
- widget_kvcoreidx_login
- widget_recent-comments
- db_upgraded
- theysaidso_admin_options
- can_compress_scripts
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Please fix the following server-side errors
- > GET request to /wp-admin/admin.php?page=kvcoreidx_settings
- > Notice in wp-content/plugins/kvcore-idx/includes/kvcore/data-store/class-area-page.php+160
Undefined index: api_url
- > GET request to /wp-admin/admin.php?page=kvcoreidx_settings
- > Notice in wp-content/plugins/kvcore-idx/includes/kvcore/data-store/class-area-page.php+161
Undefined index: authorization_token
- > GET request to /wp-admin/admin.php?page=kvcoreidx_settings
- > Error in wp-content/plugins/kvcore-idx/includes/kvcore/data-store/class-area-page.php+180
Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in wp-content/plugins/kvcore-idx/includes/kvcore/data-store/class-area-page.php:180
Stack trace:
#0 wp-content/plugins/kvcore-idx/includes/kvcore/data-store/class-area-page.php(180): json_decode()
#1 wp-content/plugins/kvcore-idx/includes/kvcore/data-store/class-area-page.php(70): kvCORE\Data_Store\Area_Page::get_list_from_remote()
#2 wp-content/plugins/kvcore-idx/includes/kvcore/rest/v1/class-area-page.php(43): kvCORE\Data_Store\Area_Page::get_list()
#3 wp-content/plugins/kvcore-idx/includes/kvcore/rest/v1/class-area-page.php(22): kvCORE\Rest\v1\Area_Page->get()
#4 wp-content/plugins/kvcore-idx/includes/kvcore/class-rest.php(43): kvCORE\Rest\v1\Area_Page->callback()
#5 wp-includes/rest-api/class-wp-rest-server.php(1188): kvCORE\Rest->kvCORE\{closure}()
#6 wp-includes/rest-api/class
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 items
- 552× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\ode' not found in wp-content/plugins/kvcore-idx/includes/vendor/twig/twig/src/Node/DoNode.php:22
- > PHP Fatal error
Uncaught Error: Class 'kvCORE_AdminPageFramework_PageLoadInfo_Base' not found in wp-content/plugins/kvcore-idx/includes/lib/admin-page-framework/factory/network_admin_page/_view/AdminPageFramework_PageLoadInfo_network_admin_page.php:7
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\ode' not found in wp-content/plugins/kvcore-idx/includes/vendor/twig/twig/src/Node/ModuleNode.php:31
- > PHP Fatal error
Uncaught Error: Class 'kvCORE_AdminPageFramework_FrameworkUtility' not found in wp-content/plugins/kvcore-idx/includes/lib/admin-page-framework/factory/admin_page/_model/delegate/AdminPageFramework_Model__FormRedirectHandler.php:7
- > PHP Fatal error
Uncaught Error: Class 'kvCORE_AdminPageFramework_FrameworkUtility' not found in wp-content/plugins/kvcore-idx/includes/lib/admin-page-framework/factory/admin_page/_view/AdminPageFramework_View__PageMetaboxEnabler.php:7
- > PHP Warning
include(): Failed opening 'vendor/autoload.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/kvcore-idx/includes/vendor/hybridauth/hybridauth/examples/example_06/callback.php on line 6
- > PHP Fatal error
Uncaught Error: Class 'Twig\ode\\Expression\\Binary\\AbstractBinary' not found in wp-content/plugins/kvcore-idx/includes/vendor/twig/twig/src/Node/Expression/Binary/GreaterEqualBinary.php:16
- > PHP Fatal error
Uncaught Error: Class 'kvCORE\\Shortcode\\Listing_Detail\\Details' not found in wp-content/plugins/kvcore-idx/includes/kvcore/shortcode/listing-detail/details/class-similar-properties.php:9
- > PHP Fatal error
Uncaught Error: Class 'ScssPhp\\ScssPhp\\Block' not found in wp-content/plugins/kvcore-idx/includes/vendor/scssphp/scssphp/src/Block/ForBlock.php:21
- > PHP Fatal error
Uncaught Error: Class 'kvCORE_AdminPageFramework' not found in wp-content/plugins/kvcore-idx/includes/kvcore/admin/class-page.php:9
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please take a look at the following user-side issues
- > GET request to /wp-admin/admin.php?page=kvcoreidx_settings
- > Network (severe)
index.php/wp-json/kvcoreidx/v1/admin/area-page/list - Failed to load resource: the server responded with a status of 500 (Internal Server Error)
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
These attributes need your attention:
- Contributors: Contributors not specified
kvcore-idx/kvcore-idx.php 85% from 13 tests
The main file in "kvCORE IDX" v. 2.3.28 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
- Requires PHP: The required version number must match the one declared in readme.txt ("7.1.3" instead of "7.0")
- Domain Path: The domain path points to an invalid folder, "/languages" does not exist
Code Analysis 95% from 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 detected106,636 lines of code in 1,255 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 863 | 12,294 | 19,189 | 61,376 |
JavaScript | 165 | 5,578 | 1,680 | 23,401 |
Sass | 70 | 1,467 | 110 | 7,902 |
Twig | 94 | 396 | 93 | 6,507 |
JSON | 11 | 0 | 0 | 5,591 |
CSS | 10 | 77 | 36 | 670 |
Markdown | 21 | 273 | 0 | 645 |
YAML | 5 | 71 | 29 | 295 |
SVG | 10 | 0 | 6 | 165 |
Bourne Shell | 2 | 27 | 17 | 53 |
XML | 2 | 1 | 5 | 20 |
reStructuredText | 1 | 8 | 5 | 10 |
HTML | 1 | 0 | 0 | 1 |
PHP code 0% from 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
The following items need your attention
- Cyclomatic complexity of classes has to be reduced to less than 1000 (currently 1,484)
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 198)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.41 |
Average class complexity | 10.01 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 1,484.00 |
Average method complexity | 3.12 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 198.00 |
Code structure | ||
---|---|---|
Namespaces | 73 | |
Interfaces | 24 | |
Traits | 2 | |
Classes | 912 | |
▷ Abstract classes | 112 | 12.28% |
▷ Concrete classes | 800 | 87.72% |
▷ Final classes | 63 | 7.88% |
Methods | 3,977 | |
▷ Static methods | 481 | 12.09% |
▷ Public methods | 2,418 | 60.80% |
▷ Protected methods | 851 | 21.40% |
▷ Private methods | 708 | 17.80% |
Functions | 236 | |
▷ Named functions | 161 | 68.22% |
▷ Anonymous functions | 75 | 31.78% |
Constants | 206 | |
▷ Global constants | 25 | 12.14% |
▷ Class constants | 181 | 87.86% |
▷ Public constants | 178 | 98.34% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
24 PNG files occupy 4.04MB with 2.24MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
public/images/Polygon-2.png | 0.25KB | 0.23KB | ▼ 7.17% |
assets/screenshot-1.png | 124.89KB | 43.08KB | ▼ 65.51% |
public/images/cat-img.png | 123.61KB | 43.12KB | ▼ 65.11% |
public/images/cat-img4.png | 192.25KB | 55.33KB | ▼ 71.22% |
admin/images/listing-detail-design-v2.png | 637.44KB | 207.79KB | ▼ 67.40% |