Benchmarks
Plugin footprint 65% 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: ▲2.41MB] [CPU: ▲47.84ms] Passed 4 tests
This is a short check of server-side resources used by Material Dashboard
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.85 ▲2.38 | 88.07 ▲48.72 |
Dashboard /wp-admin | 5.72 ▲2.41 | 83.03 ▲33.49 |
Posts /wp-admin/edit.php | 5.87 ▲2.51 | 103.15 ▲56.53 |
Add New Post /wp-admin/post-new.php | 8.32 ▲2.43 | 304.45 ▲210.06 |
Media Library /wp-admin/upload.php | 5.65 ▲2.42 | 86.00 ▲52.61 |
Wizard /wp-admin/admin.php?page=amd-wizard | 5.64 | 111.79 |
More /wp-admin/admin.php?page=amd-more | 5.67 | 90.86 |
Appearance /wp-admin/admin.php?page=amd-appearance | 5.79 | 90.10 |
Themes /wp-admin/admin.php?page=amd-themes | 5.67 | 95.10 |
Manage data /wp-admin/admin.php?page=amd-data | 5.69 | 93.11 |
Security /wp-admin/admin.php?page=amd-security | 5.67 | 89.15 |
Extensions /wp-admin/admin.php?page=amd-ext | 5.66 | 94.82 |
Dashboard /wp-admin/admin.php?page=material-dashboard | 5.86 | 119.49 |
Settings /wp-admin/admin.php?page=amd-settings | 5.76 | 111.97 |
Server storage [IO: ▲6.15MB] [DB: ▲0.01MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
The plugin installed successfully
Filesystem: 250 new files
Database: 7 new tables, 6 new options
New tables |
---|
wp_amd_options |
wp_amd_tasks |
wp_amd_reports |
wp_amd_components |
wp_amd_todo |
wp_amd_users_meta |
wp_amd_temp |
New WordPress options |
---|
widget_recent-comments |
db_upgraded |
can_compress_scripts |
widget_recent-posts |
theysaidso_admin_options |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Material Dashboard
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,193 ▲432 | 15.35 ▲0.76 | 7.00 ▲5.35 | 28.89 ▼12.98 |
Dashboard /wp-admin | 2,485 ▲308 | 6.45 ▲0.91 | 118.54 ▲32.89 | 112.27 ▲69.38 |
Posts /wp-admin/edit.php | 2,408 ▲308 | 3.77 ▲1.65 | 49.24 ▲10.63 | 78.06 ▲44.66 |
Add New Post /wp-admin/post-new.php | 1,819 ▲413 | 20.47 ▲2.56 | 656.33 ▲42.32 | 30.37 ▼21.13 |
Media Library /wp-admin/upload.php | 1,541 ▲141 | 4.49 ▲0.32 | 85.71 ▼18.99 | 86.08 ▲41.65 |
Wizard /wp-admin/admin.php?page=amd-wizard | 1,417 | 3.92 | 61.22 | 56.43 |
More /wp-admin/admin.php?page=amd-more | 1,514 | 3.83 | 56.26 | 116.77 |
Appearance /wp-admin/admin.php?page=amd-appearance | 2,160 | 4.19 | 63.63 | 120.76 |
Themes /wp-admin/admin.php?page=amd-themes | 1,379 | 3.95 | 51.60 | 102.32 |
Manage data /wp-admin/admin.php?page=amd-data | 1,694 | 4.19 | 72.21 | 112.75 |
Security /wp-admin/admin.php?page=amd-security | 1,511 | 3.97 | 57.88 | 108.23 |
Extensions /wp-admin/admin.php?page=amd-ext | 1,496 | 3.56 | 52.94 | 121.70 |
Dashboard /wp-admin/admin.php?page=material-dashboard | 1,586 | 3.53 | 54.47 | 135.18 |
Settings /wp-admin/admin.php?page=amd-settings | 2,480 | 4.30 | 73.69 | 121.62 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
- The uninstall procedure failed, leaving 7 tables in the database
- wp_amd_options
- wp_amd_todo
- wp_amd_temp
- wp_amd_tasks
- wp_amd_components
- wp_amd_reports
- wp_amd_users_meta
- The uninstall procedure has failed, leaving 6 options in the database
- db_upgraded
- theysaidso_admin_options
- widget_recent-posts
- can_compress_scripts
- widget_theysaidso_widget
- widget_recent-comments
Smoke tests 0% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Please fix the following server-side errors
- > GET request to /wp-admin/admin.php?page=amd-settings
- > Warning in wp-content/plugins/material-dashboard/pages/admin-tabs/tab_registration.php+19
Invalid argument supplied for foreach()
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 fix the following
- 3× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/material-dashboard/themes/amatris/dashboard/parts/navbar.php
- > /wp-content/plugins/material-dashboard/themes/amatris/dashboard/parts/loader.php
- > /wp-content/plugins/material-dashboard/themes/amatris/dashboard/parts/suspension_loader.php
- 74× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to a member function getExportVariants() on null in wp-content/plugins/material-dashboard/pages/admin-tabs/tab_md_export.php:7
- > PHP Fatal error
Uncaught Error: Call to undefined function amd_get_site_option() in wp-content/plugins/material-dashboard/ext/_app/wizard/initialize_script.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function apply_filters() in wp-content/plugins/material-dashboard/dashboard/pages/page-home.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_get_session_token() in wp-content/plugins/material-dashboard/dashboard/pages/page-login-reports.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/material-dashboard/ext/woocommerce/view/page_wc_cart.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function amd_get_site_option() in wp-content/plugins/material-dashboard/ext/_app/wizard/steps/step_3.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function apply_filters() in wp-content/plugins/material-dashboard/pages/admin-tabs/tab_md_cleanup.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function get_posts() in wp-content/plugins/material-dashboard/pages/admin-tabs/tab_pages.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function amd_sanitize_get_fields() in wp-content/plugins/material-dashboard/ext/woocommerce/view/page_wc_purchases.php:31
- > PHP Fatal error
Uncaught Error: Call to a member function cacheExists() on null in wp-content/plugins/material-dashboard/themes/amatris/dashboard/templates/card_col_card.php:7
- > 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 browser errors
- > GET request to /wp-admin/admin.php?page=amd-wizard
- > Javascript (severe) in unknown
/wp-admin/admin.php?page=amd-wizard 33:106 Uncaught ReferenceError: amd_conf is not defined
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that require attention:
- Screenshots: These screenshots lack descriptions #0, #0 in material-dashboard/assets to your readme.txt
material-dashboard/index.php 92% from 13 tests
The principal PHP file in "Material Dashboard" v. 1.0.9 is loaded by WordPress automatically on each request
The following require your attention:
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("material-dashboard.php" instead of "index.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
Success! There were no dangerous files found in this plugin47,511 lines of code in 176 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 120 | 5,572 | 7,926 | 21,289 |
JavaScript | 9 | 2,710 | 1,518 | 13,915 |
CSS | 26 | 1,117 | 104 | 9,827 |
PO File | 1 | 594 | 780 | 1,834 |
JSON | 11 | 0 | 0 | 580 |
SVG | 7 | 0 | 0 | 49 |
Markdown | 2 | 9 | 0 | 17 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
Everything seems fine, there were no complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.31 |
Average class complexity | 54.32 |
▷ Minimum class complexity | 2.00 |
▷ Maximum class complexity | 166.00 |
Average method complexity | 3.25 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 89.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 19 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 19 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 420 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 375 | 89.29% |
▷ Protected methods | 42 | 10.00% |
▷ Private methods | 3 | 0.71% |
Functions | 457 | |
▷ Named functions | 273 | 59.74% |
▷ Anonymous functions | 184 | 40.26% |
Constants | 96 | |
▷ Global constants | 38 | 39.58% |
▷ Class constants | 58 | 60.42% |
▷ Public constants | 58 | 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
30 PNG files occupy 0.63MB with 0.36MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/logo/default_512.png | 7.60KB | 3.58KB | ▼ 52.85% |
themes/amatris/thumbnail.png | 13.17KB | 6.62KB | ▼ 49.77% |
assets/images/flags/iran-flag.png | 14.36KB | 6.53KB | ▼ 54.49% |
assets/images/logo/mono_256.png | 2.88KB | 1.53KB | ▼ 47.05% |
assets/images/bootstrap-icons-thumb.png | 12.67KB | 2.01KB | ▼ 84.14% |