Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
This plugin's installer ran successfully
Server metrics [RAM: ▲0.52MB] [CPU: ▲0.83ms] Passed 4 tests
Server-side resources used by Xola
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.01 ▲0.55 | 43.64 ▲7.30 |
Dashboard /wp-admin | 3.85 ▲0.55 | 52.72 ▲2.89 |
Posts /wp-admin/edit.php | 3.90 ▲0.54 | 49.36 ▲3.66 |
Add New Post /wp-admin/post-new.php | 6.39 ▲0.50 | 100.39 ▼4.13 |
Media Library /wp-admin/upload.php | 3.71 ▲0.48 | 36.74 ▲0.91 |
Server storage [IO: ▲1.26MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
The plugin installed successfully
Filesystem: 78 new files
Database: 1 new table, 6 new options
New tables |
---|
wp_xola_listings |
New WordPress options |
---|
widget_recent-posts |
widget_theysaidso_widget |
can_compress_scripts |
db_upgraded |
widget_recent-comments |
theysaidso_admin_options |
Browser metrics Passed 4 tests
Xola: an overview of browser usage
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,839 ▲93 | 13.50 ▼0.69 | 1.60 ▼0.17 | 43.39 ▼0.57 |
Dashboard /wp-admin | 2,227 ▲36 | 5.10 ▼0.81 | 113.24 ▲10.45 | 76.48 ▲35.98 |
Posts /wp-admin/edit.php | 2,122 ▲30 | 2.52 ▲0.53 | 34.34 ▼5.29 | 34.83 ▲1.51 |
Add New Post /wp-admin/post-new.php | 1,701 ▲179 | 22.00 ▼1.38 | 769.76 ▲120.21 | 30.26 ▼29.92 |
Media Library /wp-admin/upload.php | 1,427 ▲39 | 4.47 ▲0.31 | 108.75 ▲13.34 | 45.69 ▲1.43 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
The following items require your attention
- Zombie WordPress options detected upon uninstall: 6 options
- db_upgraded
- widget_recent-posts
- widget_theysaidso_widget
- widget_recent-comments
- theysaidso_admin_options
- can_compress_scripts
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Everything seems fine, however this is by no means an exhaustive test
SRP 50% 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
- 29× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function get_bloginfo() in wp-content/plugins/xola-bookings-for-tours-activities/includes/__constants.php:6
- > PHP Warning
Use of undefined constant DB_HOST - assumed 'DB_HOST' (this will throw an Error in a future version of PHP) in wp-content/plugins/xola-bookings-for-tours-activities/includes/XolaData.php on line 22
- > PHP Warning
require_once(XOLA_ASSETS_PATHcss/xola-admin-bootstrap.min.css): failed to open stream: No such file or directory in wp-content/plugins/xola-bookings-for-tours-activities/includes/adminMenus/onboardingSync.php on line 7
- > PHP Fatal error
Uncaught Error: Call to undefined function get_query_var() in wp-content/plugins/xola-bookings-for-tours-activities/template/discoverySingle.php:5
- > PHP Fatal error
require_once(): Failed opening required 'XOLA_ASSETS_PATHcss/xola-admin-bootstrap.min.css' (include_path='.:/usr/share/php') in wp-content/plugins/xola-bookings-for-tours-activities/includes/adminMenus/onboarding.php on line 8
- > PHP Fatal error
Uncaught Error: Call to undefined function xola\\add_action() in wp-content/plugins/xola-bookings-for-tours-activities/includes/XolaAjax.php:12
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/xola-bookings-for-tours-activities/includes/XolaData.php on line 20
- > PHP Warning
mysqli::__construct(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in wp-content/plugins/xola-bookings-for-tours-activities/includes/XolaData.php on line 28
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/xola-bookings-for-tours-activities/includes/adminMenus/pluginSettings.php:6
- > PHP Warning
Use of undefined constant XOLA_ASSETS_PATH - assumed 'XOLA_ASSETS_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/xola-bookings-for-tours-activities/includes/adminMenus/onboarding.php on line 8
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 90% from 29 tests
readme.txt Passed 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
7 plugin tags: store, tour, booking, experience, ecommerce...
xola-bookings-for-tours-activities/XolaPlugin.php 77% from 13 tests
Analyzing the main PHP file in "Xola" version 1.6
It is important to fix the following:
- Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 259 characters long)
- Main file name: Name the main plugin file the same as the plugin slug ("xola-bookings-for-tours-activities.php" instead of "XolaPlugin.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 | Executable files are considered dangerous and should not be included with any WordPress plugin
There were no executable files found in this plugin8,467 lines of code in 43 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 15 | 913 | 75 | 3,466 |
CSS | 12 | 491 | 62 | 2,848 |
JavaScript | 11 | 477 | 183 | 1,819 |
SVG | 5 | 1 | 3 | 334 |
PHP code Passed 2 tests
This is a very shot review of cyclomatic complexity and code structure
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.31 |
Average class complexity | 39.86 |
▷ Minimum class complexity | 2.00 |
▷ Maximum class complexity | 147.00 |
Average method complexity | 3.30 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 22.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 7 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 7 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 119 | |
▷ Static methods | 101 | 84.87% |
▷ Public methods | 112 | 94.12% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 7 | 5.88% |
Functions | 9 | |
▷ Named functions | 4 | 44.44% |
▷ Anonymous functions | 5 | 55.56% |
Constants | 16 | |
▷ Global constants | 15 | 93.75% |
▷ Class constants | 1 | 6.25% |
▷ Public constants | 1 | 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
19 PNG files occupy 0.06MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/ob-grid-selected.png | 3.79KB | 3.82KB | 0.00% |
assets/images/poshytip-darkgray.png | 5.08KB | 2.53KB | ▼ 50.26% |
assets/images/ob-list.png | 7.30KB | 3.15KB | ▼ 56.87% |
assets/images/pencil.png | 0.27KB | 0.38KB | 0.00% |
assets/images/clock.png | 0.47KB | 0.39KB | ▼ 18.31% |