Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Installer ran successfully
Server metrics [RAM: ▲1.88MB] [CPU: ▲9.96ms] Passed 4 tests
Analyzing server-side resources used by FOX - Currency Switcher Professional for WooCommerce
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.38 ▲1.91 | 59.57 ▲18.88 |
Dashboard /wp-admin | 5.22 ▲1.88 | 59.02 ▼0.73 |
Posts /wp-admin/edit.php | 5.28 ▲1.92 | 68.28 ▲21.51 |
Add New Post /wp-admin/post-new.php | 7.75 ▲1.86 | 107.17 ▲0.18 |
Media Library /wp-admin/upload.php | 5.08 ▲1.85 | 53.32 ▲22.06 |
Server storage [IO: ▲5.20MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 210 new files
Database: no new tables, 67 new options
New WordPress options |
---|
woocs_customer_price_format |
woocs_rate_auto_update_email |
woocs_show_money_signs |
widget_recent-posts |
woocs_show_approximate_amount |
woocs_show_approximate_price |
woocs_is_fixed_enabled |
woocs_auto_switcher_side |
woocs_schema_in_current_currency |
woocs_force_pay_bygeoip_rules |
... |
Browser metrics Passed 4 tests
FOX - Currency Switcher Professional for WooCommerce: 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,817 ▲70 | 14.16 ▲0.03 | 1.96 ▲0.25 | 41.27 ▼1.56 |
Dashboard /wp-admin | 2,200 ▲26 | 5.58 ▼0.04 | 92.53 ▼6.79 | 38.30 ▼4.77 |
Posts /wp-admin/edit.php | 2,126 ▲26 | 2.30 ▲0.36 | 42.91 ▲1.07 | 35.59 ▼1.16 |
Add New Post /wp-admin/post-new.php | 1,539 ▲13 | 23.19 ▲0.02 | 680.24 ▲1.50 | 60.27 ▼0.91 |
Media Library /wp-admin/upload.php | 1,419 ▲16 | 4.36 ▲0.20 | 98.17 ▼6.62 | 42.21 ▼2.54 |
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
- This plugin does not fully uninstall, leaving 67 options in the database
- theysaidso_admin_options
- woocs_drop_down_view
- woocs_customer_price_format
- db_upgraded
- woocs_disable_reset_currency_bots
- woocs_rate_auto_update_email
- widget_woocs_rates
- woocs_schema_in_current_currency
- widget_theysaidso_widget
- widget_woocs_converter
- ...
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
The smoke test was a success, however most plugin functionality was not tested
SRP 50% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following items
- 39× PHP files perform the task of outputting text when accessed with GET requests (only 10 are shown):
- > /wp-content/plugins/woocommerce-currency-switcher/views/shortcodes/styles/style-3/index.php
- > /wp-content/plugins/woocommerce-currency-switcher/classes/widgets/widget-currency-converter.php
- > /wp-content/plugins/woocommerce-currency-switcher/views/plugin_options_1.php
- > /wp-content/plugins/woocommerce-currency-switcher/views/widgets/selector.php
- > /wp-content/plugins/woocommerce-currency-switcher/views/auto_switcher/round_select.php
- > /wp-content/plugins/woocommerce-currency-switcher/views/widgets/converter_form.php
- > /wp-content/plugins/woocommerce-currency-switcher/classes/fixed/fixed_shipping.php
- > /wp-content/plugins/woocommerce-currency-switcher/views/shortcodes/woocs.php
- > /wp-content/plugins/woocommerce-currency-switcher/views/plugin_options_2.php
- > /wp-content/plugins/woocommerce-currency-switcher/classes/auto_switcher.php
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser errors were detected
Optimizations
Plugin configuration 86% from 29 tests
readme.txt 94% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Please fix the following attributes:
- Screenshots: These screenshots lack descriptions #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, #2, #20, #21, #22, #23, #24, #25, #26, #27, #28, #29, #3, #30, #31, #32, #33, #34, #35, #36, #37, #38, #39, #4, #40, #41, #5, #6, #7, #8, #9 in woocommerce-currency-switcher/assets to your readme.txt
woocommerce-currency-switcher/index.php 77% from 13 tests
Analyzing the main PHP file in "FOX - Currency Switcher Professional for WooCommerce" version 1.4.1.5
It is important to fix the following:
- Description: Keep the plugin description shorter than 140 characters (currently 175 characters long)
- Requires at least: Please use periods and digits for the required version (ex. "7.0" instead of "WP 4.9.0")
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("woocommerce-currency-switcher.php" instead of "index.php")
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Good job! No executable or dangerous file extensions detected42,539 lines of code in 146 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 52 | 2,709 | 806 | 15,615 |
CSS | 28 | 1,470 | 282 | 11,072 |
JavaScript | 37 | 1,206 | 253 | 8,453 |
PO File | 3 | 1,398 | 1,260 | 3,642 |
SVG | 5 | 0 | 0 | 1,949 |
Sass | 20 | 452 | 98 | 1,711 |
Markdown | 1 | 48 | 0 | 97 |
PHP code 0% from 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
The following items need your attention
- Class cyclomatic complexity has to be reduced to less than 1000 (currently 1,163)
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 175)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.52 |
Average class complexity | 63.88 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 1,163.00 |
Average method complexity | 5.67 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 175.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 26 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 26 | 100.00% |
▷ Final classes | 7 | 26.92% |
Methods | 329 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 315 | 95.74% |
▷ Protected methods | 1 | 0.30% |
▷ Private methods | 13 | 3.95% |
Functions | 44 | |
▷ Named functions | 17 | 38.64% |
▷ Anonymous functions | 27 | 61.36% |
Constants | 9 | |
▷ Global constants | 9 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
50 PNG files occupy 1.13MB with 0.28MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
img/woocs-options-1.png | 56.07KB | 20.12KB | ▼ 64.12% |
img/woof_banner_old.png | 29.91KB | 12.00KB | ▼ 59.88% |
img/woobe_banner.png | 46.74KB | 46.76KB | 0.00% |
js/wselect/img/arrow-down.png | 0.42KB | 0.45KB | 0.00% |
img/woocs_banner-old2.png | 63.08KB | 63.15KB | 0.00% |