Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully
Server metrics [RAM: ▲0.23MB] [CPU: ▲0.62ms] Passed 4 tests
A check of server-side resources used by Use Any Font | Custom Font Uploader
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.71 ▲0.24 | 42.84 ▼1.00 |
Dashboard /wp-admin | 3.53 ▲0.22 | 52.45 ▲2.50 |
Posts /wp-admin/edit.php | 3.64 ▲0.28 | 49.19 ▼3.84 |
Add New Post /wp-admin/post-new.php | 6.13 ▲0.24 | 106.36 ▲13.48 |
Media Library /wp-admin/upload.php | 3.45 ▲0.22 | 40.96 ▲4.83 |
Server storage [IO: ▲1.30MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 30 new files
Database: no new tables, 19 new options
New WordPress options |
---|
uaf_site_url |
widget_theysaidso_widget |
uaf_api_key |
can_compress_scripts |
theysaidso_admin_options |
widget_recent-posts |
uaf_font_display_property |
uaf_current_version |
uaf_enable_multi_lang_support |
uaf_hide_key |
... |
Browser metrics Passed 4 tests
Use Any Font | Custom Font Uploader: an overview of browser usage
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,827 ▲70 | 14.49 ▲0.11 | 1.81 ▼0.45 | 40.08 ▼18.36 |
Dashboard /wp-admin | 2,231 ▲52 | 4.94 ▼0.00 | 108.18 ▼13.94 | 38.78 ▼5.09 |
Posts /wp-admin/edit.php | 2,117 ▲25 | 2.03 ▲0.03 | 42.57 ▲1.14 | 37.39 ▲5.60 |
Add New Post /wp-admin/post-new.php | 1,536 ▲3 | 22.83 ▼0.47 | 644.72 ▼19.13 | 75.80 ▲15.66 |
Media Library /wp-admin/upload.php | 1,416 ▲25 | 4.21 ▲0.03 | 103.04 ▼18.12 | 44.12 ▼0.35 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
It is recommended to fix the following
- Zombie WordPress options detected upon uninstall: 19 options
- uaf_api_key
- uaf_current_version
- uaf_css_updated_timestamp
- db_upgraded
- uaf_hide_key
- uaf_activated_url
- widget_recent-comments
- uaf_uploader_type
- uaf_server_url_type
- uaf_font_display_property
- ...
Smoke tests Passed 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Good news, no errors were detected
SRP Passed 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Looking good! No server-side errors or output on direct access of PHP files
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)
Everything seems fine on the user side
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that need to be fixed:
- Screenshots: Screenshot #1 (Screenshot #6. Assign fonts to custom elements.) image missing
use-any-font/use-any-font.php Passed 13 tests
The main file in "Use Any Font | Custom Font Uploader" v. 6.3.04 serves as a complement to information provided in readme.txt and as the entry point to the plugin
30 characters long description:
Embed any font in your website
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Everything looks great! No dangerous files found in this plugin1,909 lines of code in 20 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 18 | 233 | 86 | 1,753 |
JavaScript | 1 | 10 | 2 | 96 |
CSS | 1 | 0 | 0 | 60 |
PHP code Passed 2 tests
Analyzing logical lines of code, cyclomatic complexity, and other code metrics
This plugin has no cyclomatic complexity issues
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.37 |
Average class complexity | 0.00 |
▷ Minimum class complexity | 0.00 |
▷ Maximum class complexity | 0.00 |
Average method complexity | 0.00 |
▷ Minimum method complexity | 0.00 |
▷ Maximum method complexity | 0.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 0 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 0 | 0.00% |
▷ Final classes | 0 | 0.00% |
Methods | 0 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 0 | 0.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 59 | |
▷ Named functions | 56 | 94.92% |
▷ Anonymous functions | 3 | 5.08% |
Constants | 1 | |
▷ Global constants | 1 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
6 PNG files occupy 0.36MB with 0.19MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-5.png | 12.75KB | 7.22KB | ▼ 43.35% |
screenshot-3.png | 38.38KB | 15.09KB | ▼ 60.69% |
screenshot-1.png | 36.23KB | 26.32KB | ▼ 27.34% |
screenshot-6.png | 61.98KB | 19.17KB | ▼ 69.06% |
screenshot-2.png | 198.36KB | 73.42KB | ▼ 62.99% |