Benchmarks
Plugin footprint 63% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Install script ran successfully
Server metrics [RAM: ▲5.28MB] [CPU: ▲15.49ms] 50% from 4 tests
Analyzing server-side resources used by Backup, Restore and Migrate WordPress Sites With the XCloner Plugin
The following require your attention
- RAM: You should keep total memory usage under 10MB (currently 10.89MB on /wp-admin/admin.php?page=xcloner_init_page)
- Extra RAM: The extra memory usage must be under 5MB (currently 5.28MB on /wp-admin/admin.php?page=xcloner_manage_backups_page)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 7.60 ▲4.14 | 50.71 ▲13.18 |
Dashboard /wp-admin | 8.98 ▲5.68 | 69.31 ▲18.55 |
Posts /wp-admin/edit.php | 9.02 ▲5.66 | 79.01 ▲27.84 |
Add New Post /wp-admin/post-new.php | 11.63 ▲5.74 | 103.50 ▲2.37 |
Media Library /wp-admin/upload.php | 8.86 ▲5.63 | 70.59 ▲36.97 |
Clone Site /wp-admin/admin.php?page=xcloner_clone_site | 8.88 | 59.04 |
Generate Backups /wp-admin/admin.php?page=xcloner_generate_backups_page | 8.90 | 59.99 |
Settings /wp-admin/admin.php?page=xcloner_settings_page | 8.80 | 60.32 |
Schedules & Profiles /wp-admin/admin.php?page=xcloner_scheduled_backups_page | 8.84 | 61.98 |
Restore Site /wp-admin/admin.php?page=xcloner_restore_site | 8.88 | 56.03 |
Dashboard /wp-admin/admin.php?page=xcloner_init_page | 10.89 | 63.59 |
Storage Locations /wp-admin/admin.php?page=xcloner_remote_storage_page | 9.26 | 77.48 |
Manage Backups /wp-admin/admin.php?page=xcloner_manage_backups_page | 8.82 | 57.81 |
Server storage [IO: ▲44.76MB] [DB: ▲0.00MB] 33% from 3 tests
Analyzing filesystem and database footprints of this plugin
It is recommended to fix the following issues
- You have illegally modified 3 files (4.07KB) outside of "wp-content/plugins/xcloner-backup-and-restore/" and "wp-content/uploads/"
- (new file) wp-content/backups-3aE1J/xcloner_main_a3bc5-2023-10-08.log
- (new file) wp-content/backups-3aE1J/xcloner_restore.log
- (new file) wp-content/backups-3aE1J/.xcloner/.empty
- The filesystem usage should be lower than 25MB (currently using 44.76MB)
Filesystem: 8,884 new files
Database: 1 new table, 24 new options
New tables |
---|
wp_xcloner_scheduler |
New WordPress options |
---|
xcloner_encryption_key |
xcloner_store_path |
xcloner_backup_compression_level |
xcloner_database_records_per_request |
xcloner_directories_to_scan_per_request |
xcloner_files_to_process_per_request |
xcloner_force_tmp_path_site_root |
xcloner_enable_log |
xcloner_exclude_files_larger_than_mb |
xcloner_db_version |
... |
Browser metrics Passed 4 tests
Backup, Restore and Migrate WordPress Sites With the XCloner Plugin: an overview of browser usage
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,854 ▲108 | 13.25 ▼1.02 | 1.62 ▼0.39 | 38.80 ▼3.52 |
Dashboard /wp-admin | 2,263 ▲72 | 4.87 ▼0.01 | 97.91 ▼6.40 | 40.40 ▼2.00 |
Posts /wp-admin/edit.php | 2,140 ▲51 | 2.05 ▲0.05 | 39.06 ▼2.44 | 35.40 ▼1.20 |
Add New Post /wp-admin/post-new.php | 1,585 ▲65 | 18.22 ▼4.86 | 614.06 ▼19.91 | 67.42 ▲5.38 |
Media Library /wp-admin/upload.php | 1,439 ▲54 | 4.19 ▼0.04 | 98.67 ▲1.02 | 44.58 ▲1.89 |
Clone Site /wp-admin/admin.php?page=xcloner_clone_site | 1,722 | 3.32 | 58.49 | 37.67 |
Generate Backups /wp-admin/admin.php?page=xcloner_generate_backups_page | 2,463 | 3.29 | 83.59 | 34.61 |
Settings /wp-admin/admin.php?page=xcloner_settings_page | 1,319 | 2.78 | 38.38 | 31.18 |
Schedules & Profiles /wp-admin/admin.php?page=xcloner_scheduled_backups_page | 2,069 | 3.67 | 92.90 | 46.42 |
Restore Site /wp-admin/admin.php?page=xcloner_restore_site | 1,772 | 3.33 | 50.92 | 41.15 |
Dashboard /wp-admin/admin.php?page=xcloner_init_page | 1,328 | 2.74 | 38.32 | 43.89 |
Storage Locations /wp-admin/admin.php?page=xcloner_remote_storage_page | 3,661 | 3.26 | 47.03 | 28.04 |
Manage Backups /wp-admin/admin.php?page=xcloner_manage_backups_page | 1,806 | 3.87 | 77.42 | 42.51 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
- The uninstall procedure failed, leaving 1 table in the database
- wp_xcloner_scheduler
- Zombie WordPress options were found after uninstall: 24 options
- xcloner_database_records_per_request
- xcloner_encryption_key
- xcloner_cleanup_retention_limit_days
- widget_recent-comments
- xcloner_split_backup_limit
- xcloner_exclude_files_larger_than_mb
- xcloner_cleanup_settings_page
- xcloner_cleanup_retention_limit_archives
- xcloner_directories_to_scan_per_request
- xcloner_force_tmp_path_site_root
- ...
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Good news, no errors were detected
SRP 0% 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
Please fix the following
- 14× PHP files perform the task of outputting text when accessed with GET requests (only 10 are shown):
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/sabre/vobject/bin/fetch_windows_zones.php
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/sabre/vobject/bin/generateicalendardata.php
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/mtdowling/jmespath.php/bin/jp.php
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/sabre/dav/bin/migrateto30.php
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/scripts/BumpStableSdkVersion.php
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/symfony/translation/Resources/bin/translation-status.php
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/sabre/dav/bin/migrateto21.php
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/sabre/dav/bin/migrateto20.php
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/sabre/dav/bin/migrateto32.php
- > /wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/scripts/BumpPreviewSdkVersion.php
- 4093× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Beta\\Microsoft\\Graph\\Model\\Entity' not found in wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/src/Beta/Microsoft/Graph/Ediscovery/Model/ReviewSet.php:25
- > PHP Fatal error
Uncaught Error: Class 'Beta\\Microsoft\\Graph\\Model\\Entity' not found in wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/src/Beta/Microsoft/Graph/Model/TeamworkHardwareDetail.php:24
- > PHP Fatal error
Uncaught Error: Class 'Beta\\Microsoft\\Graph\\Model\\Entity' not found in wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/src/Beta/Microsoft/Graph/Model/VulnerabilityState.php:24
- > PHP Fatal error
Uncaught Error: Class 'Beta\\Microsoft\\Graph\\Model\\WindowsKioskAppConfiguration' not found in wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/src/Beta/Microsoft/Graph/Model/WindowsKioskSingleUWPApp.php:24
- > PHP Fatal error
Uncaught Error: Class 'org\\bovigo\\vfs\\content\\SeekableFileContent' not found in wp-content/plugins/xcloner-backup-and-restore/vendor/mikey179/vfsstream/src/main/php/org/bovigo/vfs/content/StringBasedFileContent.php:16
- > PHP Fatal error
Uncaught Error: Class 'Beta\\Microsoft\\Graph\\Model\\Entity' not found in wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/src/Beta/Microsoft/Graph/WindowsUpdates/Model/UserExperienceSettings.php:24
- > PHP Fatal error
Uncaught LogicException: Requested uri (/wp-content/plugins/xcloner-backup-and-restore/vendor/sabre/http/examples/reverseproxy.php) is out of base uri (/reverseproxy.php) in wp-content/plugins/xcloner-backup-and-restore/vendor/sabre/http/lib/Request.php:184
- > PHP Fatal error
Uncaught Error: Class 'Beta\\Microsoft\\Graph\\Model\\Entity' not found in wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/src/Beta/Microsoft/Graph/Model/UserExperienceAnalyticsSettings.php:24
- > PHP Fatal error
Uncaught Error: Class 'Beta\\Microsoft\\Graph\\Model\\Entity' not found in wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/src/Beta/Microsoft/Graph/Model/UserSet.php:24
- > PHP Fatal error
Uncaught Error: Class 'Microsoft\\Graph\\Core\\Enum' not found in wp-content/plugins/xcloner-backup-and-restore/vendor/microsoft/microsoft-graph/src/Model/Status.php:27
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser errors were detected
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
5 plugin tags: backup, cloud backup, wordpress migration, database backup, wordpress backup
xcloner-backup-and-restore/xcloner.php 85% from 13 tests
The principal PHP file in "Backup, Restore and Migrate WordPress Sites With the XCloner Plugin" v. 4.7.0 is loaded by WordPress automatically on each request
It is important to fix the following:
- Description: Keep the plugin description shorter than 140 characters (currently 352 characters long)
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("xcloner-backup-and-restore.php" instead of "xcloner.php")
Code Analysis 3% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
It is important to fix the following items
- Do not include executable or dangerous files in your plugin
- .bat - Batch File in Windows
- ☣ wp-content/plugins/xcloner-backup-and-restore/vendor/nesbot/carbon/bin/carbon.bat
- ☣ wp-content/plugins/xcloner-backup-and-restore/vendor/aws/aws-crt-php/run_tests.bat
- .bat - Batch File in Windows
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 8,306 | 85,544 | 583,820 | 582,448 |
JavaScript | 30 | 4,628 | 8,893 | 28,416 |
JSON | 66 | 13 | 0 | 7,453 |
CSS | 11 | 435 | 90 | 3,431 |
XSD | 3 | 92 | 48 | 2,803 |
PO File | 3 | 742 | 971 | 1,818 |
YAML | 40 | 216 | 134 | 1,221 |
C | 10 | 250 | 89 | 882 |
SVG | 2 | 2 | 3 | 574 |
C/C++ Header | 2 | 105 | 38 | 441 |
XML | 14 | 3 | 0 | 372 |
LESS | 6 | 39 | 24 | 352 |
HTML | 4 | 16 | 2 | 230 |
Python | 2 | 62 | 103 | 223 |
Bourne Shell | 5 | 32 | 26 | 206 |
reStructuredText | 1 | 35 | 29 | 59 |
GLSL | 1 | 17 | 0 | 55 |
m4 | 1 | 4 | 4 | 22 |
Bourne Again Shell | 1 | 5 | 0 | 13 |
diff | 1 | 2 | 12 | 7 |
DOS Batch | 2 | 2 | 0 | 6 |
INI | 2 | 0 | 0 | 3 |
PHP code 50% from 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
The following items need your attention
- Please reduce cyclomatic complexity of methods to less than 100 (currently 140)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.33 |
Average class complexity | 8.63 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 634.00 |
Average method complexity | 1.96 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 140.00 |
Code structure | ||
---|---|---|
Namespaces | 259 | |
Interfaces | 181 | |
Traits | 83 | |
Classes | 7,336 | |
▷ Abstract classes | 75 | 1.02% |
▷ Concrete classes | 7,261 | 98.98% |
▷ Final classes | 55 | 0.76% |
Methods | 60,232 | |
▷ Static methods | 1,282 | 2.13% |
▷ Public methods | 58,358 | 96.89% |
▷ Protected methods | 889 | 1.48% |
▷ Private methods | 985 | 1.64% |
Functions | 1,135 | |
▷ Named functions | 328 | 28.90% |
▷ Anonymous functions | 807 | 71.10% |
Constants | 11,438 | |
▷ Global constants | 40 | 0.35% |
▷ Class constants | 11,398 | 99.65% |
▷ Public constants | 11,386 | 99.89% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
27 PNG files occupy 0.12MB with 0.03MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
vendor/vakata/jstree/src/themes/default-dark/40px.png | 11.22KB | 5.60KB | ▼ 50.12% |
vendor/vakata/jstree/dist/themes/default/40px.png | 2.16KB | 1.84KB | ▼ 15.12% |
vendor/vakata/jstree/dist/themes/default/32px.png | 5.53KB | 2.93KB | ▼ 47.03% |
vendor/vakata/jstree/dist/themes/default-dark/32px.png | 1.49KB | 1.53KB | 0.00% |
admin/assets/file-icon-d.png | 0.26KB | 0.29KB | 0.00% |