Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
These installer errors require your attention
- The plugin cannot be installed
- > Deprecated in wp-content/plugins/tagesmenue/inc/class.admin.php+19
Methods with the same name as their class will not be constructors in a future version of PHP; TAGESMENUE_Admin has a deprecated constructor
Server metrics [RAM: ▼1.82MB] [CPU: ▼54.58ms] Passed 4 tests
An overview of server-side resources used by Tagesmenue Widget
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.48 ▲0.02 | 36.31 ▼7.04 |
Dashboard /wp-admin | 2.13 ▼1.21 | 5.68 ▼62.95 |
Posts /wp-admin/edit.php | 2.13 ▼1.22 | 7.14 ▼38.22 |
Add New Post /wp-admin/post-new.php | 2.13 ▼3.75 | 6.66 ▼88.40 |
Media Library /wp-admin/upload.php | 2.13 ▼1.10 | 6.18 ▼28.75 |
Tagesmenue /wp-admin/options-general.php?page=TAGESMENUE-options | 2.13 | 6.08 |
Server storage [IO: ▲0.25MB] [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: 27 new files
Database: no new tables, 7 new options
New WordPress options |
---|
theysaidso_admin_options |
widget_recent-comments |
TAGESMENUE_options |
widget_theysaidso_widget |
widget_recent-posts |
can_compress_scripts |
db_upgraded |
Browser metrics Passed 4 tests
An overview of browser requirements for Tagesmenue Widget
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,141 ▲395 | 15.63 ▲1.00 | 9.28 ▲7.39 | 38.07 ▼5.76 |
Dashboard /wp-admin | 2,351 ▲166 | 6.44 ▲1.58 | 133.12 ▲25.52 | 39.14 ▼6.44 |
Posts /wp-admin/edit.php | 2,264 ▲175 | 3.42 ▲1.39 | 45.38 ▲8.78 | 30.40 ▼1.63 |
Add New Post /wp-admin/post-new.php | 1,521 ▼7 | 23.51 ▲5.05 | 643.34 ▲26.12 | 35.91 ▼18.85 |
Media Library /wp-admin/upload.php | 1,393 ▲8 | 4.16 ▼0.08 | 80.82 ▼19.08 | 42.10 ▼3.62 |
Tagesmenue /wp-admin/options-general.php?page=TAGESMENUE-options | 986 | 3.16 | 38.47 | 25.59 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% 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
- The plugin did not uninstall gracefully
- > Deprecated in wp-content/plugins/tagesmenue/inc/class.admin.php+19
Methods with the same name as their class will not be constructors in a future version of PHP; TAGESMENUE_Admin has a deprecated constructor
- Zombie WordPress options detected upon uninstall: 7 options
- db_upgraded
- theysaidso_admin_options
- widget_theysaidso_widget
- widget_recent-comments
- widget_recent-posts
- TAGESMENUE_options
- can_compress_scripts
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
Almost there, just fix the following server-side errors
- > GET request to /wp-admin/options-general.php?page=TAGESMENUE-options
- > Deprecated in wp-content/plugins/tagesmenue/inc/class.admin.php+19
Methods with the same name as their class will not be constructors in a future version of PHP; TAGESMENUE_Admin has a deprecated constructor
SRP 50% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Please take a closer look at the following
- 4× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Call to undefined function plugins_url() in wp-content/plugins/tagesmenue/tagesmenue.php:21
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_url() in wp-content/plugins/tagesmenue/tagesmenue-katalog-widget.php:19
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/tagesmenue/tagesmenue-widget.php:19
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/tagesmenue/tagesmenue-button-widget.php:19
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser errors were detected
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
3 plugin tags: tagesmenue, daily menu, menu cards
tagesmenue/tagesmenue.php 92% from 13 tests
The entry point to "Tagesmenue Widget" version 1.0.0 is a PHP file that has certain tags in its header comment area
It is important to fix the following:
- Text Domain: The text domain follows the same naming rules as the plugin slug: lowercase characters and dashes
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
No dangerous file extensions were detected1,397 lines of code in 18 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 5 | 74 | 93 | 487 |
Markdown | 2 | 216 | 0 | 425 |
JavaScript | 7 | 21 | 16 | 334 |
CSS | 4 | 26 | 25 | 151 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.19 |
Average class complexity | 9.75 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 18.00 |
Average method complexity | 2.94 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 10.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 4 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 4 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 18 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 18 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 8 | |
▷ Named functions | 8 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 5 | |
▷ Global constants | 5 | 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
7 PNG files occupy 0.15MB with 0.04MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
js/colorbox/css/images/border2.png | 0.11KB | 0.16KB | 0.00% |
js/colorbox/css/images/border1.png | 0.61KB | 0.82KB | 0.00% |
js/colorbox/css/images/controls.png | 1.23KB | 1.28KB | 0.00% |
images/speisekarte.png | 48.30KB | 14.78KB | ▼ 69.40% |
images/weinkarte.png | 48.87KB | 15.80KB | ▼ 67.66% |