Benchmarks
Plugin footprint 63% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲9.10MB] [CPU: ▲96.08ms] 25% from 4 tests
This is a short check of server-side resources used by MasterStudy LMS WordPress Plugin – for Online Courses and Education
Please have a look at the following items
- RAM: The total memory usage must be kept under 10MB (currently 13.46MB on /wp-admin/admin.php?page=stm-lms-go-pro)
- CPU: You should keep total CPU usage under 500.00ms (currently 808.43ms on /wp-admin/admin.php?page=stm-lms-go-pro)
- Extra RAM: Try to keep extra memory usage under 5MB (currently 9.10MB on /wp-admin/admin.php?page=stm-lms-go-pro)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 9.47 ▲6.01 | 108.04 ▲66.98 |
Dashboard /wp-admin | 13.48 ▲10.14 | 148.15 ▲92.26 |
Posts /wp-admin/edit.php | 13.58 ▲10.22 | 170.95 ▲121.92 |
Add New Post /wp-admin/post-new.php | 15.93 ▲10.04 | 219.26 ▲124.91 |
Media Library /wp-admin/upload.php | 13.47 ▲10.24 | 135.25 ▲103.14 |
Reviews /wp-admin/edit.php?post_type=stm-reviews | 13.63 | 137.89 |
Settings /wp-admin/admin.php?page=stm-lms-settings | 13.54 | 154.40 |
Upcoming Course Status /wp-admin/admin.php?page=upcoming-course-status | 13.46 | 141.64 |
Trial Courses /wp-admin/admin.php?page=trial-courses | 13.46 | 135.05 |
Point System /wp-admin/admin.php?page=point-system | 13.46 | 136.46 |
Email Manager /wp-admin/admin.php?page=email-manager | 13.46 | 136.21 |
Courses category /wp-admin/edit-tags.php?taxonomy=stm_lms_course_taxonomy | 18.48 | 154.36 |
The Gradebook /wp-admin/admin.php?page=the-gradebook | 13.46 | 139.30 |
Payouts /wp-admin/edit.php?post_type=stm-payout | 13.56 | 136.52 |
Unlock PRO /wp-admin/admin.php?page=stm-lms-go-pro | 13.46 | 808.43 |
Server storage [IO: ▲45.16MB] [DB: ▲0.05MB] 67% from 3 tests
Input-output and database impact of this plugin
Please fix the following
- Filesystem usage must be lower than 25MB (currently using 45.16MB)
Filesystem: 2,251 new files
Database: 13 new tables, 14 new options
New tables |
---|
wp_stm_lms_user_quizzes_times |
wp_stm_lms_curriculum_sections |
wp_stm_lms_user_answers |
wp_stm_lms_user_chat |
wp_stm_lms_user_lessons |
wp_stm_lms_user_cart |
wp_stm_lms_user_searches |
wp_stm_lms_curriculum_materials |
wp_stm_lms_user_searches_stats |
wp_stm_lms_order_items |
... |
New WordPress options |
---|
stm_lms_set_woocommerce_order_items |
widget_recent-posts |
theysaidso_admin_options |
widget_stm_lms_popular_courses |
widget_theysaidso_widget |
notification_enqueue |
stm_lms_db_version |
stm_lms_set_order_total_price |
db_upgraded |
stm_lms_settings |
... |
Browser metrics Passed 4 tests
This is an overview of browser requirements for MasterStudy LMS WordPress Plugin – for Online Courses and Education
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,275 ▲1,539 | 20.97 ▲6.55 | 15.22 ▲13.47 | 26.69 ▼17.30 |
Dashboard /wp-admin | 3,448 ▲1,268 | 11.15 ▲5.54 | 236.13 ▲146.47 | 227.47 ▲184.99 |
Posts /wp-admin/edit.php | 3,220 ▲1,120 | 7.69 ▲5.68 | 136.97 ▲95.39 | 192.43 ▲152.77 |
Add New Post /wp-admin/post-new.php | 2,588 ▲1,059 | 26.37 ▲3.29 | 683.46 ▲1.41 | 215.54 ▲157.94 |
Media Library /wp-admin/upload.php | 2,456 ▲1,062 | 7.92 ▲3.73 | 155.19 ▲53.06 | 207.34 ▲162.65 |
Reviews /wp-admin/edit.php?post_type=stm-reviews | 2,245 | 7.68 | 128.93 | 216.15 |
Settings /wp-admin/admin.php?page=stm-lms-settings | 8,058 | 17.80 | 174.38 | 283.97 |
Upcoming Course Status /wp-admin/admin.php?page=upcoming-course-status | 1,962 | 7.36 | 122.58 | 193.70 |
Trial Courses /wp-admin/admin.php?page=trial-courses | 1,962 | 7.45 | 108.82 | 161.51 |
Point System /wp-admin/admin.php?page=point-system | 1,959 | 7.44 | 129.53 | 153.32 |
Email Manager /wp-admin/admin.php?page=email-manager | 1,959 | 7.36 | 115.61 | 179.62 |
Courses category /wp-admin/edit-tags.php?taxonomy=stm_lms_course_taxonomy | 2,690 | 9.11 | 125.06 | 112.96 |
The Gradebook /wp-admin/admin.php?page=the-gradebook | 1,971 | 7.41 | 111.74 | 195.13 |
Payouts /wp-admin/edit.php?post_type=stm-payout | 2,259 | 7.70 | 135.54 | 180.35 |
Unlock PRO /wp-admin/admin.php?page=stm-lms-go-pro | 2,528 | 7.43 | 123.77 | 211.65 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.05MB] 50% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
- The plugin did not uninstall successfully, leaving 13 tables in the database
- wp_stm_lms_order_items
- wp_stm_lms_user_conversation
- wp_stm_lms_user_cart
- wp_stm_lms_user_courses
- wp_stm_lms_user_quizzes
- wp_stm_lms_user_chat
- wp_stm_lms_user_searches
- wp_stm_lms_curriculum_materials
- wp_stm_lms_user_lessons
- wp_stm_lms_user_answers
- ...
- This plugin did not uninstall successfully, leaving 14 options in the database
- notification_enqueue
- stm_lms_settings
- db_upgraded
- widget_recent-posts
- stm_lms_db_version
- widget_stm_lms_popular_courses
- stm_lms_version
- theysaidso_admin_options
- stm_lms_set_woocommerce_order_items
- can_compress_scripts
- ...
Smoke tests 25% 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)
Even though everything seems fine, this is not 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
- 31× PHP files perform the task of outputting text when accessed with GET requests (only 10 are shown):
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/stm-lms-templates/dashboard/dashboard.php
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/stm-lms-templates/lesson/content_top_wrapper_end.php
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/stm-lms-templates/elementor-widgets/courses/courses-grid/sorting/sorting-style-2.php
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/stm-lms-templates/account/v1/form_builder/checkbox.php
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/settings/questions_v2/tpls/question_items.php
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/settings/order/fields/order.php
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/settings/custom_fields/send_email/components_js/send_email.php
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/stm-lms-templates/elementor-widgets/courses/courses-archive/sorting/sorting-style-1.php
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/stm-lms-templates/elementor-widgets/instructors-carousel/navigation/top.php
- > /wp-content/plugins/masterstudy-lms-learning-management-system/_core/stm-lms-templates/course-player/content/quiz/metas.php
- 1105× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function vc_map_get_attributes() in wp-content/plugins/masterstudy-lms-learning-management-system/_core/includes/visual_composer/vc_templates/stm_lms_courses_grid.php:2
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/masterstudy-lms-learning-management-system/_core/includes/elementor/widgets/courses/content/card.php:4
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/masterstudy-lms-learning-management-system/_core/lms/classes/user.php:8
- > PHP Fatal error
Uncaught Error: Class 'PayPal\\Common\\PayPalModel' not found in wp-content/plugins/masterstudy-lms-learning-management-system/_core/libraries/paypal/includes/classes/vender/paypal/rest-api-sdk-php/lib/PayPal/Api/Transactions.php:16
- > PHP Fatal error
Uncaught Error: Call to undefined function stm_lms_module_styles() in wp-content/plugins/masterstudy-lms-learning-management-system/_core/includes/shortcodes/partials/courses_categories/style_3.php:3
- > PHP Notice
Undefined variable: field_name in wp-content/plugins/masterstudy-lms-learning-management-system/_core/libraries/nuxy/metaboxes/fields/hint.php on line 10
- > PHP Fatal error
Uncaught Error: Class 'PayPal\\Common\\PayPalModel' not found in wp-content/plugins/masterstudy-lms-learning-management-system/_core/libraries/paypal/includes/classes/vender/paypal/rest-api-sdk-php/lib/PayPal/Api/PatchRequest.php:16
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_enqueue_style() in wp-content/plugins/masterstudy-lms-learning-management-system/_core/settings/custom_fields/send_email/fields/send_email.php:14
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/masterstudy-lms-learning-management-system/_core/stm-lms-templates/elementor-widgets/courses/courses-grid/sorting/sorting-style-2.php on line 13
- > PHP Fatal error
Uncaught Error: Class 'PayPal\\Common\\PayPalModel' not found in wp-content/plugins/masterstudy-lms-learning-management-system/_core/libraries/paypal/includes/classes/vender/paypal/rest-api-sdk-php/lib/PayPal/Api/MerchantInfo.php:26
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Please fix the following user-side errors
- > GET request to /wp-admin/edit-tags.php?taxonomy=stm_lms_course_taxonomy
- > Rendering (warning) in unknown
/wp-admin/edit-tags.php?taxonomy=stm_lms_course_taxonomy 402 The specified value "" does not conform to the required format. The format is "#rrggbb" where rr, gg, bb are two-digit hexadecimal numbers.
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
5 plugin tags: learning management system, elearning, lms, education, course
masterstudy-lms-learning-management-system/masterstudy-lms-learning-management-system.php 92% from 13 tests
The main file in "MasterStudy LMS WordPress Plugin – for Online Courses and Education" v. 3.1.15 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please take the time to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 173 characters long)
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 plugin336,204 lines of code in 2,025 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 320 | 10,186 | 9,307 | 97,845 |
PHP | 1,199 | 14,419 | 23,598 | 93,245 |
JSON | 14 | 0 | 0 | 67,805 |
PO File | 16 | 19,616 | 33,934 | 43,281 |
SVG | 230 | 25 | 39 | 16,431 |
CSS | 233 | 1,559 | 53 | 12,741 |
XML | 7 | 92 | 80 | 4,440 |
Markdown | 6 | 104 | 0 | 416 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.32 |
Average class complexity | 10.37 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 409.00 |
Average method complexity | 2.17 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 50.00 |
Code structure | ||
---|---|---|
Namespaces | 64 | |
Interfaces | 10 | |
Traits | 4 | |
Classes | 510 | |
▷ Abstract classes | 16 | 3.14% |
▷ Concrete classes | 494 | 96.86% |
▷ Final classes | 73 | 14.78% |
Methods | 4,148 | |
▷ Static methods | 711 | 17.14% |
▷ Public methods | 3,815 | 91.97% |
▷ Protected methods | 257 | 6.20% |
▷ Private methods | 76 | 1.83% |
Functions | 466 | |
▷ Named functions | 311 | 66.74% |
▷ Anonymous functions | 155 | 33.26% |
Constants | 165 | |
▷ Global constants | 44 | 26.67% |
▷ Class constants | 121 | 73.33% |
▷ Public constants | 117 | 96.69% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
101 PNG files occupy 4.57MB with 1.77MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
_core/assets/img/pro-features/addons/multi-instructors.png | 30.30KB | 32.32KB | 0.00% |
_core/assets/addons/email_branding.png | 8.45KB | 4.36KB | ▼ 48.45% |
_core/assets/img/wizard/quiz/pagination@2x.png | 1.83KB | 1.62KB | ▼ 11.45% |
_core/assets/img/pro-features/upcoming_nuxy_banner.png | 47.53KB | 13.88KB | ▼ 70.81% |
_core/assets/img/coupon/sale_logo.png | 9.45KB | 3.46KB | ▼ 63.44% |