Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Install script ran successfully
Server metrics [RAM: ▲2.34MB] [CPU: ▲12.81ms] Passed 4 tests
Server-side resources used by Motors – Car Dealer, Classifieds & Listing
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.26 ▲1.80 | 46.87 ▲1.36 |
Dashboard /wp-admin | 5.89 ▲2.59 | 68.69 ▲18.77 |
Posts /wp-admin/edit.php | 5.93 ▲2.57 | 71.12 ▲22.72 |
Add New Post /wp-admin/post-new.php | 8.39 ▲2.51 | 99.80 ▲9.68 |
Media Library /wp-admin/upload.php | 5.71 ▲2.49 | 55.70 ▲21.42 |
Add New /wp-admin/post-new.php?post_type=listings | 6.25 | 69.91 |
Listing Categories /wp-admin/edit.php?post_type=listings&page=listing_categories | 6.14 | 56.60 |
All Items /wp-admin/edit.php?post_type=listings | 5.85 | 52.31 |
WebManager XML Import /wp-admin/edit.php?post_type=listings&page=stm_xml_import_automanager | 5.70 | 48.39 |
All Test Drives /wp-admin/edit.php?post_type=test_drive_request | 5.85 | 56.70 |
Server storage [IO: ▲7.23MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 279 new files
Database: no new tables, 8 new options
New WordPress options |
---|
db_upgraded |
current_queried_xml |
theysaidso_admin_options |
stm_price_patched |
widget_recent-comments |
widget_theysaidso_widget |
widget_recent-posts |
can_compress_scripts |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Motors – Car Dealer, Classifieds & Listing
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,097 ▲1,362 | 16.93 ▲2.53 | 26.98 ▲24.49 | 41.30 ▼2.47 |
Dashboard /wp-admin | 2,506 ▲318 | 7.14 ▲2.28 | 150.44 ▲33.68 | 105.38 ▲61.45 |
Posts /wp-admin/edit.php | 2,353 ▲261 | 3.66 ▲1.65 | 57.22 ▲20.11 | 77.57 ▲43.55 |
Add New Post /wp-admin/post-new.php | 1,605 ▲86 | 21.53 ▼1.45 | 686.28 ▲57.28 | 38.72 ▼17.54 |
Media Library /wp-admin/upload.php | 1,496 ▲105 | 4.45 ▲0.24 | 84.66 ▼17.38 | 108.14 ▲61.33 |
Add New /wp-admin/post-new.php?post_type=listings | 3,909 | 11.25 | 349.52 | 131.73 |
Listing Categories /wp-admin/edit.php?post_type=listings&page=listing_categories | 7,818 | 4.70 | 103.45 | 138.33 |
All Items /wp-admin/edit.php?post_type=listings | 1,306 | 3.67 | 49.20 | 73.56 |
WebManager XML Import /wp-admin/edit.php?post_type=listings&page=stm_xml_import_automanager | 1,567 | 5.15 | 87.07 | 75.71 |
All Test Drives /wp-admin/edit.php?post_type=test_drive_request | 1,323 | 3.60 | 51.31 | 73.33 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
- This plugin did not uninstall successfully, leaving 8 options in the database
- widget_theysaidso_widget
- theysaidso_admin_options
- db_upgraded
- current_queried_xml
- widget_recent-posts
- widget_recent-comments
- can_compress_scripts
- stm_price_patched
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 0% from 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
Please fix the following
- 23× PHP files output non-empty strings when accessed directly via GET requests (only 10 are shown):
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/control-gallery.php
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/control.php
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/nav.php
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/control-image.php
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/control-textarea.php
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/control-color.php
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/control-parent.php
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/control-location.php
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/control-radio-image.php
- > /wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/tmpl/control-palette.php
- 30× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'ButterBean_Control' not found in wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/inc/controls/class-control-image.php:20
- > PHP Fatal error
Uncaught Error: Class 'ButterBean_Control' not found in wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/inc/controls/class-control-file.php:20
- > PHP Fatal error
Uncaught Error: Class 'ButterBean_Control' not found in wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/inc/controls/class-control-datetime.php:24
- > PHP Fatal error
Uncaught Error: Class 'ButterBean_Control' not found in wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/inc/controls/class-control-radio.php:19
- > PHP Fatal error
Uncaught Error: Class 'ButterBean_Control' not found in wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/inc/controls/class-control-checkboxes.php:20
- > PHP Fatal error
Uncaught Error: Class 'ButterBean_Setting' not found in wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/inc/settings/class-setting-array.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_url() in wp-content/plugins/motors-car-dealership-classified-listings/templates/modals/test-drive.php:2
- > PHP Fatal error
Uncaught Error: Class 'ButterBean_Control' not found in wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/inc/controls/class-control-datepicker.php:20
- > PHP Fatal error
Uncaught Error: Class 'ButterBean_Control' not found in wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/butterbean/inc/controls/class-control-select-group.php:19
- > PHP Fatal error
Uncaught Error: Call to undefined function get_queried_object() in wp-content/plugins/motors-car-dealership-classified-listings/templates/user/public/user.php:2
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
These are user-side errors you should fix
- 3 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=listings&page=stm_xml_import_automanager
- > Console-api (warning) in unknown
https://maps.googleapis.com/maps/api/js?key=&libraries=places 232:51 "Google Maps JavaScript API has been loaded directly without a callback. This is not supported and can lead to race conditions and suboptimal performance. For supported loading patterns please see https://goo.gle/js-api-loading"
- 3 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=listings&page=stm_xml_import_automanager
- > Console-api (warning) in unknown
https://maps.googleapis.com/maps/api/js?key=&libraries=places 163:373 "google.maps.event.addDomListener() is deprecated, use the standard\naddEventListener() method instead:\nhttps://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener\nThe feature will continue to work and there is no plan to decommission\nit."
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
These attributes need your attention:
- Screenshots: Please add images for these screenshots: #8 (pro car dealership wordpress plugin), #9 (wordpress car listing plugin), #10 (wordpress dealership plugin)
motors-car-dealership-classified-listings/stm_vehicles_listing.php 85% from 13 tests
"Motors – Car Dealer, Classifieds & Listing" version 1.4.6's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
Please take the time to fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("motors-car-dealership-classified-listings.php" instead of "stm_vehicles_listing.php")
- Text Domain: The text domain should only use lowercase characters and dashes
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
No dangerous file extensions were detected43,688 lines of code in 218 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 152 | 2,878 | 3,060 | 17,417 |
CSS | 20 | 1,383 | 95 | 8,638 |
JavaScript | 22 | 1,230 | 1,007 | 5,543 |
JSON | 7 | 0 | 0 | 4,526 |
XML | 1 | 7 | 16 | 3,771 |
Sass | 4 | 290 | 0 | 2,638 |
SVG | 8 | 0 | 0 | 754 |
Markdown | 4 | 126 | 0 | 401 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 7.89 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 63.00 |
Average method complexity | 2.70 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 25.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 47 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 47 | 100.00% |
▷ Final classes | 1 | 2.13% |
Methods | 191 | |
▷ Static methods | 18 | 9.42% |
▷ Public methods | 186 | 97.38% |
▷ Protected methods | 1 | 0.52% |
▷ Private methods | 4 | 2.09% |
Functions | 186 | |
▷ Named functions | 186 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 8 | |
▷ Global constants | 8 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.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
16 PNG files occupy 0.41MB with 0.16MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/css/images/ui-icons_555555_256x240.png | 6.91KB | 4.18KB | ▼ 39.47% |
includes/customizer/assets/images/checkbox.png | 0.46KB | 0.42KB | ▼ 9.07% |
assets/images/lightGallery/youtube-play.png | 5.06KB | 2.37KB | ▼ 53.04% |
assets/images/tmp/admin_table.png | 99.65KB | 38.58KB | ▼ 61.28% |
assets/css/images/ui-icons_ffffff_256x240.png | 6.33KB | 4.18KB | ▼ 33.99% |