Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
This plugin's installer ran successfully
Server metrics [RAM: ▲2.41MB] [CPU: ▲10.35ms] 75% from 4 tests
Analyzing server-side resources used by Orbit Fox by ThemeIsle
Please fix the following
- CPU: Try to keep total CPU usage under 500.00ms (currently 1,651.60ms on /wp-admin/admin.php?page=obfx_companion)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 5.73 ▲2.27 | 54.42 ▲15.64 |
Dashboard /wp-admin | 5.78 ▲2.44 | 66.40 ▲5.91 |
Posts /wp-admin/edit.php | 5.82 ▲2.46 | 61.25 ▲12.00 |
Add New Post /wp-admin/post-new.php | 8.40 ▲2.51 | 100.54 ▲7.84 |
Media Library /wp-admin/upload.php | 5.70 ▲2.47 | 61.26 ▲25.41 |
Template Directory /wp-admin/admin.php?page=obfx_template_dir | 5.70 | 54.83 |
About Us /wp-admin/admin.php?page=ti-about-themeisle_companion | 6.67 | 3,739.62 |
General Settings /wp-admin/admin.php?page=obfx_companion | 6.92 | 1,651.60 |
Server storage [IO: ▲5.71MB] [DB: ▲1.11MB] Passed 3 tests
Filesystem and database footprint
This plugin was installed successfully
Filesystem: 720 new files
Database: no new tables, 9 new options
New WordPress options |
---|
theysaidso_admin_options |
can_compress_scripts |
widget_theysaidso_widget |
module_check_time |
widget_recent-posts |
widget_recent-comments |
db_upgraded |
themeisle_companion_install |
obfx_new_user |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Orbit Fox by ThemeIsle
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,989 ▲203 | 14.75 ▲0.16 | 1.56 ▼0.02 | 28.74 ▼9.71 |
Dashboard /wp-admin | 2,394 ▲217 | 5.59 ▲0.04 | 82.21 ▼1.13 | 46.95 ▲2.97 |
Posts /wp-admin/edit.php | 2,175 ▲75 | 2.03 ▲0.08 | 34.27 ▼2.85 | 36.44 ▲3.43 |
Add New Post /wp-admin/post-new.php | 1,632 ▲104 | 23.64 ▲0.60 | 633.38 ▲15.78 | 64.42 ▼4.41 |
Media Library /wp-admin/upload.php | 1,483 ▲86 | 4.22 ▲0.11 | 97.08 ▼15.85 | 44.78 ▼2.14 |
Template Directory /wp-admin/admin.php?page=obfx_template_dir | 975 | 6.27 | 144.45 | 30.70 |
About Us /wp-admin/admin.php?page=ti-about-themeisle_companion | 1,170 | 6.44 | 61.00 | 49.75 |
General Settings /wp-admin/admin.php?page=obfx_companion | 1,111 | 7.99 | 82.61 | 35.40 |
Uninstaller [IO: ▲0.00MB] [DB: ▲1.11MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
- This plugin does not fully uninstall, leaving 9 options in the database
- theysaidso_admin_options
- can_compress_scripts
- widget_recent-comments
- widget_theysaidso_widget
- obfx_new_user
- module_check_time
- themeisle_companion_install
- widget_recent-posts
- db_upgraded
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 no errors were found, this is by no means an exhaustive test
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 fix the following
- 1× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/themeisle-companion/obfx_modules/mystock-import/inc/photos.php
- 363× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/themeisle-companion/vendor/codeinwp/themeisle-content-forms/library/mailerlite/vendor/guzzlehttp/psr7/src/NoSeekStream.php:12
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/themeisle-companion/vendor/codeinwp/themeisle-content-forms/library/mailerlite/vendor/guzzlehttp/psr7/src/MultipartStream.php:13
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_add_inline_style() in wp-content/plugins/themeisle-companion/vendor/codeinwp/full-width-page-templates/themes/poseidon/inline-style.php:16
- > PHP Fatal error
Uncaught Error: Class 'ThemeIsle\\ElementorExtraWidgets\\Premium_Placeholder' not found in wp-content/plugins/themeisle-companion/vendor/codeinwp/elementor-extra-widgets/widgets/elementor/placeholders/share-buttons.php:5
- > PHP Warning
require_once(TI_CONTENT_FORMS_PATH/includes/widgets-public/widget_actions_base.php): failed to open stream: No such file or directory in wp-content/plugins/themeisle-companion/vendor/codeinwp/themeisle-content-forms/includes/widgets-public/registration_public.php on line 10
- > PHP Fatal error
Uncaught Error: Interface 'Psr\\Http\\Message\\UriInterface' not found in wp-content/plugins/themeisle-companion/vendor/codeinwp/themeisle-content-forms/library/mailerlite/vendor/guzzlehttp/psr7/src/Uri.php:14
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/themeisle-companion/obfx_modules/beaver-widgets/init.php:11
- > PHP Fatal error
Uncaught Error: Interface 'Http\\Promise\\Promise' not found in wp-content/plugins/themeisle-companion/vendor/codeinwp/themeisle-content-forms/library/mailerlite/vendor/php-http/guzzle6-adapter/src/Promise.php:20
- > PHP Fatal error
Uncaught Error: Class 'ThemeIsle\\ElementorExtraWidgets\\Premium_Placeholder' not found in wp-content/plugins/themeisle-companion/vendor/codeinwp/elementor-extra-widgets/widgets/elementor/placeholders/progress-circle.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_add_inline_style() in wp-content/plugins/themeisle-companion/vendor/codeinwp/full-width-page-templates/themes/consulting/inline-style.php:15
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 88% 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: Please delete some tags, you are using 16 tag instead of maximum 10
- Screenshots: These screenshots lack descriptions #1, #2, #3, #4, #5 in themeisle-companion/assets to your readme.txt
themeisle-companion/themeisle-companion.php 92% from 13 tests
Analyzing the main PHP file in "Orbit Fox by ThemeIsle" version 2.10.26
You should first fix the following items:
- Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 186 characters long)
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
No dangerous file extensions were detected76,922 lines of code in 659 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 561 | 8,875 | 19,859 | 63,166 |
Markdown | 21 | 2,152 | 0 | 4,400 |
SVG | 4 | 0 | 0 | 2,710 |
CSS | 22 | 540 | 31 | 2,537 |
JSON | 6 | 0 | 0 | 2,081 |
JavaScript | 33 | 203 | 154 | 1,674 |
Sass | 10 | 61 | 0 | 337 |
Dockerfile | 1 | 8 | 0 | 10 |
YAML | 1 | 0 | 0 | 7 |
PHP code 50% from 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
These items need your attention
- Cyclomatic complexity of methods has to be reduced to less than 100 (currently 179)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.41 |
Average class complexity | 11.51 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 187.00 |
Average method complexity | 2.73 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 179.00 |
Code structure | ||
---|---|---|
Namespaces | 64 | |
Interfaces | 49 | |
Traits | 15 | |
Classes | 351 | |
▷ Abstract classes | 11 | 3.13% |
▷ Concrete classes | 340 | 96.87% |
▷ Final classes | 118 | 34.71% |
Methods | 2,543 | |
▷ Static methods | 307 | 12.07% |
▷ Public methods | 2,114 | 83.13% |
▷ Protected methods | 81 | 3.19% |
▷ Private methods | 348 | 13.68% |
Functions | 327 | |
▷ Named functions | 174 | 53.21% |
▷ Anonymous functions | 153 | 46.79% |
Constants | 264 | |
▷ Global constants | 93 | 35.23% |
▷ Class constants | 171 | 64.77% |
▷ Public constants | 164 | 95.91% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
10 PNG files occupy 0.03MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
obfx_modules/companion-legacy/inc/hestia/inc/img/clients3.png | 2.67KB | 1.76KB | ▼ 34.08% |
dashboard/assets/orbit-fox.png | 8.26KB | 4.01KB | ▼ 51.44% |
obfx_modules/companion-legacy/inc/hestia/inc/img/clients2.png | 2.92KB | 1.98KB | ▼ 32.22% |
obfx_modules/companion-legacy/inc/hestia/inc/img/clients5.png | 2.89KB | 1.45KB | ▼ 49.90% |
obfx_modules/companion-legacy/inc/hestia/inc/img/clients1.png | 2.71KB | 1.19KB | ▼ 55.96% |