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.23MB] [CPU: ▼138.59ms] Passed 4 tests
Analyzing server-side resources used by WP Reading List
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.96 ▲0.24 | 35.13 ▲13.32 |
Dashboard /wp-admin | 3.29 ▲0.23 | 49.11 ▲3.65 |
Posts /wp-admin/edit.php | 3.41 ▲0.30 | 48.22 ▲3.18 |
Add New Post /wp-admin/post-new.php | 5.65 ▲0.22 | 94.59 ▼565.45 |
Media Library /wp-admin/upload.php | 3.23 ▲0.23 | 36.00 ▲4.27 |
Authors /wp-admin/edit-tags.php?taxonomy=work-author&post_type=works | 3.23 | 32.19 |
All Works /wp-admin/edit.php?post_type=works | 3.28 | 39.05 |
WP Reading List /wp-admin/options-general.php?page=wprl-options | 3.24 | 39.78 |
Add New /wp-admin/post-new.php?post_type=works | 3.36 | 56.24 |
Work Types /wp-admin/edit-tags.php?taxonomy=work-type&post_type=works | 3.23 | 36.58 |
Server storage [IO: ▲0.12MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
The plugin installed successfully
Filesystem: 22 new files
Database: no new tables, 1 new option
New WordPress options |
---|
wprl_plugin_options |
Browser metrics Passed 4 tests
This is an overview of browser requirements for WP Reading List
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,759 ▲163 | 16.28 ▲0.77 | 10.49 ▼1.89 | 46.50 ▲1.97 |
Dashboard /wp-admin | 3,020 ▲86 | 5.93 ▼0.04 | 140.53 ▼10.45 | 109.87 ▼0.41 |
Posts /wp-admin/edit.php | 2,802 ▲63 | 2.73 ▲0.03 | 70.37 ▲0.68 | 93.14 ▲3.47 |
Add New Post /wp-admin/post-new.php | 1,715 ▲215 | 18.77 ▲0.02 | 402.81 ▲9.38 | 106.52 ▼2.03 |
Media Library /wp-admin/upload.php | 1,798 ▲62 | 5.00 ▼0.02 | 166.23 ▲18.33 | 122.38 ▲1.10 |
Authors /wp-admin/edit-tags.php?taxonomy=work-author&post_type=works | 1,761 | 2.40 | 76.27 | 84.02 |
All Works /wp-admin/edit.php?post_type=works | 1,652 | 2.65 | 65.23 | 71.41 |
WP Reading List /wp-admin/options-general.php?page=wprl-options | 2,064 | 3.92 | 72.24 | 96.60 |
Add New /wp-admin/post-new.php?post_type=works | 3,364 | 9.24 | 222.00 | 144.09 |
Work Types /wp-admin/edit-tags.php?taxonomy=work-type&post_type=works | 1,776 | 2.40 | 58.73 | 82.86 |
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
These items require your attention
- This plugin did not uninstall successfully, leaving 1 option in the database
- wprl_plugin_options
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Even though no errors were found, this is by no means an exhaustive test
SRP 50% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
The following issues need your attention
- 6× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Call to undefined function get_queried_object() in wp-content/plugins/wp-reading-list/wprl-theme/taxonomy-work-type.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/wp-reading-list/wprl-theme/single-works.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/wp-reading-list/wprl-theme/archive-works.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function get_queried_object() in wp-content/plugins/wp-reading-list/wprl-theme/taxonomy-work-author.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-reading-list/wprl-core/wp-reading-list-taxonomies.php:56
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/wp-reading-list/wprl-admin/wp-reading-list-admin.php:96
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Please take a look at the following user-side issues
- > GET request to /wp-admin/options-general.php?page=wprl-options
- > Javascript (severe) in unknown
/wp-content/plugins/wp-reading-list/wprl-admin/wp-reading-list-admin-script.js?4_0_1&ver=5.8.1 13:60 Uncaught TypeError: Cannot read properties of null (reading 'value')
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 81% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Please fix the following attributes:
- Plugin Name: Write the name of your plugin instead of "Plugin Name" on the first line (
=== wp-reading-list ===
) - Screenshots: A description for screenshot #5 is missing in wp-reading-list/assets to your readme.txt
- Tags: Please reduce the number of tags, currently 13 tag instead of maximum 10
wp-reading-list/wp-reading-list.php Passed 13 tests
The entry point to "WP Reading List" version 4.0.1 is a PHP file that has certain tags in its header comment area
138 characters long description:
WP Reading List is a plugin designed to help organize and display books, magazines, articles, and anything else that you have read lately.
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
No dangerous file extensions were detected1,891 lines of code in 18 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 12 | 92 | 128 | 1,124 |
CSS | 3 | 121 | 179 | 557 |
JavaScript | 2 | 9 | 18 | 120 |
Markdown | 1 | 46 | 0 | 90 |
PHP code Passed 2 tests
An short overview of 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.30 |
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 | 73 | |
▷ Named functions | 73 | 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 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
1 PNG file occupies 0.01MB with 0.01MB in potential savings
Potential savings
Compression of 1 random PNG file using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
(invalid) wprl-theme/default.png | 11.01KB | 0.00KB | ▼ 100.00% |