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
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.09MB] [CPU: ▼4.47ms] Passed 4 tests
Server-side resources used by Advanced Related Posts
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.55 ▲0.08 | 39.52 ▼9.82 |
Dashboard /wp-admin | 3.40 ▲0.09 | 48.31 ▼3.93 |
Posts /wp-admin/edit.php | 3.51 ▲0.16 | 51.03 ▼1.22 |
Add New Post /wp-admin/post-new.php | 5.98 ▲0.10 | 91.42 ▼2.89 |
Media Library /wp-admin/upload.php | 3.32 ▲0.09 | 39.76 ▲3.40 |
Settings /wp-admin/admin.php?page=yydev-related-posts-settings | 3.34 | 35.00 |
Related Posts /wp-admin/admin.php?page=yydev-related-posts | 3.34 | 44.30 |
Server storage [IO: ▲0.16MB] [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: 22 new files
Database: 2 new tables, 9 new options
New tables |
---|
wp_yy_related_post |
wp_yy_related_posts |
New WordPress options |
---|
can_compress_scripts |
yydev_related_wordpress_boxes |
yydev_related_posts_settings |
widget_recent-posts |
theysaidso_admin_options |
widget_theysaidso_widget |
yy_related_posts_timestamp |
db_upgraded |
widget_recent-comments |
Browser metrics Passed 4 tests
Checking browser requirements for Advanced Related Posts
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,843 ▲57 | 13.60 ▼0.82 | 1.83 ▼0.21 | 40.02 ▼5.44 |
Dashboard /wp-admin | 2,244 ▲44 | 5.84 ▼0.04 | 98.51 ▼20.83 | 80.35 ▲35.12 |
Posts /wp-admin/edit.php | 2,123 ▲20 | 2.01 ▲0.00 | 38.36 ▼3.72 | 37.91 ▲1.93 |
Add New Post /wp-admin/post-new.php | 6,350 ▲4,801 | 19.11 ▼4.27 | 892.11 ▲243.57 | 67.35 ▲20.37 |
Media Library /wp-admin/upload.php | 1,420 ▲17 | 4.22 ▲0.04 | 107.42 ▲5.38 | 71.91 ▲24.20 |
Settings /wp-admin/admin.php?page=yydev-related-posts-settings | 1,129 | 3.07 | 38.99 | 68.13 |
Related Posts /wp-admin/admin.php?page=yydev-related-posts | 889 | 2.08 | 27.55 | 31.35 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
You still need to fix the following
- Zombie tables detected upon uninstall: 2 tables
- wp_yy_related_posts
- wp_yy_related_post
- This plugin does not fully uninstall, leaving 9 options in the database
- yy_related_posts_timestamp
- yydev_related_wordpress_boxes
- db_upgraded
- yydev_related_posts_settings
- widget_recent-posts
- can_compress_scripts
- widget_theysaidso_widget
- theysaidso_admin_options
- widget_recent-comments
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
These errors were triggered by the plugin
- > GET request to /wp-admin/admin.php?page=yydev-related-posts-settings
- > Notice in wp-content/plugins/yydevelopment-related-posts/include/admin-settings-page.php+114
Undefined variable: post_error_message
- 3 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=yydev-related-posts-settings
- > Notice in wp-content/plugins/yydevelopment-related-posts/include/admin-settings-page.php+149
Undefined index: hide_post_type
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
Please fix the following items
- 2× PHP files output text when accessed directly:
- > /wp-content/plugins/yydevelopment-related-posts/include/script.php
- > /wp-content/plugins/yydevelopment-related-posts/include/style.php
- 20× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/yydevelopment-related-posts/include/settings.php on line 5
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/yydevelopment-related-posts/include/settings.php on line 4
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/yydevelopment-related-posts/include/settings.php:35
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/yydevelopment-related-posts/include/ajax-functions.php:23
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/yydevelopment-related-posts/include/settings.php on line 5
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/yydevelopment-related-posts/include/settings.php on line 5
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/yydevelopment-related-posts/include/settings.php on line 5
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/yydevelopment-related-posts/include/settings.php:35
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/yydevelopment-related-posts/include/settings.php on line 4
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/yydevelopment-related-posts/include/settings.php on line 5
- > PHP Notice
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 94% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
These attributes need your attention:
- Requires at least: Invalid plugin version format
yydevelopment-related-posts/index.php 92% from 13 tests
The main PHP script in "Advanced Related Posts" version 2.2.0 is automatically included on every request by WordPress
Please make the necessary changes and fix the following:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("yydevelopment-related-posts.php" instead of "index.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Good job! No executable or dangerous file extensions detected2,041 lines of code in 17 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 16 | 861 | 438 | 1,956 |
CSS | 1 | 23 | 7 | 85 |
PHP code Passed 2 tests
This is a very shot review of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.27 |
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 | 29 | |
▷ Named functions | 29 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 0 | |
▷ Global constants | 0 | 0.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
3 PNG files occupy 0.02MB with 0.01MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/favicon.png | 0.37KB | 0.38KB | 0.00% |
images/add-image.png | 12.71KB | 5.07KB | ▼ 60.12% |
images/icon.png | 8.50KB | 2.82KB | ▼ 66.87% |