Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Installer ran successfully
Server metrics [RAM: ▲1.27MB] [CPU: ▼325.04ms] Passed 4 tests
A check of server-side resources used by KRSP Frontend File Uploader
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.64 ▲2.12 | 19.49 ▼26.85 |
Dashboard /wp-admin | 5.65 ▲2.25 | 18.50 ▼15.04 |
Posts /wp-admin/edit.php | 5.65 ▲2.02 | 17.90 ▼19.79 |
Add New Post /wp-admin/post-new.php | 5.65 ▼1.32 | 17.65 ▼1,238.46 |
Media Library /wp-admin/upload.php | 5.65 ▲2.36 | 17.53 ▼8.54 |
Freemius Debug [v.1.2.4] /wp-admin/admin.php?page=freemius | 5.65 | 17.51 |
KRSP Frontend File Upload /wp-admin/options-general.php?page=krsp_file_upload | 5.66 | 17.60 |
Server storage [IO: ▲2.60MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
There were no storage issued detected upon installing this plugin
Filesystem: 209 new files
Database: no new tables, 3 new options
New WordPress options |
---|
fs_active_plugins |
fs_accounts |
fs_debug_mode |
Browser metrics Passed 4 tests
KRSP Frontend File Uploader: an overview of browser usage
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,888 ▲144 | 17.54 ▲1.86 | 48.00 ▲42.19 | 2.86 ▲0.01 |
Dashboard /wp-admin | 2,932 ▲74 | 6.18 ▼0.06 | 120.22 ▼11.14 | 169.91 ▲9.51 |
Posts /wp-admin/edit.php | 2,733 ▲48 | 3.25 ▲0.01 | 65.27 ▼0.09 | 156.01 ▲15.93 |
Add New Post /wp-admin/post-new.php | 1,681 ▼38 | 19.33 ▲1.86 | 415.25 ▼9.28 | 165.11 ▼6.08 |
Media Library /wp-admin/upload.php | 1,740 ▲48 | 5.56 ▲0.03 | 145.60 ▲7.87 | 201.11 ▲12.91 |
Freemius Debug [v.1.2.4] /wp-admin/admin.php?page=freemius | 1,418 | 2.49 | 54.84 | 124.56 |
KRSP Frontend File Upload /wp-admin/options-general.php?page=krsp_file_upload | 1,252 | 3.22 | 75.56 | 142.35 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
- Uninstall procedure validation failed for this plugin
- > Notice in wp-content/plugins/krsp-frontend-file-upload/includes/media.class.php+59
Trying to access array offset on value of type bool
- Zombie WordPress options were found after uninstall: 4 options
- fs_api_cache
- fs_accounts
- fs_debug_mode
- fs_active_plugins
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Please fix the following server-side errors
- 2 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=krsp_file_upload
- > Notice in wp-content/plugins/krsp-frontend-file-upload/includes/media.class.php+59
Trying to access array offset on value of type bool
- > GET request to /wp-admin/options-general.php?page=krsp_file_upload
- > Warning in wp-includes/class-wp-hook.php+307
call_user_func_array() expects parameter 1 to be a valid callback, function 'krsp_file_upload_custom_connect_message_on_update' not found or invalid function name
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 take a closer look at the following
- 1× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/krsp-frontend-file-upload/freemius/templates/ajax-loader.php
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
These are user-side errors you should fix
- > GET request to /wp-admin/options-general.php?page=krsp_file_upload
- > Javascript (severe) in unknown
/wp-content/plugins/krsp-frontend-file-upload/includes/js/settings.js 4:0 Uncaught TypeError: Vue is not a constructor
Optimizations
Plugin configuration 83% from 29 tests
readme.txt 94% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Please fix the following attributes:
- Screenshots: These screenshots require images: #1 (Settings page), #2 (Shortcode added to page), #3 (Plugin displayed on page), #4 (KRSP Frontend File Uploader Teaser)
krsp-frontend-file-upload/frontend-file-upload.php 69% from 13 tests
The primary PHP file in "KRSP Frontend File Uploader" version 1.0 is used by WordPress to initiate all plugin functionality
The following require your attention:
- Domain Path: Note that the domain path follows the same naming rules as the domain name, using only dashes and lowercase characters (".")
- Text Domain: The text domain follows the same naming rules as the plugin slug: lowercase characters and dashes
- Main file name: It is recommended to name the main PHP file as the plugin slug ("krsp-frontend-file-upload.php" instead of "frontend-file-upload.php")
- Domain Path: Please prefix the domain path with a forward slash character ("/.")
Code Analysis 3% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
These items require your attention
- Even if your plugin relies on executable files (for example a companion app), never distribute executable files with your plugin
- .xap - Silverlight Application Package in Microsoft Silverlight
- ☣ wp-content/plugins/krsp-frontend-file-upload/static/Moxie.xap
- .xap - Silverlight Application Package in Microsoft Silverlight
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 94 | 4,534 | 10,968 | 19,214 |
PO File | 6 | 2,778 | 3,058 | 6,111 |
Sass | 31 | 357 | 79 | 2,540 |
Vuejs Component | 9 | 34 | 11 | 641 |
JavaScript | 9 | 67 | 92 | 454 |
JSON | 2 | 0 | 0 | 111 |
HTML | 1 | 3 | 0 | 55 |
CSS | 13 | 8 | 7 | 36 |
SVG | 1 | 0 | 0 | 1 |
PHP code 50% from 2 tests
This is a very shot review of cyclomatic complexity and code structure
It is recommended to fix the following
- Cyclomatic complexity of classes has to be reduced to less than 1000 (currently 1,332)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.55 |
Average class complexity | 49.44 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 1,332.00 |
Average method complexity | 3.65 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 80.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 43 | |
▷ Abstract classes | 2 | 4.65% |
▷ Concrete classes | 41 | 95.35% |
▷ Final classes | 0 | 0.00% |
Methods | 819 | |
▷ Static methods | 134 | 16.36% |
▷ Public methods | 615 | 75.09% |
▷ Protected methods | 16 | 1.95% |
▷ Private methods | 188 | 22.95% |
Functions | 87 | |
▷ Named functions | 86 | 98.85% |
▷ Anonymous functions | 1 | 1.15% |
Constants | 106 | |
▷ Global constants | 86 | 81.13% |
▷ Class constants | 20 | 18.87% |
▷ Public constants | 20 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
6 PNG files occupy 0.30MB with 0.18MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
freemius/assets/img/theme-icon.png | 10.97KB | 5.78KB | ▼ 47.37% |
screenshot-3.png | 67.12KB | 15.82KB | ▼ 76.44% |
screenshot-2.png | 152.94KB | 51.71KB | ▼ 66.19% |
screenshot-1.png | 54.02KB | 11.90KB | ▼ 77.97% |
freemius/assets/img/krsp-file-upload.png | 9.16KB | 5.26KB | ▼ 42.58% |