Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed gracefully, with no errors
Server metrics [RAM: ▼0.01MB] [CPU: ▼11.54ms] Passed 4 tests
A check of server-side resources used by Mercado - Turn your WooCommerce into MultiVendor MarketPlace
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.47 ▲0.00 | 36.58 ▼6.24 |
Dashboard /wp-admin | 3.31 ▼0.04 | 42.27 ▼20.07 |
Posts /wp-admin/edit.php | 3.36 ▲0.00 | 43.51 ▼2.12 |
Add New Post /wp-admin/post-new.php | 5.89 ▲0.00 | 79.23 ▼14.18 |
Media Library /wp-admin/upload.php | 3.23 ▲0.00 | 31.40 ▼5.66 |
Server storage [IO: ▲7.16MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 469 new files
Database: no new tables, 6 new options
New WordPress options |
---|
can_compress_scripts |
widget_theysaidso_widget |
widget_recent-comments |
db_upgraded |
widget_recent-posts |
theysaidso_admin_options |
Browser metrics Passed 4 tests
Mercado - Turn your WooCommerce into MultiVendor MarketPlace: an overview of browser usage
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,789 ▲3 | 14.38 ▲0.03 | 1.63 ▼0.25 | 38.41 ▼7.59 |
Dashboard /wp-admin | 2,198 ▲18 | 5.62 ▼0.04 | 82.20 ▼2.12 | 41.10 ▲0.57 |
Posts /wp-admin/edit.php | 2,100 ▲3 | 1.99 ▼0.05 | 34.92 ▼0.45 | 35.87 ▼0.41 |
Add New Post /wp-admin/post-new.php | 1,527 ▲1 | 23.21 ▲0.16 | 595.71 ▼86.99 | 50.10 ▼3.24 |
Media Library /wp-admin/upload.php | 1,403 ▼0 | 4.23 ▲0.02 | 99.51 ▼2.52 | 41.28 ▼3.43 |
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
- This plugin does not fully uninstall, leaving 6 options in the database
- db_upgraded
- theysaidso_admin_options
- widget_recent-posts
- can_compress_scripts
- widget_recent-comments
- widget_theysaidso_widget
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Good news, no errors were detected
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
Almost there! Just fix the following items
- 2× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/mercado/admin/partials/menu/rtwmer-mercado-dashboard.php
- > /wp-content/plugins/mercado/assets/sdk/Stripe/build.php
- 364× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Stripe\\Exception\\ExceptionInterface' not found in wp-content/plugins/mercado/assets/sdk/Stripe/lib/Exception/SignatureVerificationException.php:9
- > PHP Warning
include_once(): Failed opening 'RTWMER_ADMIN_PARTIAL_SUBMENUrtwmer-mercado-payment-gateway.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/mercado/admin/partials/menu/rtwmer-mercado-settings.php on line 9
- > PHP Fatal error
Uncaught Error: Call to undefined function get_query_var() in wp-content/plugins/mercado/public/partials/rtwmer_Vendor_Store/rtwmer_Vendor_Store_shortcode_cb.php:34
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/mercado/assets/sdk/Stripe/lib/BitcoinReceiver.php:13
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/mercado/assets/sdk/Stripe/lib/Service/Terminal/ConfigurationService.php:7
- > PHP Warning
include_once(): Failed opening 'RTWMER_ADMIN_PARTIAL/ssp/ssp.customized.class.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/mercado/admin/partials/admin-includes/rtwmer-mercado-order-table.php on line 224
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/mercado/assets/sdk/Stripe/lib/Service/Tax/TransactionService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractServiceFactory' not found in wp-content/plugins/mercado/assets/sdk/Stripe/lib/Service/FinancialConnections/FinancialConnectionsServiceFactory.php:13
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/mercado/assets/sdk/Stripe/lib/Service/BillingPortal/ConfigurationService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/mercado/assets/sdk/Stripe/lib/CreditNoteLineItem.php:25
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
There were no browser issues found
Optimizations
Plugin configuration 79% from 29 tests
readme.txt 88% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Please fix the following attributes:
- Tags: You are using too many tags: 15 tag instead of maximum 10
- Requires php: Version not formatted correctly
mercado/rtwmer-mercado.php 69% from 13 tests
The primary PHP file in "Mercado - Turn your WooCommerce into MultiVendor MarketPlace" version 1.5.1 is used by WordPress to initiate all plugin functionality
It is important to fix the following:
- Plugin Name: Please shorten the plugin name (currently 82 characters long instead of max. 70)
- Main file name: Name the main plugin file the same as the plugin slug ("mercado.php" instead of "rtwmer-mercado.php")
- Requires at least: Required version does not match the one declared in readme.txt ("3.0.1" instead of "4.2.0")
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
Code Analysis 5% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
It is important to fix the following items
- Do not include executable or dangerous files in your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/mercado/assets/sdk/Stripe/data/ca-certificates.crt
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 363 | 4,767 | 13,138 | 25,114 |
CSS | 23 | 3,689 | 455 | 16,859 |
JavaScript | 39 | 2,373 | 1,466 | 12,469 |
Markdown | 2 | 778 | 0 | 1,518 |
JSON | 1 | 0 | 0 | 48 |
XML | 1 | 1 | 0 | 44 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.40 |
Average class complexity | 6.77 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 756.00 |
Average method complexity | 2.64 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 91.00 |
Code structure | ||
---|---|---|
Namespaces | 38 | |
Interfaces | 9 | |
Traits | 9 | |
Classes | 294 | |
▷ Abstract classes | 11 | 3.74% |
▷ Concrete classes | 283 | 96.26% |
▷ Final classes | 0 | 0.00% |
Methods | 1,092 | |
▷ Static methods | 207 | 18.96% |
▷ Public methods | 1,003 | 91.85% |
▷ Protected methods | 41 | 3.75% |
▷ Private methods | 48 | 4.40% |
Functions | 16 | |
▷ Named functions | 3 | 18.75% |
▷ Anonymous functions | 13 | 81.25% |
Constants | 1,049 | |
▷ Global constants | 21 | 2.00% |
▷ Class constants | 1,028 | 98.00% |
▷ Public constants | 1,028 | 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
11 PNG files occupy 0.13MB with 0.05MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
public/images/sort_both.png | 0.20KB | 0.29KB | 0.00% |
public/css/images/new.png | 80.18KB | 9.40KB | ▼ 88.27% |
public/css/images/rtwmer_store_privacy.png | 1.22KB | 1.07KB | ▼ 12.92% |
public/css/images/ui-icons_555555_256x240.png | 6.82KB | 4.17KB | ▼ 38.82% |
admin/images/mercado_icon.png | 1.36KB | 0.56KB | ▼ 59.13% |