Benchmarks
Plugin footprint 47% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully
Server metrics [RAM: ▲1.06MB] [CPU: ▼278.90ms] Passed 4 tests
This is a short check of server-side resources used by LMS Plugin - eLearning, Online Courses by Attest
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.45 ▲1.33 | 68.35 ▲43.58 |
Dashboard /wp-admin | 4.35 ▲0.95 | 46.28 ▲13.77 |
Posts /wp-admin/edit.php | 4.60 ▲0.96 | 50.73 ▲15.75 |
Add New Post /wp-admin/post-new.php | 8.27 ▲1.30 | 106.56 ▼1,156.53 |
Media Library /wp-admin/upload.php | 4.31 ▲1.02 | 35.59 ▲11.41 |
Freemius Debug [v.2.4.1] /wp-admin/admin.php?page=freemius | 4.48 | 35.79 |
Courses /wp-admin/edit.php?post_type=attest_course | 4.39 | 39.07 |
Settings /wp-admin/edit.php?post_type=attest_course&page=settings | 4.14 | 34.04 |
Topics /wp-admin/edit-tags.php?taxonomy=topics&post_type=attest_course | 4.31 | 38.30 |
Difficulty /wp-admin/edit-tags.php?taxonomy=difficulty&post_type=attest_course | 4.32 | 40.03 |
Students /wp-admin/edit.php?post_type=attest_course&page=students | 4.30 | 37.60 |
Lessons /wp-admin/edit.php?post_type=attest_lesson | 4.38 | 37.67 |
Tutors /wp-admin/edit.php?post_type=attest_course&page=tutors | 4.31 | 36.88 |
Get Started /wp-admin/edit.php?post_type=attest_course&page=attest | 4.14 | 33.79 |
Announcements /wp-admin/edit.php?post_type=attest_course&page=announcement | 4.30 | 37.86 |
Server storage [IO: ▲3.71MB] [DB: ▲0.02MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 235 new files
Database: 2 new tables, 14 new options
New tables |
---|
wp_attest_students |
wp_attest_announcements |
New WordPress options |
---|
difficulty_children |
attest_email_completed_course_permission |
attest_lms_lns |
fs_debug_mode |
attest_email_announcement_permission |
fs_gdpr |
fs_active_plugins |
_attest_db_exist |
_plugin_db_exist |
attest_email_new_course_permission |
... |
Browser metrics 75% from 4 tests
An overview of browser requirements for LMS Plugin - eLearning, Online Courses by Attest
You may want to improve the following
- Script duration: Please improve your JavaScript code, lowering total execution time to less than 1,500.00ms (currently 2,360.45ms on /wp-admin/edit.php?post_type=attest_course&page=attest)
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,147 ▲393 | 16.53 ▲0.91 | 14.07 ▲7.81 | 2.87 ▼0.14 |
Dashboard /wp-admin | 3,113 ▲252 | 6.20 ▲0.00 | 121.42 ▼13.27 | 174.12 ▲13.13 |
Posts /wp-admin/edit.php | 2,894 ▲203 | 3.27 ▲0.03 | 63.11 ▼0.85 | 150.10 ▲9.12 |
Add New Post /wp-admin/post-new.php | 1,758 ▲6 | 20.47 ▼1.10 | 399.78 ▼83.64 | 155.86 ▼3.66 |
Media Library /wp-admin/upload.php | 1,910 ▲215 | 5.68 ▲0.14 | 153.46 ▲3.72 | 205.21 ▲8.33 |
Freemius Debug [v.2.4.1] /wp-admin/admin.php?page=freemius | 1,614 | 2.55 | 58.70 | 113.13 |
Courses /wp-admin/edit.php?post_type=attest_course | 1,641 | 4.19 | 80.00 | 126.92 |
Settings /wp-admin/edit.php?post_type=attest_course&page=settings | 1,423 | 3.73 | 102.12 | 154.96 |
Topics /wp-admin/edit-tags.php?taxonomy=topics&post_type=attest_course | 1,842 | 2.94 | 57.15 | 137.88 |
Difficulty /wp-admin/edit-tags.php?taxonomy=difficulty&post_type=attest_course | 2,098 | 2.94 | 58.65 | 154.36 |
Students /wp-admin/edit.php?post_type=attest_course&page=students | 1,576 | 3.42 | 66.50 | 118.41 |
Lessons /wp-admin/edit.php?post_type=attest_lesson | 1,579 | 3.27 | 63.02 | 122.74 |
Tutors /wp-admin/edit.php?post_type=attest_course&page=tutors | 1,545 | 3.43 | 65.85 | 115.60 |
Get Started /wp-admin/edit.php?post_type=attest_course&page=attest | 3,312 | 18.47 | 2,360.45 | 256.89 |
Announcements /wp-admin/edit.php?post_type=attest_course&page=announcement | 1,671 | 3.29 | 60.18 | 110.07 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 25% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
- This plugin did not uninstall without warnings or errors
- > Deprecated in wp-includes/class-wp-hook.php+307
Non-static method ATTEST_LMS_BUILD::deactivate() should not be called statically
- The uninstall procedure failed, leaving 2 tables in the database
- wp_attest_students
- wp_attest_announcements
- Zombie WordPress options detected upon uninstall: 14 options
- fs_gdpr
- _plugin_db_exist
- fs_debug_mode
- fs_active_plugins
- attest_email_announcement_permission
- attest_email_continue_course_permission
- attest_number_courses
- attest_ok_updated_course
- attest_email_new_course_permission
- difficulty_children
- ...
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 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
The following issues need your attention
- 1× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/wp-attest/vendor/freemius/templates/ajax-loader.php
- 20× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Notice
Undefined variable: VARS in wp-content/plugins/wp-attest/vendor/freemius/templates/account/partials/addon.php on line 8
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/wp-attest/vendor/freemius/templates/account/partials/addon.php on line 6
- > PHP Warning
require_once(ATTEST_LMS_PATHlib/templates/class-course-temp-functions.php): failed to open stream: No such file or directory in wp-content/plugins/wp-attest/lib/templates/single-course.php on line 7
- > PHP Fatal error
Uncaught Error: Call to a member function get_slug() on null in wp-content/plugins/wp-attest/vendor/freemius/templates/account/partials/addon.php:9
- > PHP Warning
Use of undefined constant ATTEST_LMS_PATH - assumed 'ATTEST_LMS_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/wp-attest/lib/templates/archive-course.php on line 7
- > PHP Fatal error
require_once(): Failed opening required 'ATTEST_LMS_PATHlib/templates/class-lesson-temp-functions.php' (include_path='.:/usr/share/php') in wp-content/plugins/wp-attest/lib/templates/single-lesson.php on line 7
- > PHP Warning
Use of undefined constant ATTEST_LMS_PATH - assumed 'ATTEST_LMS_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/wp-attest/lib/templates/single-lesson.php on line 7
- > PHP Warning
require_once(ATTEST_LMS_PATHlib/templates/class-course-archive-functions.php): failed to open stream: No such file or directory in wp-content/plugins/wp-attest/lib/templates/archive-course.php on line 7
- > PHP Warning
require_once(ABSPATHwp-admin/includes/screen.php): failed to open stream: No such file or directory in wp-content/plugins/wp-attest/lib/user/class-attest-student-table.php on line 13
- > PHP Warning
Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/wp-attest/lib/user/class-attest-student-table.php on line 13
- > PHP Notice
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser errors were detected
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
5 plugin tags: learning, education, courses, lms, learning management system
wp-attest/wp-attest.php 85% from 13 tests
The primary PHP file in "LMS Plugin - eLearning, Online Courses by Attest" version 1.7.4 is used by WordPress to initiate all plugin functionality
Please make the necessary changes and fix the following:
- Text Domain: The text domain is optional since WordPress version 4.6; if you do specify it, it must be the same as the plugin slug
- Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 211 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
No dangerous file extensions were detected46,797 lines of code in 189 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 159 | 9,551 | 16,455 | 36,909 |
CSS | 15 | 1,121 | 99 | 8,779 |
JavaScript | 13 | 213 | 144 | 868 |
Markdown | 1 | 68 | 0 | 214 |
JSON | 1 | 0 | 0 | 27 |
PHP code 50% from 2 tests
An overview of cyclomatic complexity and code structure
These items need your attention
- Please reduce cyclomatic complexity of classes to less than 1000 (currently 2,895)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.57 |
Average class complexity | 54.13 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 2,895.00 |
Average method complexity | 4.32 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 86.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 93 | |
▷ Abstract classes | 2 | 2.15% |
▷ Concrete classes | 91 | 97.85% |
▷ Final classes | 34 | 37.36% |
Methods | 1,521 | |
▷ Static methods | 181 | 11.90% |
▷ Public methods | 1,159 | 76.20% |
▷ Protected methods | 29 | 1.91% |
▷ Private methods | 333 | 21.89% |
Functions | 94 | |
▷ Named functions | 94 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 132 | |
▷ Global constants | 107 | 81.06% |
▷ Class constants | 25 | 18.94% |
▷ Public constants | 25 | 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
6 PNG files occupy 0.13MB with 0.06MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
asset/img/woocommerce-extension.png | 45.21KB | 12.75KB | ▼ 71.79% |
asset/img/brand.png | 3.38KB | 3.15KB | ▼ 6.95% |
vendor/freemius/assets/img/wp-attest.png | 18.65KB | 6.83KB | ▼ 63.35% |
vendor/freemius/assets/img/theme-icon.png | 10.97KB | 5.78KB | ▼ 47.37% |
vendor/freemius/assets/img/plugin-icon.png | 9.16KB | 5.26KB | ▼ 42.58% |