Benchmarks
Plugin footprint 64% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Installer ran successfully
Server metrics [RAM: ▲1.17MB] [CPU: ▼5.78ms] Passed 4 tests
A check of server-side resources used by Learny LMS
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.59 ▲1.13 | 41.87 ▲2.50 |
Dashboard /wp-admin | 4.52 ▲1.18 | 49.21 ▼12.83 |
Posts /wp-admin/edit.php | 4.55 ▲1.20 | 53.46 ▲5.45 |
Add New Post /wp-admin/post-new.php | 7.32 ▲1.43 | 86.77 ▼18.25 |
Media Library /wp-admin/upload.php | 4.39 ▲1.16 | 42.84 ▲8.92 |
Learny LMS Pro /wp-admin/admin.php?page=learny-pro_lms | 4.32 | 40.23 |
Course Category /wp-admin/edit-tags.php?taxonomy=learny_category&post_type=learny-courses | 4.50 | 60.74 |
Instructor /wp-admin/admin.php?page=learny-instructor | 4.51 | 45.03 |
Report /wp-admin/admin.php?page=learny-report | 4.51 | 42.46 |
Student /wp-admin/admin.php?page=learny-student | 4.51 | 45.04 |
Plugin Settings /wp-admin/admin.php?page=learny-settings | 4.47 | 47.14 |
Courses /wp-admin/edit.php?post_type=learny-courses | 4.60 | 49.83 |
Payout /wp-admin/admin.php?page=learny-payout | 4.50 | 44.78 |
Course Tags /wp-admin/edit-tags.php?taxonomy=learny_tag&post_type=learny-courses | 4.49 | 40.82 |
Server storage [IO: ▲20.76MB] [DB: ▲0.02MB] Passed 3 tests
Input-output and database impact of this plugin
This plugin was installed successfully
Filesystem: 1,352 new files
Database: 7 new tables, 10 new options
New tables |
---|
wp_learny_currencies |
wp_learny_watch_history |
wp_learny_payment |
wp_learny_payout |
wp_learny_review |
wp_learny_enrolment |
wp_learny_wishlist |
New WordPress options |
---|
ly_dashboard_page |
ly_checkout_page |
ly_auth_page |
theysaidso_admin_options |
ly_course_player_page |
can_compress_scripts |
widget_recent-comments |
db_upgraded |
widget_recent-posts |
widget_theysaidso_widget |
Browser metrics 50% from 4 tests
Learny LMS: an overview of browser usage
Please improve the following
- Memory: Browser memory usage must be limited to 75.00MB (currently 156.16MB on /wp-admin/admin.php?page=learny-pro_lms)
- Script duration: Total JavaScript execution time should be lower than 1,500.00ms (currently 4,363.92ms on /wp-admin/admin.php?page=learny-pro_lms)
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,847 ▲101 | 14.25 ▼0.03 | 1.61 ▼0.00 | 42.35 ▼1.15 |
Dashboard /wp-admin | 2,241 ▲61 | 5.56 ▼0.11 | 88.46 ▼9.93 | 40.26 ▲0.88 |
Posts /wp-admin/edit.php | 2,155 ▲52 | 1.98 ▲0.02 | 32.60 ▼11.20 | 33.58 ▼3.29 |
Add New Post /wp-admin/post-new.php | 1,581 ▲55 | 18.20 ▼5.07 | 653.39 ▼35.50 | 80.23 ▼8.65 |
Media Library /wp-admin/upload.php | 1,455 ▲55 | 4.20 ▲0.01 | 96.63 ▼2.01 | 45.15 ▲1.88 |
Learny LMS Pro /wp-admin/admin.php?page=learny-pro_lms | 12,504 | 156.16 | 4,363.92 | 101.79 |
Course Category /wp-admin/edit-tags.php?taxonomy=learny_category&post_type=learny-courses | 1,756 | 5.06 | 73.06 | 75.56 |
Instructor /wp-admin/admin.php?page=learny-instructor | 1,554 | 4.93 | 61.22 | 39.00 |
Report /wp-admin/admin.php?page=learny-report | 1,621 | 5.36 | 63.79 | 38.56 |
Student /wp-admin/admin.php?page=learny-student | 1,550 | 4.94 | 70.52 | 43.64 |
Plugin Settings /wp-admin/admin.php?page=learny-settings | 1,560 | 4.89 | 57.82 | 83.57 |
Courses /wp-admin/edit.php?post_type=learny-courses | 1,580 | 5.05 | 72.68 | 42.15 |
Payout /wp-admin/admin.php?page=learny-payout | 1,548 | 4.94 | 69.30 | 39.69 |
Course Tags /wp-admin/edit-tags.php?taxonomy=learny_tag&post_type=learny-courses | 1,722 | 5.02 | 71.07 | 42.26 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.03MB] 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
- Zombie tables were found after uninstall: 7 tables
- wp_learny_review
- wp_learny_currencies
- wp_learny_payment
- wp_learny_enrolment
- wp_learny_payout
- wp_learny_wishlist
- wp_learny_watch_history
- Zombie WordPress options were found after uninstall: 10 options
- widget_recent-comments
- ly_course_player_page
- ly_dashboard_page
- ly_checkout_page
- theysaidso_admin_options
- ly_auth_page
- can_compress_scripts
- widget_theysaidso_widget
- widget_recent-posts
- db_upgraded
Smoke tests 25% 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 | 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
- 205× PHP files output text when accessed directly (only 10 are shown):
- > /wp-content/plugins/learny-lms/templates/frontend/shortcode/student-pages/footer.php
- > /wp-content/plugins/learny-lms/vendor/paypal/rest-api-sdk-php/sample/payments/ListPayments.php
- > /wp-content/plugins/learny-lms/templates/backend/instructor/payout/create.php
- > /wp-content/plugins/learny-lms/views/custom-meta-box/course/sub-section/sections.php
- > /wp-content/plugins/learny-lms/vendor/paypal/rest-api-sdk-php/sample/notifications/ValidateWebhookEvent.php
- > /wp-content/plugins/learny-lms/inc/base/Activate.php
- > /wp-content/plugins/learny-lms/inc/base/Deactivate.php
- > /wp-content/plugins/learny-lms/views/custom-meta-box/course/section/media.php
- > /wp-content/plugins/learny-lms/inc/base/Enqueue.php
- > /wp-content/plugins/learny-lms/templates/frontend/shortcode/student-pages/403.php
- 545× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Svg\\Tag\\Shape' not found in wp-content/plugins/learny-lms/vendor/dompdf/dompdf/lib/php-svg-lib/src/Svg/Tag/Rect.php:11
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/learny-lms/vendor/dompdf/dompdf/lib/php-css-parser/tests/Sabberworm/CSS/RuleSet/DeclarationBlockTest.php:9
- > PHP Fatal error
Uncaught Error: Class 'Svg\\Tag\\AbstractTag' not found in wp-content/plugins/learny-lms/vendor/dompdf/dompdf/lib/php-svg-lib/src/Svg/Tag/RadialGradient.php:11
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/learny-lms/vendor/paypal/rest-api-sdk-php/tests/PayPal/Test/Api/ParticipantTest.php:14
- > PHP Fatal error
Uncaught Error: Class 'PayPal\\Common\\PayPalResourceModel' not found in wp-content/plugins/learny-lms/vendor/paypal/rest-api-sdk-php/lib/PayPal/Api/Authorization.php:34
- > PHP Fatal error
Uncaught Error: Class 'PayPal\\Common\\PayPalModel' not found in wp-content/plugins/learny-lms/vendor/paypal/rest-api-sdk-php/lib/PayPal/Api/ProcessorResponse.php:21
- > PHP Fatal error
Uncaught Error: Class 'FontLib\\BinaryStream' not found in wp-content/plugins/learny-lms/vendor/dompdf/dompdf/lib/php-font-lib/src/FontLib/Header.php:17
- > PHP Fatal error
Uncaught Error: Class 'Dompdf\\FrameReflower\\AbstractFrameReflower' not found in wp-content/plugins/learny-lms/vendor/dompdf/dompdf/src/FrameReflower/Page.php:20
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/learny-lms/vendor/dompdf/dompdf/lib/php-css-parser/tests/Sabberworm/CSS/RuleSet/LenientParsingTest.php:8
- > PHP Fatal error
Uncaught Error: Class 'FontLib\\Table\\Table' not found in wp-content/plugins/learny-lms/vendor/phenx/php-font-lib/src/FontLib/Table/Type/os2.php:17
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please fix the following user-side errors
- 8 occurences, only the last one shown
- > GET request to /wp-admin/edit-tags.php?taxonomy=learny_tag&post_type=learny-courses
- > Network (severe)
wp-content/plugins/learny-lms/assets/admin/images/texture.png - Failed to load resource: the server responded with a status of 404 (Not 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 require attention:
- Screenshots: Add descriptions for screenshots #20, #21, #22, #23, #24, #25, #26, #27 in learny-lms/assets to your readme.txt
learny-lms/learny.php 85% from 13 tests
The main file in "Learny LMS" v. 1.3.0 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
- Main file name: It is recommended to name the main PHP file as the plugin slug ("learny-lms.php" instead of "learny.php")
- Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
There were no executable files found in this plugin131,921 lines of code in 1,057 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 778 | 16,981 | 38,601 | 76,799 |
JavaScript | 20 | 640 | 714 | 33,984 |
CSS | 66 | 1,423 | 159 | 6,646 |
JSON | 70 | 23 | 0 | 5,396 |
SVG | 10 | 0 | 1 | 4,700 |
HTML | 85 | 241 | 15 | 2,581 |
Markdown | 11 | 376 | 0 | 1,357 |
XML | 8 | 11 | 2 | 258 |
YAML | 5 | 19 | 2 | 116 |
Ruby | 2 | 15 | 8 | 53 |
INI | 2 | 18 | 67 | 31 |
PHP code 50% from 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
Please tend to the following items
- Cyclomatic complexity of methods has to be reduced to less than 100 (currently 652)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.30 |
Average class complexity | 14.60 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 797.00 |
Average method complexity | 2.54 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 652.00 |
Code structure | ||
---|---|---|
Namespaces | 73 | |
Interfaces | 14 | |
Traits | 2 | |
Classes | 669 | |
▷ Abstract classes | 24 | 3.59% |
▷ Concrete classes | 645 | 96.41% |
▷ Final classes | 1 | 0.16% |
Methods | 6,158 | |
▷ Static methods | 607 | 9.86% |
▷ Public methods | 5,683 | 92.29% |
▷ Protected methods | 312 | 5.07% |
▷ Private methods | 163 | 2.65% |
Functions | 63 | |
▷ Named functions | 20 | 31.75% |
▷ Anonymous functions | 43 | 68.25% |
Constants | 279 | |
▷ Global constants | 3 | 1.08% |
▷ Class constants | 276 | 98.92% |
▷ Public constants | 276 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
10 PNG files occupy 0.57MB with 0.27MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
vendor/paypal/rest-api-sdk-php/sample/images/pp_v_rgb.png | 7.53KB | 4.59KB | ▼ 39.12% |
assets/admin/images/logo.png | 10.19KB | 5.18KB | ▼ 49.19% |
assets/admin/images/100X100.png | 0.25KB | 0.23KB | ▼ 8.24% |
assets/public/images/stripe.png | 141.06KB | 44.64KB | ▼ 68.35% |
assets/public/images/paypal.png | 94.75KB | 29.19KB | ▼ 69.20% |