Benchmarks
Plugin footprint 58% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
These installer errors require your attention
- The plugin cannot be installed
- > Deprecated in wp-content/plugins/wordpoints/components/points/includes/class-wordpoints-points-hook.php+764
Array and string offset access syntax with curly braces is deprecated
Server metrics [RAM: ▲0.46MB] [CPU: ▼6.52ms] Passed 4 tests
This is a short check of server-side resources used by WordPoints
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.97 ▲0.51 | 53.32 ▲11.60 |
Dashboard /wp-admin | 3.76 ▲0.41 | 54.32 ▼14.48 |
Posts /wp-admin/edit.php | 3.94 ▲0.59 | 59.13 ▲7.42 |
Add New Post /wp-admin/post-new.php | 6.41 ▲0.52 | 100.52 ▼25.02 |
Media Library /wp-admin/upload.php | 3.61 ▲0.39 | 42.85 ▲6.00 |
Install Extensions /wp-admin/admin.php?page=wordpoints_install_modules | 3.61 | 40.54 |
Extensions /wp-admin/admin.php?page=wordpoints_extensions | 3.95 | 42.00 |
Points Types /wp-admin/admin.php?page=wordpoints_points_types | 3.97 | 48.79 |
Install Extensions /wp-admin/admin.php?page=wordpoints_install_extensions | 3.58 | 41.95 |
Settings /wp-admin/admin.php?page=wordpoints_configure | 3.62 | 40.99 |
Points Logs /wp-admin/admin.php?page=wordpoints_points_logs | 3.61 | 43.36 |
Server storage [IO: ▲2.30MB] [DB: ▲0.01MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 430 new files
Database: 5 new tables, 13 new options
New tables |
---|
wp_wordpoints_hook_hits |
wp_wordpoints_hook_periods |
wp_wordpoints_hook_hitmeta |
wp_wordpoints_points_logs |
wp_wordpoints_points_log_meta |
New WordPress options |
---|
widget_recent-posts |
db_upgraded |
widget_recent-comments |
can_compress_scripts |
widget_wordpoints_points_widget |
wordpoints_installable_versions |
wordpoints_legacy_points_hooks_disabled |
wordpoints_data |
widget_wordpoints_points_logs_widget |
widget_theysaidso_widget |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for WordPoints
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,833 ▲87 | 14.37 ▼0.38 | 1.84 ▲0.03 | 42.86 ▲1.30 |
Dashboard /wp-admin | 2,239 ▲59 | 5.65 ▼0.03 | 95.10 ▲5.75 | 41.82 ▼3.95 |
Posts /wp-admin/edit.php | 2,148 ▲48 | 2.01 ▼0.04 | 41.48 ▲1.65 | 37.03 ▲2.65 |
Add New Post /wp-admin/post-new.php | 1,586 ▲60 | 23.43 ▲5.82 | 649.98 ▼73.71 | 60.59 ▼8.38 |
Media Library /wp-admin/upload.php | 1,444 ▲44 | 4.22 ▼0.01 | 100.00 ▼11.91 | 43.56 ▼3.52 |
Install Extensions /wp-admin/admin.php?page=wordpoints_install_modules | 880 | 1.70 | 27.35 | 115.73 |
Extensions /wp-admin/admin.php?page=wordpoints_extensions | 1,060 | 1.72 | 26.73 | 32.33 |
Points Types /wp-admin/admin.php?page=wordpoints_points_types | 1,050 | 2.73 | 61.10 | 47.85 |
Install Extensions /wp-admin/admin.php?page=wordpoints_install_extensions | 876 | 1.76 | 25.25 | 41.26 |
Settings /wp-admin/admin.php?page=wordpoints_configure | 987 | 2.16 | 23.45 | 29.24 |
Points Logs /wp-admin/admin.php?page=wordpoints_points_logs | 816 | 2.03 | 25.04 | 25.24 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
You still need to fix the following
- Zombie WordPress options detected upon uninstall: 6 options
- db_upgraded
- widget_recent-comments
- widget_recent-posts
- theysaidso_admin_options
- can_compress_scripts
- widget_theysaidso_widget
Smoke tests 75% 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
Almost there! Just fix the following items
- 300× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'WordPoints_Hook_Event' not found in wp-content/plugins/wordpoints/classes/hook/event/dynamic.php:27
- > PHP Fatal error
Uncaught Error: Class 'WordPoints_Hook_Action_Post_Type' not found in wp-content/plugins/wordpoints/classes/hook/action/post/type/comment.php:15
- > PHP Fatal error
Uncaught Error: Class 'WordPoints_Entity_Relationship_Dynamic_Stored_Field' not found in wp-content/plugins/wordpoints/classes/entity/comment/parent.php:15
- > PHP Fatal error
Uncaught Error: Call to undefined function current_user_can() in wp-content/plugins/wordpoints/components/points/admin/screens/hooks-no-js-load.php:10
- > PHP Warning
Creating default object from empty value in wp-content/plugins/wordpoints/components/points/includes/constants.php on line 12
- > PHP Fatal error
Uncaught Error: Class 'WordPoints_Updater_DB_Tables_UTF8MB4' not found in wp-content/plugins/wordpoints/components/points/classes/updater/2/0/0/tables.php:15
- > PHP Fatal error
Uncaught Error: Class 'WordPoints_Installable_Basic' not found in wp-content/plugins/wordpoints/classes/installable/legacy.php:18
- > PHP Fatal error
Uncaught Error: Class 'WordPoints_Entity_Stored_DB_Table' not found in wp-content/plugins/wordpoints/classes/entity/comment.php:16
- > PHP Fatal error
Uncaught Error: Class 'WordPoints_Entity_Relationship_Dynamic_Stored_Field' not found in wp-content/plugins/wordpoints/classes/entity/post/parent.php:15
- > PHP Fatal error
Uncaught Error: Class 'WordPoints_Hook_Extension' not found in wp-content/plugins/wordpoints/classes/hook/extension/repeat/blocker.php:15
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser errors were detected
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Attributes that require attention:
- Tested up to: Version not formatted correctly
wordpoints/wordpoints.php Passed 13 tests
The principal PHP file in "WordPoints" v. 2.4.2 is loaded by WordPress automatically on each request
74 characters long description:
Create one or more points systems for your site, and reward user activity.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
There were no executable files found in this plugin35,742 lines of code in 419 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 370 | 10,342 | 24,474 | 24,210 |
PO File | 3 | 2,046 | 2,955 | 5,775 |
JavaScript | 20 | 1,491 | 937 | 3,398 |
CSS | 26 | 564 | 588 | 2,359 |
PHP code Passed 2 tests
Analyzing logical lines of code, cyclomatic complexity, and other code metrics
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.34 |
Average class complexity | 7.12 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 106.00 |
Average method complexity | 2.42 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 31.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 49 | |
Traits | 0 | |
Classes | 254 | |
▷ Abstract classes | 38 | 14.96% |
▷ Concrete classes | 216 | 85.04% |
▷ Final classes | 14 | 6.48% |
Methods | 1,486 | |
▷ Static methods | 78 | 5.25% |
▷ Public methods | 1,021 | 68.71% |
▷ Protected methods | 426 | 28.67% |
▷ Private methods | 39 | 2.62% |
Functions | 292 | |
▷ Named functions | 292 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 8 | |
▷ Global constants | 5 | 62.50% |
▷ Class constants | 3 | 37.50% |
▷ Public constants | 3 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
2 compressed PNG files occupy 0.00MB
Potential savings
Compression of 2 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
components/points/admin/assets/images/arrows-dark.png | 0.24KB | 0.24KB | 0.41% |
components/points/admin/assets/images/arrows.png | 0.24KB | 0.24KB | 0.00% |