Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully
Server metrics [RAM: ▲1.17MB] [CPU: ▲11.02ms] Passed 4 tests
This is a short check of server-side resources used by WordPress Boat Dealer, Boat Seller, Yatch Dealer, PWC Plugin
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.48 ▲1.02 | 48.08 ▲3.78 |
Dashboard /wp-admin | 4.54 ▲1.23 | 59.93 ▲4.93 |
Posts /wp-admin/edit.php | 4.62 ▲1.26 | 64.26 ▲13.66 |
Add New Post /wp-admin/post-new.php | 7.09 ▲1.20 | 110.89 ▲21.71 |
Media Library /wp-admin/upload.php | 4.47 ▲1.24 | 63.92 ▲29.81 |
Settings /wp-admin/admin.php?page=boatdealer-plugin-settings | 4.45 | 46.50 |
Team /wp-admin/admin.php?page=md-team | 4.45 | 50.26 |
Fields Table /wp-admin/admin.php?page=fields-table | 4.45 | 47.83 |
Dashboard /wp-admin/admin.php?page=boat_dealer_plugin | 4.45 | 47.71 |
Go Pro /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3 | 4.45 | 47.49 |
Models /wp-admin/admin.php?page=md-makes | 4.45 | 52.22 |
Boatdealer Designer /wp-admin/admin.php?page=md-designer | 4.45 | 45.60 |
boatdealer_settings /wp-admin/edit.php?post_type=boats&page=boatdealer_settings | 4.46 | 49.74 |
Boatdealer Designer /wp-admin/themes.php?page=Boat_Dealer_Designer | 4.45 | 44.80 |
Boats Table /wp-admin/admin.php?page=boats-table | 4.45 | 47.40 |
Server storage [IO: ▲5.03MB] [DB: ▲0.02MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin installed successfully
Filesystem: 206 new files
Database: no new tables, 23 new options
New WordPress options |
---|
widget_recent-posts |
boatdealer_show_condition |
bill_show_warnings |
boatdealer_show_transmission |
widget_searchwidget |
theysaidso_admin_options |
widget_recent-comments |
boatdealer_show_year |
boatdealer_show_fuel |
boatdealer_recipientEmail |
... |
Browser metrics Passed 4 tests
Checking browser requirements for WordPress Boat Dealer, Boat Seller, Yatch Dealer, PWC Plugin
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,087 ▲326 | 15.50 ▲1.23 | 9.69 ▲7.80 | 41.42 ▲0.28 |
Dashboard /wp-admin | 2,323 ▲149 | 6.29 ▲0.69 | 95.75 ▼4.52 | 86.43 ▲42.58 |
Posts /wp-admin/edit.php | 2,265 ▲165 | 3.01 ▲1.03 | 57.02 ▲17.32 | 52.04 ▲17.86 |
Add New Post /wp-admin/post-new.php | 1,692 ▲166 | 18.78 ▼4.88 | 597.27 ▼85.52 | 31.72 ▼29.80 |
Media Library /wp-admin/upload.php | 1,545 ▲151 | 5.30 ▲1.14 | 106.96 ▲6.47 | 92.63 ▲47.42 |
Settings /wp-admin/admin.php?page=boatdealer-plugin-settings | 2,156 | 3.66 | 41.34 | 45.13 |
Team /wp-admin/admin.php?page=md-team | 2,450 | 5.36 | 77.70 | 41.66 |
Fields Table /wp-admin/admin.php?page=fields-table | 2,300 | 4.32 | 64.98 | 34.86 |
Dashboard /wp-admin/admin.php?page=boat_dealer_plugin | 1,345 | 2.94 | 51.29 | 69.46 |
Go Pro /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3 | 2,395 | 5.73 | 140.50 | 99.80 |
Models /wp-admin/admin.php?page=md-makes | 2,214 | 3.85 | 47.62 | 37.44 |
Boatdealer Designer /wp-admin/admin.php?page=md-designer | 13,470 | 27.12 | 808.06 | 167.74 |
boatdealer_settings /wp-admin/edit.php?post_type=boats&page=boatdealer_settings | 1,423 | 2.69 | 36.68 | 58.70 |
Boatdealer Designer /wp-admin/themes.php?page=Boat_Dealer_Designer | 911 | 2.43 | 35.32 | 19.88 |
Boats Table /wp-admin/admin.php?page=boats-table | 2,002 | 4.08 | 53.53 | 40.87 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
Please fix the following items
- Zombie WordPress options detected upon uninstall: 23 options
- bill_last_feedback
- widget_recent-posts
- boatdealer_show_make
- theysaidso_admin_options
- widget_recentwidget
- can_compress_scripts
- boatdealer_show_transmission
- db_upgraded
- boatdealer_show_condition
- boatdealer_activated
- ...
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
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
- 5× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/boatdealer/includes/templates/template-single.php
- > /wp-content/plugins/boatdealer/includes/checkup/class_bill_catch_errors.php
- > /wp-content/plugins/boatdealer/includes/checkup/bill_class_diagnose.php
- > /wp-content/plugins/boatdealer/dashboard/fixconfig.php
- > /wp-content/plugins/boatdealer/public/restore-config.php
- 11× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Warning
require_once(BOATDEALERPLUGINPATHassets/php/boatdealer_mr_image_resize.php): failed to open stream: No such file or directory in wp-content/plugins/boatdealer/includes/templates/template-functions.php on line 139
- > PHP Warning
Use of undefined constant BOATDEALERPLUGINPATH - assumed 'BOATDEALERPLUGINPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/boatdealer/includes/templates/template-functions.php on line 139
- > PHP Fatal error
Uncaught Error: Call to undefined function boatdealerPlugin_last_feedback\\is_multisite() in wp-content/plugins/boatdealer/includes/feedback/feedback-last.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/boatdealer/includes/widgets/widgets.php:9
- > PHP Fatal error
require_once(): Failed opening required 'BOATDEALERPLUGINPATHassets/php/boatdealer_mr_image_resize.php' (include_path='.:/usr/share/php') in wp-content/plugins/boatdealer/includes/templates/template-functions.php on line 139
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/boatdealer/includes/multi/multi-functions.php:1
- > PHP Fatal error
Uncaught Error: Call to undefined function boatdealerPlugin_feedback\\is_multisite() in wp-content/plugins/boatdealer/includes/feedback/feedback.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/boatdealer/assets/php/boatdealer_mr_image_resize.php:20
- > PHP Fatal error
Uncaught Error: Class 'boatdealer\\WP\\Settings\\Page' not found in wp-content/plugins/boatdealer/settings/options/plugin_options_tabbed.php:10
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/boatdealer/assets/php/bd_mr_image_resize.php:20
- > PHP Warning
User-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Please take a look at the following user-side issues
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Javascript (severe) in unknown
http://boatdealerplugin.com/premium/ - Access to font at 'https://boatdealerplugin.com/wp-content/plugins/boatdealer/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0' (redirected from 'http://boatdealerplugin.com/wp-content/plugins/boatdealer/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0') from origin 'http://boatdealerplugin.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Network (severe)
https://boatdealerplugin.com/wp-content/plugins/boatdealer/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0 - Failed to load resource: net::ERR_FAILED
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Javascript (severe) in unknown
http://boatdealerplugin.com/premium/ 1628 Access to font at 'https://boatdealerplugin.com/wp-content/plugins/shortcodes-ultimate/vendor/fork-awesome/fonts/forkawesome-webfont.woff2?v=1.2.0' from origin 'http://boatdealerplugin.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Network (severe)
https://boatdealerplugin.com/wp-content/plugins/shortcodes-ultimate/vendor/fork-awesome/fonts/forkawesome-webfont.woff2?v=1.2.0 - Failed to load resource: net::ERR_FAILED
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Javascript (severe) in unknown
http://boatdealerplugin.com/premium/ - Access to font at 'https://boatdealerplugin.com/wp-content/plugins/boatdealer/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0' (redirected from 'http://boatdealerplugin.com/wp-content/plugins/boatdealer/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0') from origin 'http://boatdealerplugin.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Network (severe)
https://boatdealerplugin.com/wp-content/plugins/boatdealer/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0 - Failed to load resource: net::ERR_FAILED
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Javascript (severe) in unknown
http://boatdealerplugin.com/premium/ - Access to font at 'https://boatdealerplugin.com/wp-content/plugins/shortcodes-ultimate/vendor/fork-awesome/fonts/forkawesome-webfont.woff?v=1.2.0' from origin 'http://boatdealerplugin.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Network (severe)
https://boatdealerplugin.com/wp-content/plugins/shortcodes-ultimate/vendor/fork-awesome/fonts/forkawesome-webfont.woff?v=1.2.0 - Failed to load resource: net::ERR_FAILED
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Javascript (severe) in unknown
http://boatdealerplugin.com/premium/ - Access to font at 'https://boatdealerplugin.com/wp-content/plugins/shortcodes-ultimate/vendor/fork-awesome/fonts/forkawesome-webfont.ttf?v=1.2.0' from origin 'http://boatdealerplugin.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Network (severe)
https://boatdealerplugin.com/wp-content/plugins/shortcodes-ultimate/vendor/fork-awesome/fonts/forkawesome-webfont.ttf?v=1.2.0 - Failed to load resource: net::ERR_FAILED
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Javascript (severe) in unknown
http://boatdealerplugin.com/premium/ - Access to font at 'https://boatdealerplugin.com/wp-content/plugins/boatdealer/assets/fonts/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0' (redirected from 'http://boatdealerplugin.com/wp-content/plugins/boatdealer/assets/fonts/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0') from origin 'http://boatdealerplugin.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
- > GET request to /wp-admin/admin.php?page=boatdealer_my-custom-submenu-page3
- > Network (severe)
https://boatdealerplugin.com/wp-content/plugins/boatdealer/assets/fonts/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0 - Failed to load resource: net::ERR_FAILED
- > GET request to /wp-admin/admin.php?page=md-designer
- > Security (warning) in unknown
/?customize_changeset_uuid=9b31aa06-1e64-4713-84a1-0c233726d6dc&customize_theme=twentytwentyone&customize_messenger_channel=preview-0 - An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can escape its sandboxing.
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 88% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that require attention:
- Screenshots: These screenshots require images: #1 (Front Boats Page (gallery)), #2 (Front Boats Page (list view)), #3 (Front Boat Post Page), #4 (Boats Table Page), #5 (Settings Page), #6 (Settings Design (Premium Feature)), #7 (Table Features), #8 (Setup Search Bar), #9 (Fields Table)
- Tags: Too many tags (11 tag instead of maximum 10); only the first 5 tags are used in your directory listing
boatdealer/boatdealer.php Passed 13 tests
Analyzing the main PHP file in "WordPress Boat Dealer, Boat Seller, Yatch Dealer, PWC Plugin" version 3.06
67 characters long description:
The easiest way to manage, list and sell your boats and PWC online.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Everything looks great! No dangerous files found in this plugin27,751 lines of code in 101 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 48 | 3,739 | 954 | 9,510 |
CSS | 19 | 354 | 235 | 6,793 |
SVG | 6 | 0 | 0 | 3,942 |
PO File | 7 | 1,609 | 2,317 | 3,577 |
HTML | 5 | 254 | 109 | 2,131 |
JavaScript | 16 | 203 | 263 | 1,798 |
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.30 |
Average class complexity | 9.72 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 47.00 |
Average method complexity | 3.15 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 19.00 |
Code structure | ||
---|---|---|
Namespaces | 4 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 25 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 25 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 102 | |
▷ Static methods | 10 | 9.80% |
▷ Public methods | 100 | 98.04% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 2 | 1.96% |
Functions | 129 | |
▷ Named functions | 128 | 99.22% |
▷ Anonymous functions | 1 | 0.78% |
Constants | 86 | |
▷ Global constants | 86 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
35 PNG files occupy 0.41MB with 0.20MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png | 0.33KB | 0.12KB | ▼ 62.09% |
assets/images/oktick.png | 41.43KB | 11.19KB | ▼ 72.99% |
assets/jquery/images/ui-icons_cd0a0a_256x240.png | 4.44KB | 4.17KB | ▼ 6.02% |
assets/images/noktick.png | 40.25KB | 10.96KB | ▼ 72.78% |
assets/images/support.png | 1.76KB | 1.28KB | ▼ 27.27% |