Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Installer ran successfully
Server metrics [RAM: ▲0.36MB] [CPU: ▼2.29ms] Passed 4 tests
A check of server-side resources used by Personalized Shortcodes Pro
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.86 ▲0.40 | 43.12 ▲3.57 |
Dashboard /wp-admin | 3.70 ▲0.40 | 48.62 ▼3.24 |
Posts /wp-admin/edit.php | 3.75 ▲0.39 | 54.78 ▼1.11 |
Add New Post /wp-admin/post-new.php | 6.22 ▲0.33 | 97.87 ▼8.38 |
Media Library /wp-admin/upload.php | 3.56 ▲0.33 | 42.29 ▲5.21 |
Personalized Shortcode /wp-admin/options-general.php?page=psp-settings | 3.53 | 38.06 |
Server storage [IO: ▲0.85MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 100 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_recent-posts |
widget_theysaidso_widget |
theysaidso_admin_options |
can_compress_scripts |
db_upgraded |
widget_recent-comments |
Browser metrics Passed 4 tests
Checking browser requirements for Personalized Shortcodes Pro
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,877 ▲116 | 13.40 ▼1.22 | 8.13 ▲6.40 | 40.89 ▼3.51 |
Dashboard /wp-admin | 2,196 ▲19 | 5.64 ▲0.04 | 92.31 ▼5.85 | 41.63 ▼1.86 |
Posts /wp-admin/edit.php | 2,101 ▼2 | 2.00 ▲0.03 | 39.62 ▲2.51 | 37.75 ▼1.48 |
Add New Post /wp-admin/post-new.php | 1,541 ▲15 | 23.15 ▼0.35 | 672.96 ▼15.36 | 57.12 ▲6.00 |
Media Library /wp-admin/upload.php | 1,407 ▲10 | 4.14 ▼0.04 | 108.85 ▼3.49 | 43.94 ▼4.72 |
Personalized Shortcode /wp-admin/options-general.php?page=psp-settings | 834 | 2.02 | 26.23 | 29.60 |
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
Please fix the following items
- Zombie WordPress options were found after uninstall: 6 options
- db_upgraded
- widget_recent-posts
- widget_theysaidso_widget
- can_compress_scripts
- theysaidso_admin_options
- widget_recent-comments
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though everything seems fine, this is not an exhaustive test
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
- 2× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/personalized-shortcode-pro/vendor/mustangostang/spyc/examples/yaml-load.php
- > /wp-content/plugins/personalized-shortcode-pro/vendor/mustangostang/spyc/php4/5to4.php
- 31× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/personalized-shortcode-pro/vendor/mustangostang/spyc/tests/LoadTest.php:5
- > PHP Fatal error
Uncaught Error: Class 'DeviceDetector\\Parser\\Device\\DeviceParserAbstract' not found in wp-content/plugins/personalized-shortcode-pro/vendor/piwik/device-detector/Parser/Device/Mobile.php:17
- > PHP Fatal error
Uncaught Error: Class 'DeviceDetector\\Parser\\Client\\ClientParserAbstract' not found in wp-content/plugins/personalized-shortcode-pro/vendor/piwik/device-detector/Parser/Client/Library.php:17
- > PHP Warning
file_get_contents(../spyc.php): failed to open stream: No such file or directory in wp-content/plugins/personalized-shortcode-pro/vendor/mustangostang/spyc/php4/5to4.php on line 6
- > PHP Fatal error
Uncaught Error: Interface 'DeviceDetector\\Cache\\Cache' not found in wp-content/plugins/personalized-shortcode-pro/vendor/piwik/device-detector/Cache/StaticCache.php:18
- > PHP Fatal error
Uncaught Error: Class 'DeviceDetector\\Parser\\Client\\ClientParserAbstract' not found in wp-content/plugins/personalized-shortcode-pro/vendor/piwik/device-detector/Parser/Client/Browser.php:19
- > PHP Fatal error
Uncaught Error: Interface 'DeviceDetector\\Cache\\Cache' not found in wp-content/plugins/personalized-shortcode-pro/vendor/piwik/device-detector/Cache/PSR16Bridge.php:7
- > PHP Fatal error
Uncaught Error: Class 'DeviceDetector\\Parser\\ParserAbstract' not found in wp-content/plugins/personalized-shortcode-pro/vendor/piwik/device-detector/Parser/Device/DeviceParserAbstract.php:19
- > PHP Fatal error
Uncaught Error: Class 'DeviceDetector\\Parser\\Device\\DeviceParserAbstract' not found in wp-content/plugins/personalized-shortcode-pro/vendor/piwik/device-detector/Parser/Device/Console.php:17
- > PHP Fatal error
Uncaught Error: Interface 'DeviceDetector\\Yaml\\Parser' not found in wp-content/plugins/personalized-shortcode-pro/vendor/piwik/device-detector/Yaml/Symfony.php:13
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 97% 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:
- Screenshots: These screenshots require images: #1 (Plugin Settings), #2 (How to use in admin), #3 (Display on frontend)
personalized-shortcode-pro/personalized-shortcode-pro.php Passed 13 tests
"Personalized Shortcodes Pro" version 1.0.1's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
55 characters long description:
Plugin enables you to use data from user in shortcodes.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Good job! No executable or dangerous file extensions detected16,393 lines of code in 87 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
YAML | 21 | 1,290 | 843 | 10,945 |
PHP | 58 | 1,197 | 2,363 | 5,006 |
JSON | 4 | 0 | 0 | 193 |
Markdown | 3 | 100 | 0 | 185 |
JavaScript | 1 | 20 | 1 | 64 |
PHP code Passed 2 tests
Analyzing 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.40 |
Average class complexity | 14.04 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 257.00 |
Average method complexity | 2.56 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 38.00 |
Code structure | ||
---|---|---|
Namespaces | 9 | |
Interfaces | 2 | |
Traits | 0 | |
Classes | 43 | |
▷ Abstract classes | 4 | 9.30% |
▷ Concrete classes | 39 | 90.70% |
▷ Final classes | 0 | 0.00% |
Methods | 384 | |
▷ Static methods | 38 | 9.90% |
▷ Public methods | 305 | 79.43% |
▷ Protected methods | 24 | 6.25% |
▷ Private methods | 55 | 14.32% |
Functions | 14 | |
▷ Named functions | 12 | 85.71% |
▷ Anonymous functions | 2 | 14.29% |
Constants | 26 | |
▷ Global constants | 7 | 26.92% |
▷ Class constants | 19 | 73.08% |
▷ Public constants | 19 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
There are no PNG files in this plugin