Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Installer ran successfully
Server metrics [RAM: ▲0.07MB] [CPU: ▼4.52ms] Passed 4 tests
This is a short check of server-side resources used by ytlink
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.53 ▲0.06 | 41.25 ▼2.88 |
Dashboard /wp-admin | 3.39 ▲0.04 | 49.93 ▼16.55 |
Posts /wp-admin/edit.php | 3.45 ▲0.09 | 56.22 ▲3.06 |
Add New Post /wp-admin/post-new.php | 5.99 ▲0.10 | 94.62 ▲2.50 |
Media Library /wp-admin/upload.php | 3.32 ▲0.08 | 41.46 ▼1.14 |
Youtube-Link /wp-admin/options-general.php?page=ytlink | 3.42 | 33.49 |
Server storage [IO: ▲0.11MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 24 new files
Database: no new tables, 39 new options
New WordPress options |
---|
fso |
fsre |
arrowcol |
widget_theysaidso_widget |
ilink |
videobox |
ico_x |
pp_settings_def |
widget_recent-comments |
widget_recent-posts |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for ytlink
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,812 ▲51 | 13.36 ▼1.26 | 1.62 ▲0.14 | 42.63 ▼0.67 |
Dashboard /wp-admin | 2,218 ▲41 | 5.82 ▲0.16 | 96.57 ▲4.16 | 45.32 ▲5.18 |
Posts /wp-admin/edit.php | 2,119 ▲19 | 2.40 ▲0.39 | 42.66 ▲1.47 | 41.28 ▲5.71 |
Add New Post /wp-admin/post-new.php | 1,552 ▲24 | 18.39 ▼4.66 | 627.89 ▼33.28 | 46.49 ▼8.25 |
Media Library /wp-admin/upload.php | 1,434 ▲34 | 4.47 ▲0.25 | 95.05 ▼6.30 | 41.62 ▼7.73 |
Youtube-Link /wp-admin/options-general.php?page=ytlink | 1,651 | 2.62 | 51.06 | 45.85 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
- Zombie WordPress options were found after uninstall: 6 options
- widget_theysaidso_widget
- theysaidso_admin_options
- db_upgraded
- widget_recent-comments
- can_compress_scripts
- widget_recent-posts
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
These errors were triggered by the plugin
- > GET request to /wp-admin/options-general.php?page=ytlink
- > Notice in wp-content/plugins/ytlink/tab1.php+24
Undefined variable: x
- > GET request to /wp-admin/options-general.php?page=ytlink
- > Notice in wp-content/plugins/ytlink/tab1.php+25
Undefined variable: y
- > GET request to /wp-admin/options-general.php?page=ytlink
- > Notice in wp-content/plugins/ytlink/tab1.php+26
Undefined variable: ppic
- > GET request to /wp-admin/options-general.php?page=ytlink
- > Notice in wp-content/plugins/ytlink/tab1.php+27
Undefined variable: tit
- > GET request to /wp-admin/options-general.php?page=ytlink
- > Warning in wp-content/plugins/ytlink/tab1.php+35
Use of undefined constant h - assumed 'h' (this will throw an Error in a future version of PHP)
- 3 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=ytlink
- > Notice in wp-content/plugins/ytlink/preview.php+54
A non well formed numeric value encountered
SRP 0% from 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
Almost there! Just fix the following items
- 1× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/ytlink/arrow.php
- 16× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/ytlink/tab3.php:2
- > PHP Warning
Use of undefined constant WP_PLUGIN_URL - assumed 'WP_PLUGIN_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/ytlink/preview.php on line 10
- > PHP Fatal error
Uncaught Error: Call to undefined function update_option() in wp-content/plugins/ytlink/preview.php:14
- > PHP Notice
Undefined variable: pfeil in wp-content/plugins/ytlink/preview.php on line 12
- > PHP Notice
Undefined variable: ppic in wp-content/plugins/ytlink/preview.php on line 9
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/ytlink/tab5.php:2
- > PHP Warning
Use of undefined constant WP_PLUGIN_URL - assumed 'WP_PLUGIN_URL' (this will throw an Error in a future version of PHP) in wp-content/plugins/ytlink/tab1.php on line 16
- > PHP Notice
Undefined index: color in wp-content/plugins/ytlink/arrow.php on line 25
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/ytlink/tab2.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/ytlink/tab1.php:18
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
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
Please fix the following attributes:
- Plugin Name: You should set the name of your plugin on the first line (
=== ytlink ===
)
ytlink/ytlink.php Passed 13 tests
The principal PHP file in "ytlink" v. 0.9.2 is loaded by WordPress automatically on each request
88 characters long description:
Erzeugt einen Link mit Vorschaubild aus einem Shortcode nur mit der Video-ID für Youtub
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
No dangerous file extensions were detected1,642 lines of code in 15 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 10 | 171 | 95 | 1,046 |
PO File | 4 | 254 | 547 | 581 |
JavaScript | 1 | 2 | 7 | 15 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.14 |
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 | 14 | |
▷ Named functions | 14 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 7 | |
▷ Global constants | 7 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
5 PNG files occupy 0.03MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/video-button-transp.png | 31.07KB | 14.87KB | ▼ 52.15% |
images/filmstreifen-rechts.png | 0.83KB | 0.65KB | ▼ 21.28% |
images/filmstreifen-links.png | 0.83KB | 0.65KB | ▼ 21.37% |
images/filmstreifen-unten.png | 0.83KB | 0.65KB | ▼ 20.99% |
images/filmstreifen-oben.png | 0.62KB | 0.63KB | 0.00% |