Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.35MB] [CPU: ▼12.54ms] Passed 4 tests
Analyzing server-side resources used by BeyondCart Connector
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.52 ▲1.06 | 55.38 ▲12.78 |
Dashboard /wp-admin | 4.34 ▲0.99 | 53.62 ▼9.46 |
Posts /wp-admin/edit.php | 4.39 ▲1.04 | 54.20 ▲6.78 |
Add New Post /wp-admin/post-new.php | 4.22 ▼1.66 | 40.36 ▼60.27 |
Media Library /wp-admin/upload.php | 4.26 ▲1.03 | 49.93 ▲15.56 |
Server storage [IO: ▲1.90MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
The plugin installed successfully
Filesystem: 427 new files
Database: 3 new tables, 7 new options
New tables |
---|
wp_grind_mobile_app_carts |
wp_grind_mobile_app_terms |
wp_grind_mobile_app |
New WordPress options |
---|
widget_theysaidso_widget |
db_upgraded |
theysaidso_admin_options |
widget_recent-posts |
can_compress_scripts |
widget_recent-comments |
recovery_mode_email_last_sent |
Browser metrics Passed 4 tests
BeyondCart Connector: 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,806 ▲44 | 14.22 ▲0.01 | 1.69 ▲0.07 | 40.06 ▼5.29 |
Dashboard /wp-admin | 2,208 ▲37 | 5.63 ▲0.02 | 94.47 ▼7.18 | 37.98 ▼9.27 |
Posts /wp-admin/edit.php | 2,116 ▲16 | 1.98 ▼0.02 | 39.27 ▲3.40 | 35.82 ▼1.35 |
Add New Post /wp-admin/post-new.php | 45 ▼1,481 | 0.41 ▼22.90 | 0.07 ▼635.98 | 9.59 ▼40.08 |
Media Library /wp-admin/upload.php | 1,413 ▲16 | 4.19 ▲0.00 | 113.32 ▲8.38 | 79.04 ▲35.92 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
You still need to fix the following
- This plugin does not fully uninstall, leaving 3 tables in the database
- wp_grind_mobile_app
- wp_grind_mobile_app_terms
- wp_grind_mobile_app_carts
- The uninstall procedure has failed, leaving 7 options in the database
- theysaidso_admin_options
- recovery_mode_email_last_sent
- db_upgraded
- widget_theysaidso_widget
- can_compress_scripts
- widget_recent-comments
- widget_recent-posts
Smoke tests 50% 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)
Everything seems fine, however this is by no means an exhaustive test
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
- 3× PHP files output text when accessed directly:
- > /wp-content/plugins/beyondcart/vendor/stripe/stripe-php/update_certs.php
- > /wp-content/plugins/beyondcart/Includes/Tracking.php
- > /wp-content/plugins/beyondcart/vendor/stripe/stripe-php/build.php
- 263× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Stripe\\Exception\\ExceptionInterface' not found in wp-content/plugins/beyondcart/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html() in wp-content/plugins/beyondcart/Admin/pages/Settings.php:15
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/beyondcart/vendor/stripe/stripe-php/lib/Service/BillingPortal/ConfigurationService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/beyondcart/vendor/stripe/stripe-php/lib/Service/ChargeService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/beyondcart/vendor/stripe/stripe-php/lib/Capability.php:23
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractServiceFactory' not found in wp-content/plugins/beyondcart/vendor/stripe/stripe-php/lib/Service/Terminal/TerminalServiceFactory.php:15
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/beyondcart/vendor/stripe/stripe-php/lib/Token.php:46
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/beyondcart/vendor/stripe/stripe-php/lib/Service/TransferService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/beyondcart/vendor/stripe/stripe-php/lib/Coupon.php:32
- > PHP Fatal error
Uncaught Error: Class 'Facebook\\Helpers\\FacebookSignedRequestFromInputHelper' not found in wp-content/plugins/beyondcart/vendor/facebook/graph-sdk/src/Facebook/Helpers/FacebookJavaScriptHelper.php:31
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser issues were found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
Attributes that require attention:
- Requires at least: The plugin version is formatted incorrectly
beyondcart/grind-mobile-app.php 85% from 13 tests
Analyzing the main PHP file in "BeyondCart Connector" version 1.5.5
It is important to fix the following:
- Text Domain: You no longer need to specify the text domain since WordPress 4.6; it must be the same as the plugin slug
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("beyondcart.php" instead of "grind-mobile-app.php")
Code Analysis 5% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Please make sure to remedy the following
- Even if your plugin relies on executable files (for example a companion app), never distribute executable files with your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/beyondcart/vendor/stripe/stripe-php/data/ca-certificates.crt
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 380 | 4,635 | 18,408 | 19,560 |
Markdown | 5 | 785 | 0 | 1,502 |
Sass | 1 | 9 | 18 | 484 |
CSS | 2 | 11 | 8 | 387 |
JSON | 5 | 0 | 0 | 334 |
PO File | 1 | 66 | 72 | 168 |
JavaScript | 3 | 11 | 16 | 108 |
XML | 2 | 0 | 0 | 38 |
make | 1 | 10 | 0 | 29 |
Ruby | 1 | 6 | 12 | 7 |
YAML | 1 | 0 | 0 | 3 |
HTML | 1 | 0 | 0 | 1 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.26 |
Average class complexity | 5.59 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 96.00 |
Average method complexity | 2.00 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 48.00 |
Code structure | ||
---|---|---|
Namespaces | 50 | |
Interfaces | 14 | |
Traits | 9 | |
Classes | 339 | |
▷ Abstract classes | 12 | 3.54% |
▷ Concrete classes | 327 | 96.46% |
▷ Final classes | 0 | 0.00% |
Methods | 1,602 | |
▷ Static methods | 298 | 18.60% |
▷ Public methods | 1,455 | 90.82% |
▷ Protected methods | 64 | 4.00% |
▷ Private methods | 83 | 5.18% |
Functions | 58 | |
▷ Named functions | 12 | 20.69% |
▷ Anonymous functions | 46 | 79.31% |
Constants | 862 | |
▷ Global constants | 12 | 1.39% |
▷ Class constants | 850 | 98.61% |
▷ Public constants | 850 | 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
No PNG images were found in this plugin