Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Install script ran successfully
Server metrics [RAM: ▼0.38MB] [CPU: ▼315.32ms] Passed 4 tests
A check of server-side resources used by Domain Replace
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.48 ▼0.03 | 49.50 ▲4.86 |
Dashboard /wp-admin | 3.21 ▼0.19 | 20.42 ▼20.27 |
Posts /wp-admin/edit.php | 3.28 ▼0.36 | 25.30 ▼13.00 |
Add New Post /wp-admin/post-new.php | 6.06 ▼0.91 | 73.15 ▼1,225.81 |
Media Library /wp-admin/upload.php | 3.24 ▼0.05 | 20.03 ▼2.18 |
Help /wp-admin/admin.php?page=duogeek-panel-help | 3.20 | 19.25 |
Domain Replace Options /wp-admin/admin.php?page=dr-convert | 3.20 | 19.88 |
DuoGeek /wp-admin/admin.php?page=duogeek-panel | 3.20 | 19.28 |
Licenses /wp-admin/admin.php?page=duogeek-pro-licenses | 3.20 | 19.86 |
Server storage [IO: ▲1.42MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 161 new files
Database: no new tables, 1 new option
New WordPress options |
---|
recovery_mode_email_last_sent |
Browser metrics Passed 4 tests
A check of browser resources used by Domain Replace
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,851 ▲97 | 16.46 ▲0.52 | 6.46 ▲0.48 | 2.27 ▼0.70 |
Dashboard /wp-admin | 2,967 ▲109 | 7.07 ▲0.66 | 119.53 ▼18.61 | 154.49 ▼8.70 |
Posts /wp-admin/edit.php | 2,766 ▲78 | 3.74 ▲0.31 | 68.28 ▲6.82 | 162.80 ▲21.23 |
Add New Post /wp-admin/post-new.php | 1,814 ▲146 | 22.92 ▲2.94 | 402.11 ▲12.80 | 172.47 ▲15.48 |
Media Library /wp-admin/upload.php | 1,773 ▲75 | 6.12 ▲0.36 | 123.62 ▼32.10 | 190.02 ▼12.51 |
Help /wp-admin/admin.php?page=duogeek-panel-help | 1,023 | 3.31 | 56.68 | 100.00 |
Domain Replace Options /wp-admin/admin.php?page=dr-convert | 1,580 | 7.91 | 137.59 | 210.04 |
DuoGeek /wp-admin/admin.php?page=duogeek-panel | 972 | 2.35 | 39.02 | 109.33 |
Licenses /wp-admin/admin.php?page=duogeek-pro-licenses | 1,041 | 3.04 | 57.22 | 86.53 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- Zombie WordPress options detected upon uninstall: 1 option
- recovery_mode_email_last_sent
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Please fix the following server-side errors
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=duogeek-pro-licenses
- > Notice in wp-content/plugins/domain-replace/duogeek/duogeek-panel.php+147
Trying to access array offset on value of type bool
- > GET request to /wp-admin/admin.php?page=duogeek-panel
- > Error in wp-content/plugins/domain-replace/duogeek/duogeek-panel.php+413
Uncaught Error: Cannot use object of type WP_Error as array in wp-content/plugins/domain-replace/duogeek/duogeek-panel.php:413
Stack trace:
#0 wp-includes/class-wp-hook.php(307): DuoGeekPlugins->duogeek_panel_cb()
#1 wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters()
#2 wp-includes/plugin.php(474): WP_Hook->do_action()
#3 wp-admin/admin.php(259): do_action()
#4 {main}
thrown
SRP 50% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Almost there! Just fix the following items
- 4× GET requests to PHP files trigger server-side errors or Error 500 responses:
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_die() in wp-content/plugins/domain-replace/duogeek/duogeek-panel.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_die() in wp-content/plugins/domain-replace/duogeek/helper.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_die() in wp-content/plugins/domain-replace/domainreplace.php:28
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_die() in wp-content/plugins/domain-replace/duogeek/class.customPostType.php:3
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
There are user-side issues you should fix
- > GET request to /wp-admin/admin.php?page=dr-convert
- > Console-api (warning) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=5.9.2 1:31592 "jQuery.Deferred exception: $(...).iCheck is not a function" "TypeError: $(...).iCheck is not a function\n at HTMLDocument.\u003Canonymous> (/wp-content/plugins/domain-replace/duogeek/inc/duogeek.js?ver=1.1:8:36)\n at e (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=5.9.2:2:30038)\n at t (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=5.9.2:2:30340)" undefined
- > GET request to /wp-admin/admin.php?page=dr-convert
- > Javascript (severe) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=5.9.2 1:31702 Uncaught TypeError: $(...).iCheck is not a function
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
4 plugin tags: domain change, url change, domain replace, url replace
domain-replace/domainreplace.php 92% from 13 tests
Analyzing the main PHP file in "Domain Replace" version 1.3.8
Please take the time to fix the following:
- Main file name: It is recommended to name the main PHP file as the plugin slug ("domain-replace.php" instead of "domainreplace.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
Good job! No executable or dangerous file extensions detected16,481 lines of code in 89 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
CSS | 54 | 832 | 300 | 9,556 |
JavaScript | 4 | 548 | 932 | 2,728 |
Sass | 13 | 26 | 24 | 1,352 |
LESS | 13 | 26 | 33 | 1,343 |
PHP | 4 | 241 | 72 | 937 |
SVG | 1 | 0 | 0 | 565 |
PHP code Passed 2 tests
Analyzing cyclomatic complexity and code structure
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.45 |
Average class complexity | 31.00 |
▷ Minimum class complexity | 3.00 |
▷ Maximum class complexity | 59.00 |
Average method complexity | 3.61 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 15.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 2 | |
▷ Abstract classes | 1 | 50.00% |
▷ Concrete classes | 1 | 50.00% |
▷ Final classes | 0 | 0.00% |
Methods | 23 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 18 | 78.26% |
▷ Protected methods | 5 | 21.74% |
▷ Private methods | 0 | 0.00% |
Functions | 12 | |
▷ Named functions | 12 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 9 | |
▷ Global constants | 9 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
66 compressed PNG files occupy 0.16MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
duogeek/inc/icheck/skins/minimal/aero@2x.png | 1.38KB | 2.66KB | 0.00% |
duogeek/inc/icheck/skins/square/aero.png | 2.12KB | 1.83KB | ▼ 13.71% |
duogeek/inc/icheck/skins/square/blue@2x.png | 4.38KB | 3.04KB | ▼ 30.61% |
duogeek/inc/icheck/skins/flat/orange.png | 1.48KB | 1.66KB | 0.00% |
duogeek/inc/icheck/skins/square/aero@2x.png | 4.35KB | 3.07KB | ▼ 29.45% |