Benchmarks
Plugin footprint 23% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The following installer errors require your attention
- Install procedure validation failed for this plugin
- > User notice in wp-includes/functions.php+5905
Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.)
Server metrics [RAM: ▼1.80MB] [CPU: ▼52.16ms] Passed 4 tests
Analyzing server-side resources used by Post Views Stats Counter
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.19 ▼1.27 | 5.18 ▼37.40 |
Dashboard /wp-admin | 2.21 ▼1.10 | 6.48 ▼39.42 |
Posts /wp-admin/edit.php | 2.21 ▼1.15 | 6.69 ▼41.55 |
Add New Post /wp-admin/post-new.php | 2.21 ▼3.68 | 7.05 ▼90.26 |
Media Library /wp-admin/upload.php | 2.21 ▼1.02 | 5.50 ▼29.08 |
View & Settings for Post Views Stats /wp-admin/options-general.php?page=post_views_stats_admin_menu | 2.21 | 6.26 |
Server storage [IO: ▲0.58MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
The plugin installed successfully
Filesystem: 11 new files
Database: 1 new table, 19 new options
New tables |
---|
wp_pvs_counter |
New WordPress options |
---|
pvs_counter_year_front_value |
widget_recent-comments |
can_compress_scripts |
widget_my_widget |
pvs_counter_title_value |
pvs_counter_value_user_bots |
pvs_counter_dayselect_value |
pvs_counter_day_back_value |
theysaidso_admin_options |
widget_recent-posts |
... |
Browser metrics Passed 4 tests
Post Views Stats Counter: an overview of browser usage
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,804 ▲69 | 14.70 ▲0.05 | 1.85 ▲0.11 | 43.62 ▼2.93 |
Dashboard /wp-admin | 2,213 ▲25 | 4.84 ▼0.04 | 98.04 ▼7.12 | 38.45 ▼5.96 |
Posts /wp-admin/edit.php | 2,093 ▲1 | 1.96 ▼0.03 | 35.93 ▼0.81 | 33.23 ▲2.14 |
Add New Post /wp-admin/post-new.php | 1,537 ▲18 | 23.03 ▼0.07 | 677.96 ▲59.20 | 55.02 ▼4.83 |
Media Library /wp-admin/upload.php | 1,386 ▲1 | 4.18 ▼0.04 | 95.00 ▼4.61 | 42.29 ▼1.09 |
View & Settings for Post Views Stats /wp-admin/options-general.php?page=post_views_stats_admin_menu | 1,643 | 3.81 | 58.39 | 64.02 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 25% 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
- > User notice in wp-includes/functions.php+5905
Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.)
- The uninstall procedure failed, leaving 1 table in the database
- wp_pvs_counter
- Zombie WordPress options were found after uninstall: 9 options
- jal_db_version
- widget_theysaidso_widget
- widget_recent-posts
- pvs_counter_value_user_bots
- can_compress_scripts
- db_upgraded
- widget_recent-comments
- widget_my_widget
- theysaidso_admin_options
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
These errors were triggered by the plugin
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > User notice in wp-includes/functions.php+5905
Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.)
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > Notice in wp-content/plugins/post-views-stats-counter/manage/admin.php+30
Undefined index: Pvs_Counter_save
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > Notice in wp-content/plugins/post-views-stats-counter/manage/admin.php+480
Undefined property: stdClass::$time
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > Notice in wp-content/plugins/post-views-stats-counter/manage/admin.php+480
Undefined property: stdClass::$total_access
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > Notice in wp-content/plugins/post-views-stats-counter/manage/admin.php+480
Undefined property: stdClass::$url
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > Warning in wp-content/plugins/post-views-stats-counter/manage/admin.php+571
Use of undefined constant pvs_counter_schedule_check - assumed 'pvs_counter_schedule_check' (this will throw an Error in a future version of PHP)
- 2 occurences, only the last one shown
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > Warning in wp-content/plugins/post-views-stats-counter/manage/admin.php+717
Use of undefined constant pvs_counter_value_user - assumed 'pvs_counter_value_user' (this will throw an Error in a future version of PHP)
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > Warning in wp-content/plugins/post-views-stats-counter/manage/admin.php+670
Use of undefined constant pvs_counter_value_admin - assumed 'pvs_counter_value_admin' (this will throw an Error in a future version of PHP)
SRP Passed 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
Congratulations! This plugin passed the SRP test
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please fix the following user-side errors
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > Security (warning) in unknown
security - Error with Permissions-Policy header: Unrecognized feature: 'ambient-light-sensor'.
- > GET request to /wp-admin/options-general.php?page=post_views_stats_admin_menu
- > Security (warning) in unknown
security - Error with Permissions-Policy header: Unrecognized feature: 'bluetooth'.
Optimizations
Plugin configuration 79% from 29 tests
readme.txt 75% from 16 tests
Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
These attributes need to be fixed:
- Requires at least: Invalid version format
- Screenshots: These screenshots require images: #1 (View posts and pages by date, access, title, permalinks, etc.), #2 (Exclude admin user and login users + Ignore bots and useragents), #3 (Add "Most Popular Articles" to the widget section)
- Tags: Please delete some tags, you are using 14 tag instead of maximum 10
- Plugin Name: Please specify the plugin name on the first line (
=== post-views-stats-counter ===
)
post-views-stats-counter/wp_pvscounter.php 85% from 13 tests
The main PHP script in "Post Views Stats Counter" version 1.1.7 is automatically included on every request by WordPress
The following require your attention:
- Description: Keep the plugin description shorter than 140 characters (currently 368 characters long)
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("post-views-stats-counter.php" instead of "wp_pvscounter.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
No dangerous file extensions were detected916 lines of code in 3 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 3 | 210 | 150 | 916 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
Everything seems fine, there were no complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.29 |
Average class complexity | 13.50 |
▷ Minimum class complexity | 4.00 |
▷ Maximum class complexity | 23.00 |
Average method complexity | 2.79 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 16.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 2 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 2 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 15 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 15 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 9 | |
▷ Named functions | 8 | 88.89% |
▷ Anonymous functions | 1 | 11.11% |
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
Using a strong compression for your PNG files is a great way to speed-up your plugin
4 PNG files occupy 0.21MB with 0.13MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/icon-256x256.png | 20.26KB | 8.29KB | ▼ 59.08% |
screenshot-2.png | 41.88KB | 16.37KB | ▼ 60.92% |
screenshot-3.png | 79.14KB | 29.50KB | ▼ 62.72% |
screenshot-1.png | 69.37KB | 25.52KB | ▼ 63.22% |