Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲2.03MB] [CPU: ▲66.18ms] Passed 4 tests
An overview of server-side resources used by Paid Membership Subscriptions - Effortless Memberships, Recurring Payments & Content Restriction
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.63 ▲2.17 | 113.43 ▲70.67 |
Dashboard /wp-admin | 5.29 ▲1.99 | 121.73 ▲68.40 |
Posts /wp-admin/edit.php | 5.34 ▲1.99 | 118.35 ▲66.33 |
Add New Post /wp-admin/post-new.php | 8.08 ▲2.19 | 156.90 ▲59.33 |
Media Library /wp-admin/upload.php | 5.21 ▲1.98 | 110.52 ▲76.44 |
Export Data /wp-admin/admin.php?page=pms-export-page | 5.28 | 94.10 |
Uninstall /wp-admin/admin.php?page=pms-uninstall-page | 5.18 | 93.96 |
Settings /wp-admin/admin.php?page=pms-settings-page | 5.42 | 94.97 |
Members /wp-admin/admin.php?page=pms-members-page | 5.36 | 102.49 |
Basic Information /wp-admin/admin.php?page=pms-basic-info-page | 5.35 | 86.27 |
Subscription Plans /wp-admin/edit.php?post_type=pms-subscription | 5.28 | 93.31 |
Payments /wp-admin/admin.php?page=pms-payments-page | 5.25 | 105.17 |
Discount Codes /wp-admin/edit.php?post_type=pms-discount-codes | 5.28 | 96.23 |
Dashboard /wp-admin/admin.php?page=pms-dashboard-page | 5.23 | 105.55 |
Reports /wp-admin/admin.php?page=pms-reports-page | 5.23 | 93.30 |
Server storage [IO: ▲8.85MB] [DB: ▲0.01MB] Passed 3 tests
Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 772 new files
Database: 4 new tables, 15 new options
New tables |
---|
wp_pms_member_subscriptionmeta |
wp_pms_paymentmeta |
wp_pms_payments |
wp_pms_member_subscriptions |
New WordPress options |
---|
pms_version |
db_upgraded |
pms_review_request_status |
pms_content_restriction_settings |
pms_emails_settings |
pms_general_settings |
pms_woocommerce_settings |
widget_theysaidso_widget |
widget_recent-posts |
theysaidso_admin_options |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Paid Membership Subscriptions - Effortless Memberships, Recurring Payments & Content Restriction
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,378 ▲616 | 16.73 ▲2.39 | 174.74 ▲172.76 | 43.62 ▲0.55 |
Dashboard /wp-admin | 2,575 ▲395 | 5.75 ▲0.11 | 99.13 ▲0.40 | 91.65 ▲46.71 |
Posts /wp-admin/edit.php | 2,351 ▲248 | 2.34 ▲0.40 | 37.74 ▼3.21 | 36.18 ▼0.77 |
Add New Post /wp-admin/post-new.php | 1,963 ▲437 | 22.10 ▼1.03 | 631.25 ▼0.66 | 35.63 ▼18.65 |
Media Library /wp-admin/upload.php | 1,732 ▲335 | 4.34 ▲0.15 | 106.15 ▲6.21 | 82.18 ▲40.02 |
Export Data /wp-admin/admin.php?page=pms-export-page | 1,551 | 2.10 | 39.95 | 37.55 |
Uninstall /wp-admin/admin.php?page=pms-uninstall-page | 1,123 | 1.96 | 35.53 | 21.55 |
Settings /wp-admin/admin.php?page=pms-settings-page | 1,695 | 2.19 | 40.02 | 64.02 |
Members /wp-admin/admin.php?page=pms-members-page | 1,646 | 2.40 | 40.42 | 40.92 |
Basic Information /wp-admin/admin.php?page=pms-basic-info-page | 1,962 | 1.70 | 27.72 | 66.07 |
Subscription Plans /wp-admin/edit.php?post_type=pms-subscription | 1,527 | 2.43 | 40.60 | 39.32 |
Payments /wp-admin/admin.php?page=pms-payments-page | 1,481 | 2.11 | 34.34 | 36.29 |
Discount Codes /wp-admin/edit.php?post_type=pms-discount-codes | 1,469 | 2.46 | 40.43 | 36.89 |
Dashboard /wp-admin/admin.php?page=pms-dashboard-page | 1,441 | 1.88 | 30.60 | 35.10 |
Reports /wp-admin/admin.php?page=pms-reports-page | 1,300 | 4.39 | 92.89 | 35.83 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
- The plugin did not uninstall successfully, leaving 4 tables in the database
- wp_pms_member_subscriptions
- wp_pms_paymentmeta
- wp_pms_member_subscriptionmeta
- wp_pms_payments
- The uninstall procedure has failed, leaving 15 options in the database
- pms_review_request_status
- pms_add_ons_settings
- pms_version
- db_upgraded
- can_compress_scripts
- widget_recent-posts
- pms_general_settings
- widget_recent-comments
- theysaidso_admin_options
- pms_payments_home_url
- ...
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Good news, no errors were detected
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
- 322× 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 esc_attr() in wp-content/plugins/paid-member-subscriptions/includes/modules/labels-edit/assets/lib/wck-api/fields/text.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/paid-member-subscriptions/i18n/states/HK.php:8
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/paid-member-subscriptions/assets/libs/stripe/lib/Service/CouponService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractServiceFactory' not found in wp-content/plugins/paid-member-subscriptions/assets/libs/stripe/lib/Service/TestHelpers/TestHelpersServiceFactory.php:17
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/paid-member-subscriptions/assets/libs/stripe/lib/Service/Sigma/ScheduledQueryRunService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/paid-member-subscriptions/assets/libs/stripe/lib/Service/AccountLinkService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/paid-member-subscriptions/assets/libs/stripe/lib/Service/Identity/VerificationReportService.php:7
- > PHP Fatal error
Uncaught Error: Interface 'Stripe\\HttpClient\\ClientInterface' not found in wp-content/plugins/paid-member-subscriptions/assets/libs/stripe/lib/HttpClient/CurlClient.php:27
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/paid-member-subscriptions/assets/libs/stripe/lib/Service/Radar/ValueListService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\ApiResource' not found in wp-content/plugins/paid-member-subscriptions/assets/libs/stripe/lib/EphemeralKey.php:15
- > 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 90% 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
Attributes that need to be fixed:
- Tags: You are using too many tags: 17 tag instead of maximum 10
paid-member-subscriptions/index.php 85% from 13 tests
The primary PHP file in "Paid Membership Subscriptions - Effortless Memberships, Recurring Payments & Content Restriction" version 2.10.8 is used by WordPress to initiate all plugin functionality
Please take the time to fix the following:
- Main file name: It is recommended to name the main PHP file as the plugin slug ("paid-member-subscriptions.php" instead of "index.php")
- Requires at least: Required version does not match the one declared in readme.txt ("3.1" instead of "3.0.0")
Code Analysis 3% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
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/paid-member-subscriptions/assets/libs/stripe/data/ca-certificates.crt
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 536 | 16,609 | 23,486 | 46,354 |
PO File | 4 | 11,431 | 17,828 | 26,924 |
CSS | 22 | 1,180 | 321 | 6,368 |
JavaScript | 43 | 1,783 | 1,142 | 4,350 |
SVG | 16 | 0 | 1 | 341 |
JSON | 6 | 0 | 0 | 224 |
Sass | 3 | 3 | 0 | 58 |
XML | 1 | 12 | 11 | 25 |
PHP code 50% from 2 tests
This plugin's cyclomatic complexity and code structure detailed below
It is recommended to fix the following
- Cyclomatic complexity of methods should be reduced to less than 100 (currently 116)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.42 |
Average class complexity | 12.31 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 424.00 |
Average method complexity | 3.42 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 116.00 |
Code structure | ||
---|---|---|
Namespaces | 34 | |
Interfaces | 9 | |
Traits | 9 | |
Classes | 354 | |
▷ Abstract classes | 10 | 2.82% |
▷ Concrete classes | 344 | 97.18% |
▷ Final classes | 0 | 0.00% |
Methods | 1,730 | |
▷ Static methods | 295 | 17.05% |
▷ Public methods | 1,547 | 89.42% |
▷ Protected methods | 83 | 4.80% |
▷ Private methods | 100 | 5.78% |
Functions | 580 | |
▷ Named functions | 495 | 85.34% |
▷ Anonymous functions | 85 | 14.66% |
Constants | 1,060 | |
▷ Global constants | 43 | 4.06% |
▷ Class constants | 1,017 | 95.94% |
▷ Public constants | 1,017 | 100.00% |
Plugin size 0% from 2 tests
Image compression 0% from 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
92 PNG files occupy 0.60MB with 0.27MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/pms-add-on-pro-rate-banner_icon.png | 17.75KB | 3.71KB | ▼ 79.07% |
assets/images/add-on-email-reminders.png | 2.64KB | 2.64KB | 0.00% |
(invalid) assets/images/navigation_menu_filtering_icon.png | 1.04KB | 0.00KB | ▼ 100.00% |
assets/images/pms-add-on-pwyw-logo.png | 5.69KB | 3.14KB | ▼ 44.89% |
assets/images/add-on-paypal-recurring.png | 5.13KB | 5.21KB | 0.00% |