Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Installer ran successfully
Server metrics [RAM: ▼1.22MB] [CPU: ▼44.30ms] Passed 4 tests
A check of server-side resources used by OpenBroker
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.75 ▼0.72 | 13.95 ▼27.78 |
Dashboard /wp-admin | 2.80 ▼0.51 | 16.90 ▼40.11 |
Posts /wp-admin/edit.php | 2.80 ▼0.56 | 16.79 ▼33.15 |
Add New Post /wp-admin/post-new.php | 2.80 ▼3.09 | 16.23 ▼76.17 |
Media Library /wp-admin/upload.php | 2.80 ▼0.43 | 16.15 ▼21.34 |
Server storage [IO: ▲6.65MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin was installed successfully
Filesystem: 264 new files
Database: no new tables, 6 new options
New WordPress options |
---|
db_upgraded |
can_compress_scripts |
widget_theysaidso_widget |
widget_recent-comments |
widget_recent-posts |
theysaidso_admin_options |
Browser metrics Passed 4 tests
OpenBroker: an overview of browser usage
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,968 ▲207 | 17.15 ▲2.98 | 16.32 ▲14.52 | 47.57 ▼0.30 |
Dashboard /wp-admin | 2,247 ▲67 | 7.37 ▲1.71 | 115.76 ▲26.89 | 39.09 ▼0.11 |
Posts /wp-admin/edit.php | 2,149 ▲49 | 4.25 ▲2.21 | 48.14 ▲11.05 | 35.77 ▼2.38 |
Add New Post /wp-admin/post-new.php | 6,342 ▲4,814 | 25.09 ▲2.04 | 963.79 ▲290.19 | 37.10 ▼18.88 |
Media Library /wp-admin/upload.php | 1,452 ▲58 | 5.74 ▲1.52 | 112.97 ▼1.37 | 41.73 ▼7.07 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
- This plugin cannot be uninstalled
- > Notice in wp-content/plugins/openbroker/initialize_functions.php+620
unserialize(): Error at offset 0 of 1 bytes
- Zombie WordPress options detected upon uninstall: 6 options
- widget_theysaidso_widget
- theysaidso_admin_options
- widget_recent-comments
- can_compress_scripts
- db_upgraded
- widget_recent-posts
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 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Almost there! Just fix the following items
- 4× PHP files output text when accessed directly:
- > /wp-content/plugins/openbroker/templates/frontend/page/similar-properties.php
- > /wp-content/plugins/openbroker/templates/frontend/search/properties-search.php
- > /wp-content/plugins/openbroker/templates/admin/ajax_properties.php
- > /wp-content/plugins/openbroker/templates/frontend/catalog/only-properties.php
- 100× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
require_once(): Failed opening required 'wp-content/plugins/openbroker/vendor/gmostafa/php-graphql-client/examples/../vendor/autoload.php' (include_path='.:/usr/share/php') in wp-content/plugins/openbroker/vendor/gmostafa/php-graphql-client/examples/query_example.php on line 3
- > PHP Fatal error
require_once(): Failed opening required 'wp-content/plugins/openbroker/vendor/gmostafa/php-graphql-client/examples/../vendor/autoload.php' (include_path='.:/usr/share/php') in wp-content/plugins/openbroker/vendor/gmostafa/php-graphql-client/examples/raw_query_example.php on line 3
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/openbroker/vendor/gmostafa/php-graphql-client/tests/StringLiteralFormatterTest.php:13
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Cookie\\CookieJarInterface' not found in wp-content/plugins/openbroker/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php:11
- > PHP Fatal error
Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/openbroker/vendor/gmostafa/php-graphql-client/tests/Auth/AwsIamAuthTest.php:10
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\RequestFactoryInterface' not found in wp-content/plugins/openbroker/vendor/guzzlehttp/psr7/src/HttpFactory.php:26
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Promise\\PromisorInterface' not found in wp-content/plugins/openbroker/vendor/guzzlehttp/guzzle/src/Pool.php:24
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/openbroker/templates/frontend/page/single-property.php on line 24
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Client\\ClientExceptionInterface' not found in wp-content/plugins/openbroker/vendor/psr/http-client/src/NetworkExceptionInterface.php:14
- > PHP Warning
require_once(OPENBROKER_PLUGIN_LIB/vendor/autoload.php): failed to open stream: No such file or directory in wp-content/plugins/openbroker/api/openbroker.php on line 2
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser errors were detected
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
4 plugin tags: properties, openbrocker, real estate, openbroker
openbroker/initialize_functions.php 92% from 13 tests
The primary PHP file in "OpenBroker" version 2.0 is used by WordPress to initiate all plugin functionality
Please take the time to fix the following:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("openbroker.php" instead of "initialize_functions.php")
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
No dangerous file extensions were detected32,450 lines of code in 223 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 170 | 2,663 | 7,156 | 14,377 |
SVG | 3 | 0 | 0 | 9,552 |
Markdown | 17 | 1,516 | 0 | 4,375 |
CSS | 10 | 353 | 60 | 1,996 |
JSON | 11 | 0 | 0 | 1,166 |
JavaScript | 10 | 156 | 62 | 945 |
YAML | 2 | 9 | 2 | 39 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.40 |
Average class complexity | 11.08 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 88.00 |
Average method complexity | 2.58 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 26.00 |
Code structure | ||
---|---|---|
Namespaces | 18 | |
Interfaces | 28 | |
Traits | 4 | |
Classes | 114 | |
▷ Abstract classes | 2 | 1.75% |
▷ Concrete classes | 112 | 98.25% |
▷ Final classes | 35 | 31.25% |
Methods | 926 | |
▷ Static methods | 149 | 16.09% |
▷ Public methods | 789 | 85.21% |
▷ Protected methods | 23 | 2.48% |
▷ Private methods | 114 | 12.31% |
Functions | 134 | |
▷ Named functions | 36 | 26.87% |
▷ Anonymous functions | 98 | 73.13% |
Constants | 70 | |
▷ Global constants | 2 | 2.86% |
▷ Class constants | 68 | 97.14% |
▷ Public constants | 52 | 76.47% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
6 PNG files occupy 0.07MB with 0.06MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
templates/libs/selectstyle/img/search.png | 15.34KB | 1.43KB | ▼ 90.65% |
templates/libs/selectstyle/img/ful_grid_img.png | 17.66KB | 0.52KB | ▼ 97.07% |
templates/assets/img/logo.png | 20.48KB | 7.48KB | ▼ 63.46% |
templates/libs/lightzoom/image/close.png | 2.51KB | 1.53KB | ▼ 39.15% |
templates/libs/selectstyle/img/br_down.png | 17.38KB | 0.20KB | ▼ 98.85% |