Benchmarks
Plugin footprint 64% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Install script ran successfully
Server metrics [RAM: ▲10.07MB] [CPU: ▲73.33ms] 25% from 4 tests
A check of server-side resources used by LearnPress - WordPress LMS Plugin
Please fix the following
- RAM: You should keep total memory usage under 10MB (currently 13.85MB on /wp-admin/edit-tags.php?taxonomy=course_tag)
- CPU: You should keep total CPU usage under 500.00ms (currently 4,121.66ms on /wp-admin/admin.php?page=learn-press-themes)
- Extra RAM: The extra memory usage should kept under 5MB (currently 10.07MB on /wp-admin/edit-tags.php?taxonomy=course_tag)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 12.35 ▲8.88 | 109.34 ▲69.03 |
Dashboard /wp-admin | 13.80 ▲10.45 | 124.50 ▲61.64 |
Posts /wp-admin/edit.php | 13.83 ▲10.47 | 127.22 ▲81.50 |
Add New Post /wp-admin/post-new.php | 17.00 ▲11.11 | 185.40 ▲92.02 |
Media Library /wp-admin/upload.php | 13.72 ▲10.49 | 118.48 ▲81.15 |
Themes /wp-admin/admin.php?page=learn-press-themes | 18.05 | 4,121.66 |
Tools /wp-admin/admin.php?page=learn-press-tools | 13.74 | 107.75 |
Categories /wp-admin/edit-tags.php?taxonomy=course_category | 13.85 | 109.43 |
Add-ons /wp-admin/admin.php?page=learn-press-addons | 13.69 | 106.03 |
Settings /wp-admin/admin.php?page=learn-press-settings | 13.83 | 120.67 |
Statistics /wp-admin/admin.php?page=learn-press-statistics | 13.71 | 106.29 |
Tags /wp-admin/edit-tags.php?taxonomy=course_tag | 13.85 | 101.59 |
Server storage [IO: ▲16.80MB] [DB: ▲0.56MB] Passed 3 tests
How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 1,241 new files
Database: 13 new tables, 25 new options
New tables |
---|
wp_learnpress_user_item_results |
wp_learnpress_user_items |
wp_thim_cache |
wp_learnpress_files |
wp_learnpress_question_answers |
wp_learnpress_section_items |
wp_learnpress_sections |
wp_learnpress_sessions |
wp_learnpress_question_answermeta |
wp_learnpress_order_itemmeta |
... |
New WordPress options |
---|
learn_press_instructors_page_id |
table_learnpress_files_created |
widget_recent-comments |
thim_cache_tb_created |
learnpress_version |
widget_learnpress_widget_course_recent |
widget_learnpress_widget_course_featured |
learn_press_single_instructor_page_id |
widget_learnpress_widget_course_popular |
widget_learnpress_widget_course_info |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for LearnPress - WordPress LMS Plugin
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,239 ▲492 | 14.50 ▼0.21 | 1.87 ▲0.25 | 40.46 ▼3.15 |
Dashboard /wp-admin | 2,616 ▲436 | 5.87 ▲0.24 | 122.28 ▲24.27 | 99.03 ▲52.55 |
Posts /wp-admin/edit.php | 2,404 ▲307 | 3.41 ▲1.39 | 73.58 ▲35.36 | 34.90 ▼2.42 |
Add New Post /wp-admin/post-new.php | 1,744 ▲209 | 20.39 ▼4.71 | 678.80 ▲17.39 | 36.84 ▼35.48 |
Media Library /wp-admin/upload.php | 1,730 ▲336 | 5.22 ▲1.06 | 113.65 ▲18.80 | 83.10 ▲42.32 |
Themes /wp-admin/admin.php?page=learn-press-themes | 3,145 | 2.79 | 46.35 | 98.31 |
Tools /wp-admin/admin.php?page=learn-press-tools | 1,578 | 8.85 | 202.95 | 32.97 |
Categories /wp-admin/edit-tags.php?taxonomy=course_category | 1,539 | 3.03 | 43.62 | 51.32 |
Add-ons /wp-admin/admin.php?page=learn-press-addons | 5,317 | 2.04 | 45.22 | 49.60 |
Settings /wp-admin/admin.php?page=learn-press-settings | 3,694 | 3.23 | 84.55 | 93.28 |
Statistics /wp-admin/admin.php?page=learn-press-statistics | 1,310 | 3.15 | 56.53 | 36.63 |
Tags /wp-admin/edit-tags.php?taxonomy=course_tag | 1,514 | 2.76 | 41.73 | 61.27 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.56MB] 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 uninstall procedure failed, leaving 13 tables in the database
- wp_learnpress_user_item_results
- wp_learnpress_order_itemmeta
- wp_learnpress_section_items
- wp_learnpress_user_items
- wp_learnpress_question_answermeta
- wp_thim_cache
- wp_learnpress_user_itemmeta
- wp_learnpress_sections
- wp_learnpress_question_answers
- wp_learnpress_order_items
- ...
- This plugin did not uninstall successfully, leaving 25 options in the database
- thim_cache_tb_created
- learn_press_term_conditions_page_id
- learnpress_db_version
- widget_learnpress_widget_course_popular
- learn_press_instructors_page_id
- widget_recent-comments
- can_compress_scripts
- learn_press_courses_page_id
- learn_press_check_tables
- widget_learnpress_widget_course_recent
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though everything seems fine, this is not an exhaustive test
SRP 0% 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
The following issues need your attention
- 68× GET requests to PHP files return non-empty strings (only 10 are shown):
- > /wp-content/plugins/learnpress/templates/emails/new-order-guest.php
- > /wp-content/plugins/learnpress/templates/emails/instructor-denied.php
- > /wp-content/plugins/learnpress/templates/emails/cancelled-order-admin.php
- > /wp-content/plugins/learnpress/templates/emails/plain/instructor-denied.php
- > /wp-content/plugins/learnpress/templates/emails/new-order-admin.php
- > /wp-content/plugins/learnpress/templates/emails/completed-order-user.php
- > /wp-content/plugins/learnpress/templates/emails/plain/finished-course-admin.php
- > /wp-content/plugins/learnpress/templates/emails/plain/finished-course.php
- > /wp-content/plugins/learnpress/templates/emails/cancelled-order-instructor.php
- > /wp-content/plugins/learnpress/templates/emails/enrolled-course.php
- 271× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'LearnPress\\ExternalPlugin\\Elementor\\Widgets\\Instructor\\SingleInstructorBaseElementor' not found in wp-content/plugins/learnpress/inc/ExternalPlugin/Elementor/Widgets/Instructor/Sections/InstructorAvatarElementor.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function learn_press_admin_view() in wp-content/plugins/learnpress/inc/admin/views/quiz/question-answer.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/learnpress/config/settings/course.php:5
- > PHP Fatal error
Uncaught Error: Class 'LP_Abstract_Submenu' not found in wp-content/plugins/learnpress/inc/admin/sub-menus/class-lp-submenu-tags.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function learn_press_admin_view() in wp-content/plugins/learnpress/inc/admin/views/course/curriculum.php:8
- > PHP Fatal error
Uncaught Error: Class 'LP_Email' not found in wp-content/plugins/learnpress/inc/emails/types/class-lp-email-type-order.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/learnpress/inc/lp-deprecated.php:224
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/learnpress/inc/admin/views/statistics/overview.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function learn_press_admin_view() in wp-content/plugins/learnpress/inc/admin/views/tools/html-course.php:2
- > PHP Fatal error
Uncaught Error: Class 'LP_Meta_Box_Field' not found in wp-content/plugins/learnpress/inc/admin/views/meta-boxes/fields/autocomplete.php:9
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
No browser issues were found
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
These attributes need your attention:
- Donate link: Invalid URI found ("")
learnpress/learnpress.php 92% from 13 tests
The principal PHP file in "LearnPress - WordPress LMS Plugin" v. 4.2.5.6 is loaded by WordPress automatically on each request
It is important to fix the following:
- Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 148 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Good job! No executable or dangerous file extensions detected227,608 lines of code in 1,125 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 300 | 10,116 | 11,300 | 94,053 |
PHP | 754 | 17,028 | 31,239 | 77,372 |
CSS | 41 | 806 | 313 | 32,249 |
SVG | 13 | 0 | 12 | 11,634 |
PO File | 2 | 3,604 | 4,974 | 7,434 |
XML | 3 | 109 | 0 | 4,228 |
JSON | 7 | 3 | 0 | 522 |
Markdown | 1 | 60 | 0 | 112 |
HTML | 4 | 2 | 14 | 4 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.37 |
Average class complexity | 19.84 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 172.00 |
Average method complexity | 3.15 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 53.00 |
Code structure | ||
---|---|---|
Namespaces | 23 | |
Interfaces | 1 | |
Traits | 3 | |
Classes | 380 | |
▷ Abstract classes | 19 | 5.00% |
▷ Concrete classes | 361 | 95.00% |
▷ Final classes | 4 | 1.11% |
Methods | 3,364 | |
▷ Static methods | 423 | 12.57% |
▷ Public methods | 2,977 | 88.50% |
▷ Protected methods | 289 | 8.59% |
▷ Private methods | 98 | 2.91% |
Functions | 547 | |
▷ Named functions | 513 | 93.78% |
▷ Anonymous functions | 34 | 6.22% |
Constants | 117 | |
▷ Global constants | 8 | 6.84% |
▷ Class constants | 109 | 93.16% |
▷ Public constants | 109 | 100.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 PNG files occupy 0.10MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/src/css/vendor/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png | 0.08KB | 0.17KB | 0.00% |
assets/images/jqueryui/ui-bg_glass_55_fbf9ee_1x400.png | 0.12KB | 0.14KB | 0.00% |
inc/gateways/offline-payment/images/cod.png | 20.24KB | 0.47KB | ▼ 97.67% |
assets/images/jqueryui/ui-icons_cd0a0a_256x240.png | 4.27KB | 4.11KB | ▼ 3.78% |
assets/images/jqueryui/ui-icons_2e83ff_256x240.png | 4.27KB | 4.11KB | ▼ 3.78% |