Benchmarks
Plugin footprint 48% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Install script ran successfully
Server metrics [RAM: ▲2.43MB] [CPU: ▲19.63ms] Passed 4 tests
A check of server-side resources used by CoSchool – A WordPress LMS Plugin To Create and Sell Your Courses Online
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.45 ▲1.99 | 70.27 ▲30.36 |
Dashboard /wp-admin | 5.90 ▲2.60 | 68.96 ▲19.20 |
Posts /wp-admin/edit.php | 5.96 ▲2.61 | 72.51 ▲20.71 |
Add New Post /wp-admin/post-new.php | 8.47 ▲2.58 | 111.75 ▲8.26 |
Media Library /wp-admin/upload.php | 5.77 ▲2.55 | 68.76 ▲32.12 |
Quizzes /wp-admin/edit.php?post_type=quiz | 5.89 | 59.99 |
Reports /wp-admin/admin.php?page=reports | 5.80 | 54.59 |
Assignments /wp-admin/edit.php?post_type=assignment | 5.89 | 59.89 |
Payments /wp-admin/admin.php?page=payments | 5.80 | 61.05 |
Lessons /wp-admin/edit.php?post_type=lesson | 5.89 | 58.46 |
Pro Features /wp-admin/admin.php?page=coschool-pro | 5.75 | 50.81 |
Coupons /wp-admin/edit.php?post_type=coupon | 5.89 | 63.13 |
Students /wp-admin/admin.php?page=students | 5.80 | 53.40 |
Bundles /wp-admin/edit.php?post_type=bundle | 5.89 | 59.74 |
Settings /wp-admin/admin.php?page=coschool | 5.96 | 64.15 |
Server storage [IO: ▲10.13MB] [DB: ▲0.01MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin was installed successfully
Filesystem: 347 new files
Database: 7 new tables, 8 new options
New tables |
---|
wp_coschool_enrollments |
wp_coschool_enrollment_progress |
wp_coschool_quiz_attempt_answers |
wp_coschool_enrollmentmeta |
wp_coschool_quiz_attempts |
wp_coschool_payments |
wp_coschool_paymentmeta |
New WordPress options |
---|
db_upgraded |
coschool_install_time |
widget_theysaidso_widget |
widget_recent-posts |
theysaidso_admin_options |
can_compress_scripts |
widget_recent-comments |
coschool_version |
Browser metrics Passed 4 tests
An overview of browser requirements for CoSchool – A WordPress LMS Plugin To Create and Sell Your Courses Online
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,391 ▲630 | 16.29 ▲1.66 | 32.69 ▲30.97 | 39.97 ▼2.90 |
Dashboard /wp-admin | 2,321 ▲147 | 5.54 ▼0.04 | 91.65 ▲3.64 | 69.89 ▲28.13 |
Posts /wp-admin/edit.php | 2,242 ▲142 | 2.54 ▲0.57 | 48.20 ▲8.95 | 35.78 ▼2.06 |
Add New Post /wp-admin/post-new.php | 1,648 ▲122 | 23.71 ▲0.09 | 693.37 ▼5.35 | 40.27 ▼11.79 |
Media Library /wp-admin/upload.php | 1,542 ▲142 | 5.04 ▲0.81 | 97.15 ▼15.63 | 73.77 ▲28.02 |
Quizzes /wp-admin/edit.php?post_type=quiz | 1,220 | 2.50 | 38.31 | 32.81 |
Reports /wp-admin/admin.php?page=reports | 1,275 | 3.50 | 82.77 | 28.97 |
Assignments /wp-admin/edit.php?post_type=assignment | 1,225 | 2.51 | 36.07 | 31.01 |
Payments /wp-admin/admin.php?page=payments | 1,130 | 2.39 | 38.10 | 31.13 |
Lessons /wp-admin/edit.php?post_type=lesson | 1,247 | 2.52 | 37.18 | 34.42 |
Pro Features /wp-admin/admin.php?page=coschool-pro | 1,044 | 2.49 | 33.68 | 41.49 |
Coupons /wp-admin/edit.php?post_type=coupon | 1,238 | 2.51 | 37.38 | 30.69 |
Students /wp-admin/admin.php?page=students | 1,084 | 2.38 | 35.56 | 27.71 |
Bundles /wp-admin/edit.php?post_type=bundle | 1,236 | 2.52 | 37.91 | 28.83 |
Settings /wp-admin/admin.php?page=coschool | 4,167 | 13.55 | 367.60 | 51.14 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 25% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
These items require your attention
- This plugin did not uninstall without warnings or errors
- > Warning in wp-includes/class-wp-hook.php+310
call_user_func_array() expects parameter 1 to be a valid callback, class 'Codexpert\CoSchool\Admin' does not have a method 'uninstall'
- The uninstall procedure failed, leaving 7 tables in the database
- wp_coschool_paymentmeta
- wp_coschool_quiz_attempts
- wp_coschool_payments
- wp_coschool_enrollmentmeta
- wp_coschool_quiz_attempt_answers
- wp_coschool_enrollments
- wp_coschool_enrollment_progress
- Zombie WordPress options detected upon uninstall: 6 options
- widget_recent-posts
- can_compress_scripts
- theysaidso_admin_options
- widget_recent-comments
- widget_theysaidso_widget
- db_upgraded
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
The smoke test was a success, however most plugin functionality was not tested
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please fix the following items
- 58× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Codexpert\\CoSchool\\App\\Student\\Data' not found in wp-content/plugins/coschool/templates/shortcodes/student-dashboard/contents/wishlist.php:4
- > PHP Fatal error
Uncaught Error: Class 'Codexpert\\CoSchool\\App\\Quiz\\Data' not found in wp-content/plugins/coschool/views/metabox/quiz/config.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function the_content() in wp-content/plugins/coschool/templates/lesson/tabs/content.php:2
- > PHP Fatal error
Uncaught Error: Class 'Codexpert\\CoSchool\\App\\Certificate\\Data' not found in wp-content/plugins/coschool/views/metabox/certificate/config.php:6
- > PHP Fatal error
Uncaught Error: Call to a member function get() on null in wp-content/plugins/coschool/templates/course/tabs/faq.php:4
- > PHP Warning
require_once(ABSPATHwp-admin/includes/plugin.php): failed to open stream: No such file or directory in wp-content/plugins/coschool/inc/functions.php on line 9
- > PHP Fatal error
Uncaught Error: Class 'Codexpert\\CoSchool\\Helper' not found in wp-content/plugins/coschool/templates/shortcodes/courses.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function do_action() in wp-content/plugins/coschool/templates/shortcodes/student-dashboard.php:3
- > PHP Warning
Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/coschool/inc/functions.php on line 9
- > PHP Fatal error
Uncaught Error: Call to undefined function coschool_get_cart_items() in wp-content/plugins/coschool/templates/shortcodes/enroll.php:3
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
Please take a look at the following user-side issues
- 8 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=bundle
- > Console-api (warning) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28609 "jQuery.Deferred exception: Cannot read properties of undefined (reading 'bar')" "TypeError: Cannot read properties of undefined (reading 'bar')\n at HTMLDocument.\u003Canonymous> (/wp-content/plugins/coschool/assets/admin/js/reports.js?ver=1.0:54:34)\n at e (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:26990)\n at t (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:27292)" undefined
- 8 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=bundle
- > Javascript (severe) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28721 Uncaught TypeError: Cannot read properties of undefined (reading 'bar')
- > GET request to /wp-admin/admin.php?page=reports
- > Rendering (warning) in unknown
/wp-admin/admin.php?page=reports 193 The specified value "1" does not conform to the required format, "yyyy-MM-dd".
- > GET request to /wp-admin/admin.php?page=reports
- > Rendering (warning) in unknown
/wp-admin/admin.php?page=reports 194 The specified value "1" does not conform to the required format, "yyyy-MM-dd".
- > GET request to /wp-admin/admin.php?page=reports
- > Rendering (warning) in unknown
/wp-admin/admin.php?page=reports 219 The specified value "1" does not conform to the required format, "yyyy-MM-dd".
- > GET request to /wp-admin/admin.php?page=reports
- > Rendering (warning) in unknown
/wp-admin/admin.php?page=reports 220 The specified value "1" does not conform to the required format, "yyyy-MM-dd".
- > GET request to /wp-admin/admin.php?page=reports
- > Console-api (warning) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28609 "jQuery.Deferred exception: Cannot read properties of undefined (reading 'labels')" "TypeError: Cannot read properties of undefined (reading 'labels')\n at HTMLDocument.\u003Canonymous> (/wp-content/plugins/coschool/assets/admin/js/reports.js?ver=1.0:121:39)\n at e (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:26990)\n at t (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:27292)" undefined
- > GET request to /wp-admin/admin.php?page=reports
- > Javascript (severe) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28721 Uncaught TypeError: Cannot read properties of undefined (reading 'labels')
- > GET request to /wp-admin/admin.php?page=coschool
- > Console-api (warning) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,moxiejs,plupload&ver=6.3.1 1:28609 "jQuery.Deferred exception: Cannot read properties of undefined (reading 'bar')" "TypeError: Cannot read properties of undefined (reading 'bar')\n at HTMLDocument.\u003Canonymous> (/wp-content/plugins/coschool/assets/admin/js/reports.js?ver=1.0:54:34)\n at e (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,moxiejs,plupload&ver=6.3.1:2:26990)\n at t (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,moxiejs,plupload&ver=6.3.1:2:27292)" undefined
- > GET request to /wp-admin/admin.php?page=coschool
- > Javascript (severe) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,moxiejs,plupload&ver=6.3.1 1:28721 Uncaught TypeError: Cannot read properties of undefined (reading 'bar')
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
6 plugin tags: lms, online learning, learning management system, education, course...
coschool/coschool.php 92% from 13 tests
Analyzing the main PHP file in "CoSchool – A WordPress LMS Plugin To Create and Sell Your Courses Online" version 1.0
Please take the time to fix the following:
- Domain Path: The domain path is invalid: folder "/languages" does not exist
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Success! There were no dangerous files found in this plugin23,666 lines of code in 250 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 182 | 3,282 | 4,325 | 14,289 |
CSS | 34 | 130 | 210 | 7,591 |
JavaScript | 19 | 223 | 134 | 1,648 |
JSON | 3 | 0 | 0 | 79 |
SVG | 11 | 0 | 0 | 58 |
Markdown | 1 | 0 | 0 | 1 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.40 |
Average class complexity | 13.64 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 228.00 |
Average method complexity | 3.00 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 40.00 |
Code structure | ||
---|---|---|
Namespaces | 22 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 103 | |
▷ Abstract classes | 4 | 3.88% |
▷ Concrete classes | 99 | 96.12% |
▷ Final classes | 1 | 1.01% |
Methods | 652 | |
▷ Static methods | 45 | 6.90% |
▷ Public methods | 638 | 97.85% |
▷ Protected methods | 2 | 0.31% |
▷ Private methods | 12 | 1.84% |
Functions | 59 | |
▷ Named functions | 48 | 81.36% |
▷ Anonymous functions | 11 | 18.64% |
Constants | 6 | |
▷ Global constants | 6 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
30 compressed PNG files occupy 1.49MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/img/add-ons/paypal.png | 3.67KB | 3.67KB | 0.11% |
assets/img/pay.png | 78.24KB | 78.17KB | 0.08% |
assets/img/add-ons/fastspring.png | 4.01KB | 3.99KB | ▼ 0.66% |
vendor/codexpert/plugin/src/assets/img/survey.png | 7.31KB | 3.08KB | ▼ 57.88% |
assets/img/add-ons/2checkout.png | 3.14KB | 3.14KB | 0.00% |