Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
This plugin's installer ran successfully
Server metrics [RAM: ▲5.66MB] [CPU: ▲32.99ms] 75% from 4 tests
A check of server-side resources used by WP Frontend Profile
It is recommended to improve the following
- Extra RAM: The extra memory usage must be under 5MB (currently 5.66MB on /wp-admin/admin.php?page=freemius)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 9.48 ▲6.01 | 62.37 ▲20.36 |
Dashboard /wp-admin | 9.53 ▲6.23 | 78.90 ▲33.64 |
Posts /wp-admin/edit.php | 9.53 ▲6.18 | 88.27 ▲42.05 |
Add New Post /wp-admin/post-new.php | 10.10 ▲4.21 | 118.57 ▲37.54 |
Media Library /wp-admin/upload.php | 9.53 ▲6.30 | 73.63 ▲40.43 |
Freemius Debug [v.2.5.12] /wp-admin/admin.php?page=freemius | 9.53 | 65.94 |
Server storage [IO: ▲5.12MB] [DB: ▲0.00MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin was installed successfully
Filesystem: 285 new files
Database: no new tables, 15 new options
New WordPress options |
---|
wpfep_emails_notification |
wpfep_profile |
fs_debug_mode |
db_upgraded |
wpfep_pages |
fs_accounts |
fs_active_plugins |
widget_recent-posts |
widget_wpfep-login-widget |
wpfep_Install_Time |
... |
Browser metrics Passed 4 tests
Checking browser requirements for WP Frontend Profile
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,102 ▲341 | 15.08 ▲0.47 | 5.53 ▲3.90 | 27.93 ▼11.75 |
Dashboard /wp-admin | 2,400 ▲229 | 6.44 ▲0.86 | 124.13 ▲35.89 | 46.25 ▲3.28 |
Posts /wp-admin/edit.php | 2,332 ▲232 | 3.79 ▲1.82 | 56.65 ▲18.74 | 32.65 ▼3.51 |
Add New Post /wp-admin/post-new.php | 1,574 ▲48 | 23.12 ▼0.37 | 644.23 ▼47.34 | 36.54 ▼29.24 |
Media Library /wp-admin/upload.php | 1,471 ▲77 | 4.41 ▲0.22 | 81.06 ▼16.40 | 46.04 ▲3.19 |
Freemius Debug [v.2.5.12] /wp-admin/admin.php?page=freemius | 1,298 | 3.42 | 44.08 | 28.66 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- Uninstall procedure had uncaught errors
- > Warning in wp-content/plugins/wp-front-end-profile/uninstall.php+21
Illegal string offset 'wpfep_remove_data_on_uninstall'
- This plugin did not uninstall successfully, leaving 15 options in the database
- wpfep_pages
- db_upgraded
- fs_accounts
- fs_debug_mode
- fs_active_plugins
- widget_wpfep-login-widget
- wpfep_emails_notification
- wpfep_profile
- widget_recent-comments
- can_compress_scripts
- ...
Smoke tests 75% 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 50% 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
- 2× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/wp-front-end-profile/inc/class-wpfep-login-widget.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function wpfep_get_option() in wp-content/plugins/wp-front-end-profile/inc/class-wpfep-roles-editor.php:1421
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
There were no browser issues found
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: profile, register, users, user meta, login
wp-front-end-profile/wp-frontend-profile.php 85% from 13 tests
Analyzing the main PHP file in "WP Frontend Profile" version 1.3.1
You should first fix the following items:
- Main file name: It is recommended to name the main PHP file as the plugin slug ("wp-front-end-profile.php" instead of "wp-frontend-profile.php")
- Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 194 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Success! There were no dangerous files found in this plugin64,428 lines of code in 229 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 149 | 8,993 | 19,068 | 40,013 |
PO File | 16 | 8,918 | 10,775 | 19,393 |
Sass | 34 | 465 | 80 | 2,862 |
JavaScript | 10 | 221 | 147 | 979 |
CSS | 17 | 59 | 15 | 865 |
Markdown | 1 | 58 | 0 | 281 |
YAML | 1 | 0 | 0 | 19 |
XML | 1 | 3 | 0 | 16 |
PHP code 50% from 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
Please tend to the following items
- Cyclomatic complexity of classes should be reduced to less than 1000 (currently 3,088)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.59 |
Average class complexity | 81.66 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 3,088.00 |
Average method complexity | 4.54 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 94.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 62 | |
▷ Abstract classes | 2 | 3.23% |
▷ Concrete classes | 60 | 96.77% |
▷ Final classes | 0 | 0.00% |
Methods | 1,434 | |
▷ Static methods | 218 | 15.20% |
▷ Public methods | 1,044 | 72.80% |
▷ Protected methods | 17 | 1.19% |
▷ Private methods | 373 | 26.01% |
Functions | 139 | |
▷ Named functions | 138 | 99.28% |
▷ Anonymous functions | 1 | 0.72% |
Constants | 148 | |
▷ Global constants | 101 | 68.24% |
▷ Class constants | 47 | 31.76% |
▷ Public constants | 47 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
7 PNG files occupy 0.07MB with 0.04MB 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% |
assets/icon/WP-front-end-color-icon.png | 1.64KB | 1.70KB | 0.00% |
freemius/assets/img/plugin-icon.png | 9.16KB | 5.26KB | ▼ 42.58% |
assets/icon/no_thumb.png | 16.92KB | 1.58KB | ▼ 90.65% |
freemius/assets/img/wp-front-end-profile.png | 18.47KB | 5.29KB | ▼ 71.35% |