Benchmarks
Plugin footprint Passed 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.61MB] [CPU: ▼157.06ms] Passed 4 tests
Server-side resources used by Botamp
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.45 ▲0.62 | 36.70 ▲2.92 |
Dashboard /wp-admin | 3.67 ▲0.62 | 50.37 ▲7.39 |
Posts /wp-admin/edit.php | 3.73 ▲0.62 | 47.41 ▲1.78 |
Add New Post /wp-admin/post-new.php | 6.04 ▲0.61 | 100.72 ▼620.49 |
Media Library /wp-admin/upload.php | 3.62 ▲0.61 | 29.68 ▼12.45 |
Botamp /wp-admin/options-general.php?page=botamp | 3.59 | 33.27 |
Server storage [IO: ▲1.43MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
This plugin was installed successfully
Filesystem: 391 new files
Database: no new tables, no new options
Browser metrics Passed 4 tests
This is an overview of browser requirements for Botamp
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,842 ▲246 | 16.26 ▲0.73 | 16.78 ▲4.62 | 45.64 ▲0.71 |
Dashboard /wp-admin | 3,003 ▲69 | 6.00 ▲0.09 | 144.27 ▼6.84 | 103.77 ▼9.86 |
Posts /wp-admin/edit.php | 2,770 ▲31 | 2.71 ▼0.01 | 66.38 ▼31.03 | 84.41 ▼0.71 |
Add New Post /wp-admin/post-new.php | 1,637 ▼46 | 21.44 ▲5.54 | 289.93 ▼101.10 | 101.06 ▼12.04 |
Media Library /wp-admin/upload.php | 1,838 ▲31 | 5.03 ▲0.02 | 155.95 ▼0.15 | 116.61 ▼1.13 |
Botamp /wp-admin/options-general.php?page=botamp | 1,088 | 2.33 | 55.38 | 79.62 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
The plugin uninstalled successfully, without leaving any zombie files or tables
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Even though everything seems fine, this is not an exhaustive test
SRP 0% 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
- 1× GET requests to PHP files return non-empty strings:
- > /wp-content/plugins/botamp/public/partials/botamp-public-display.php
- 191× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Http\\Message\\Encoding\\FilteredStream' not found in wp-content/plugins/botamp/vendor/php-http/message/src/Encoding/DeflateStream.php:12
- > PHP Fatal error
Uncaught Error: Interface 'Http\\Discovery\\Strategy\\DiscoveryStrategy' not found in wp-content/plugins/botamp/vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php:18
- > PHP Fatal error
Uncaught Error: Class 'GuzzleHttp\\Exception\\BadResponseException' not found in wp-content/plugins/botamp/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php:7
- > PHP Fatal error
Uncaught Error: Class 'GuzzleHttp\\Exception\\RequestException' not found in wp-content/plugins/botamp/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php:11
- > PHP Fatal error
require(): Failed opening required 'wp-content/plugins/botamp/vendor/botamp/botamp-php/tests/Botamp/../../vendor/autoload.php' (include_path='.:/usr/share/php') in wp-content/plugins/botamp/vendor/botamp/botamp-php/tests/Botamp/bootstrap.php on line 3
- > PHP Fatal error
Uncaught Error: Interface 'Http\\Client\\Common\\Plugin' not found in wp-content/plugins/botamp/vendor/php-http/client-common/src/Plugin/ErrorPlugin.php:18
- > PHP Fatal error
Uncaught Error: Class 'Http\\Discovery\\ClassDiscovery' not found in wp-content/plugins/botamp/vendor/php-http/discovery/src/MessageFactoryDiscovery.php:13
- > PHP Fatal error
Uncaught Error: Interface 'Http\\Discovery\\Exception' not found in wp-content/plugins/botamp/vendor/php-http/discovery/src/Exception/NotFoundException.php:14
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html() in wp-content/plugins/botamp/admin/partials/botamp-admin-display.php:23
- > PHP Warning
Use of undefined constant get_post_type_name - assumed 'get_post_type_name' (this will throw an Error in a future version of PHP) in wp-content/plugins/botamp/admin/partials/botamp-admin-display-import.php on line 5
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
No browser issues were found
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Attributes that require attention:
- Tags: You are using too many tags: 11 tag instead of maximum 10
botamp/botamp.php Passed 13 tests
"Botamp" version 1.3.2's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
93 characters long description:
Botamp plugin for Wordpress. The easiest way to sync your WordPress site content with Botamp.
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
Good job! No executable or dangerous file extensions detected24,229 lines of code in 358 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 294 | 4,203 | 9,049 | 18,546 |
Markdown | 29 | 1,530 | 0 | 3,947 |
JSON | 20 | 0 | 0 | 1,541 |
XML | 4 | 4 | 0 | 77 |
YAML | 5 | 15 | 0 | 72 |
make | 2 | 11 | 0 | 31 |
CSS | 2 | 2 | 8 | 9 |
JavaScript | 2 | 2 | 54 | 6 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.25 |
Average class complexity | 6.20 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 75.00 |
Average method complexity | 1.88 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 27.00 |
Code structure | ||
---|---|---|
Namespaces | 41 | |
Interfaces | 32 | |
Traits | 13 | |
Classes | 231 | |
▷ Abstract classes | 3 | 1.30% |
▷ Concrete classes | 228 | 98.70% |
▷ Final classes | 64 | 28.07% |
Methods | 1,647 | |
▷ Static methods | 98 | 5.95% |
▷ Public methods | 1,448 | 87.92% |
▷ Protected methods | 36 | 2.19% |
▷ Private methods | 163 | 9.90% |
Functions | 307 | |
▷ Named functions | 64 | 20.85% |
▷ Anonymous functions | 243 | 79.15% |
Constants | 50 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 50 | 100.00% |
▷ Public constants | 50 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
2 PNG files occupy 0.21MB with 0.14MB in potential savings
Potential savings
Compression of 2 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
settings.png | 67.59KB | 17.32KB | ▼ 74.37% |
order_notifications.png | 145.72KB | 53.23KB | ▼ 63.47% |