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
Install script ran successfully
Server metrics [RAM: ▲0.13MB] [CPU: ▲0.33ms] Passed 4 tests
Server-side resources used by journy.io Customer Data Platform
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.58 ▲0.12 | 53.32 ▲11.91 |
Dashboard /wp-admin | 3.44 ▲0.14 | 47.22 ▼0.27 |
Posts /wp-admin/edit.php | 3.55 ▲0.20 | 50.95 ▲2.16 |
Add New Post /wp-admin/post-new.php | 6.02 ▲0.13 | 89.62 ▼6.44 |
Media Library /wp-admin/upload.php | 3.36 ▲0.13 | 39.44 ▲5.85 |
journy.io /wp-admin/options-general.php?page=journy-io | 3.35 | 34.06 |
Server storage [IO: ▲0.41MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
This plugin was installed successfully
Filesystem: 156 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_recent-posts |
theysaidso_admin_options |
widget_recent-comments |
can_compress_scripts |
widget_theysaidso_widget |
db_upgraded |
Browser metrics Passed 4 tests
Checking browser requirements for journy.io Customer Data Platform
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,827 ▲92 | 13.28 ▼1.10 | 5.16 ▲3.06 | 41.21 ▲0.94 |
Dashboard /wp-admin | 2,236 ▲48 | 5.86 ▲0.03 | 103.57 ▼0.75 | 40.48 ▼5.52 |
Posts /wp-admin/edit.php | 2,118 ▲26 | 2.05 ▼0.00 | 40.54 ▲2.89 | 36.49 ▲3.92 |
Add New Post /wp-admin/post-new.php | 1,537 ▲1 | 17.59 ▼5.57 | 675.42 ▼7.33 | 51.81 ▼4.48 |
Media Library /wp-admin/upload.php | 1,417 ▲32 | 4.39 ▲0.11 | 101.40 ▼9.50 | 48.81 ▲0.42 |
journy.io /wp-admin/options-general.php?page=journy-io | 950 | 2.05 | 23.31 | 37.73 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% 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
- Zombie WordPress options detected upon uninstall: 6 options
- db_upgraded
- widget_recent-comments
- widget_recent-posts
- can_compress_scripts
- theysaidso_admin_options
- widget_theysaidso_widget
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A smoke test targeting server-side errors
The smoke test was a success, however most plugin functionality was not tested
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please take a closer look at the following
- 1× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/journy-io/views/sidebar.php
- 62× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Buzz\\Exception\\ClientException' not found in wp-content/plugins/journy-io/vendor/kriswallsmith/buzz/lib/Exception/NetworkException.php:13
- > PHP Fatal error
Uncaught Error: Class 'Http\\Client\\Exception\\TransferException' not found in wp-content/plugins/journy-io/vendor/php-http/httplug/src/Exception/RequestException.php:16
- > PHP Fatal error
Cannot declare class JsonException, because the name is already in use in wp-content/plugins/journy-io/vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php on line 12
- > PHP Fatal error
Uncaught Error: Interface 'Http\\Message\\MessageFactory' not found in wp-content/plugins/journy-io/vendor/nyholm/psr7/src/Factory/HttplugFactory.php:17
- > PHP Fatal error
Uncaught Error: Interface 'Buzz\\Middleware\\MiddlewareInterface' not found in wp-content/plugins/journy-io/vendor/kriswallsmith/buzz/lib/Middleware/HistoryMiddleware.php:11
- > PHP Fatal error
Uncaught Error: Interface 'Symfony\\Component\\OptionsResolver\\Exception\\ExceptionInterface' not found in wp-content/plugins/journy-io/vendor/symfony/options-resolver/Exception/OptionDefinitionException.php:19
- > PHP Fatal error
Uncaught Error: Interface 'Symfony\\Component\\OptionsResolver\\Exception\\ExceptionInterface' not found in wp-content/plugins/journy-io/vendor/symfony/options-resolver/Exception/InvalidArgumentException.php:19
- > PHP Fatal error
Uncaught Error: Class 'Buzz\\Client\\AbstractClient' not found in wp-content/plugins/journy-io/vendor/kriswallsmith/buzz/lib/Client/FileGetContents.php:14
- > PHP Fatal error
Uncaught Error: Interface 'Buzz\\Exception\\ExceptionInterface' not found in wp-content/plugins/journy-io/vendor/kriswallsmith/buzz/lib/Exception/ClientException.php:12
- > PHP Fatal error
Uncaught Error: Interface 'Buzz\\Middleware\\MiddlewareInterface' not found in wp-content/plugins/journy-io/vendor/kriswallsmith/buzz/lib/Middleware/LoggerMiddleware.php:12
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
There were no browser issues found
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 88% from 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
Attributes that need to be fixed:
- Tags: Too many tags (18 tag instead of maximum 10); only the first 5 tags are used in your directory listing
- Screenshots: Add images for these screenshots: #1 (journy.io Settings Screen, under Settings->Business Settings), #2 (Wordpress Settings Screen, under settings menu), #3 (Finding out which channels (Facebook, LinkedIn, Twitter...) work best to attract 'paying customers'), #4 (Finding out which ads and campaigns work best to attract 'paying customers'), #5 (Finding out which blog/web pages work best to attract 'paying customers')
journy-io/journy-io.php Passed 13 tests
The entry point to "journy.io Customer Data Platform" version 2.0.14 is a PHP file that has certain tags in its header comment area
52 characters long description:
Activates and tracks Wordpress events into journy.io
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
Success! There were no dangerous files found in this plugin8,122 lines of code in 140 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 128 | 1,848 | 3,582 | 6,789 |
JSON | 3 | 0 | 0 | 943 |
Markdown | 5 | 117 | 0 | 286 |
YAML | 3 | 22 | 2 | 89 |
XML | 1 | 0 | 0 | 15 |
PHP code Passed 2 tests
A brief analysis of cyclomatic complexity and code structure for this plugin
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.41 |
Average class complexity | 8.23 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 129.00 |
Average method complexity | 2.57 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 28.00 |
Code structure | ||
---|---|---|
Namespaces | 25 | |
Interfaces | 34 | |
Traits | 3 | |
Classes | 77 | |
▷ Abstract classes | 2 | 2.60% |
▷ Concrete classes | 75 | 97.40% |
▷ Final classes | 20 | 26.67% |
Methods | 580 | |
▷ Static methods | 38 | 6.55% |
▷ Public methods | 485 | 83.62% |
▷ Protected methods | 11 | 1.90% |
▷ Private methods | 84 | 14.48% |
Functions | 34 | |
▷ Named functions | 14 | 41.18% |
▷ Anonymous functions | 20 | 58.82% |
Constants | 31 | |
▷ Global constants | 4 | 12.90% |
▷ Class constants | 27 | 87.10% |
▷ Public constants | 20 | 74.07% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
PNG images were not found in this plugin