Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.26MB] [CPU: ▼3.03ms] Passed 4 tests
An overview of server-side resources used by Sticky Header 2020
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.74 ▲0.27 | 44.51 ▼1.71 |
Dashboard /wp-admin | 3.57 ▲0.26 | 53.56 ▼3.69 |
Posts /wp-admin/edit.php | 3.68 ▲0.32 | 51.92 ▼5.95 |
Add New Post /wp-admin/post-new.php | 6.15 ▲0.26 | 118.96 ▲3.05 |
Media Library /wp-admin/upload.php | 3.49 ▲0.26 | 38.73 ▼0.77 |
Sticky Header 2020 /wp-admin/options-general.php?page=sh2020-settings | 3.46 | 36.41 |
Server storage [IO: ▲0.33MB] [DB: ▲0.01MB] Passed 3 tests
A short overview of filesystem and database impact
No storage issues were detected
Filesystem: 19 new files
Database: no new tables, 10 new options
New WordPress options |
---|
widget_recent-posts |
can_compress_scripts |
sh2020-plugin_actions_notices |
theysaidso_admin_options |
sticky-header-2020-last-update |
sticky-header-2020-styles |
widget_recent-comments |
widget_theysaidso_widget |
db_upgraded |
sticky-header-2020-scripts |
Browser metrics Passed 4 tests
An overview of browser requirements for Sticky Header 2020
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,872 ▲111 | 14.63 ▼0.02 | 2.06 ▲0.14 | 38.52 ▼2.63 |
Dashboard /wp-admin | 2,271 ▲100 | 5.72 ▼0.05 | 98.30 ▼2.18 | 81.84 ▲38.11 |
Posts /wp-admin/edit.php | 2,180 ▲77 | 2.14 ▲0.16 | 39.38 ▼5.35 | 38.44 ▼17.87 |
Add New Post /wp-admin/post-new.php | 1,611 ▲85 | 21.26 ▼2.19 | 736.25 ▲10.23 | 48.35 ▼11.70 |
Media Library /wp-admin/upload.php | 1,467 ▲67 | 4.14 ▼0.04 | 98.95 ▼8.30 | 83.92 ▲35.87 |
Sticky Header 2020 /wp-admin/options-general.php?page=sh2020-settings | 1,462 | 9.25 | 306.53 | 71.89 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
Please fix the following items
- This plugin did not uninstall successfully, leaving 10 options in the database
- sticky-header-2020-last-update
- sticky-header-2020-styles
- sticky-header-2020-scripts
- widget_recent-comments
- theysaidso_admin_options
- db_upgraded
- can_compress_scripts
- widget_theysaidso_widget
- widget_recent-posts
- sh2020-plugin_actions_notices
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Even though no errors were found, this is by no means an exhaustive test
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
Almost there! Just fix the following items
- 3× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Class 'WP_Customize_Control' not found in wp-content/plugins/sticky-header-2020/classes/class-sh2020-customize-rgba-color-control.php:13
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/sticky-header-2020/class-sticky-header-2020.php:33
- > PHP Fatal error
Uncaught Error: Class 'WP_Customize_Control' not found in wp-content/plugins/sticky-header-2020/classes/class-sh2020-customize-simple-text-control.php:12
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine on the user side
Optimizations
Plugin configuration 83% from 29 tests
readme.txt 88% from 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
Attributes that require attention:
- Tags: Too many tags (14 tag instead of maximum 10); only the first 5 tags are used in your directory listing
- Requires at least: Version format is invalid
sticky-header-2020/class-sticky-header-2020.php 77% from 13 tests
The main file in "Sticky Header 2020" v. 2.0.1 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
- Description: Please keep the plugin description shorter than 140 characters (currently 298 characters long)
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("sticky-header-2020.php" instead of "class-sticky-header-2020.php")
- Text Domain: Since WordPress version 4.6 the text domain is optional; if specified, it must be the same as the plugin slug
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
There were no executable files found in this plugin2,088 lines of code in 11 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 4 | 199 | 424 | 1,611 |
PO File | 1 | 97 | 119 | 219 |
JavaScript | 3 | 58 | 66 | 147 |
CSS | 3 | 18 | 6 | 111 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.23 |
Average class complexity | 38.00 |
▷ Minimum class complexity | 6.00 |
▷ Maximum class complexity | 100.00 |
Average method complexity | 3.36 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 19.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 3 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 3 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 47 | |
▷ Static methods | 40 | 85.11% |
▷ Public methods | 46 | 97.87% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 1 | 2.13% |
Functions | 0 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 29 | |
▷ Global constants | 7 | 24.14% |
▷ Class constants | 22 | 75.86% |
▷ Public constants | 22 | 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
3 PNG files occupy 0.03MB with 0.01MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/buy-me-a-coffee.png | 19.75KB | 7.15KB | ▼ 63.78% |
assets/images/icon-128x128.png | 12.84KB | 7.14KB | ▼ 44.37% |
assets/js/alpha/transparency-grid.png | 2.58KB | 2.80KB | 0.00% |