Benchmarks
Plugin footprint 82% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.25MB] [CPU: ▼0.60ms] Passed 4 tests
A check of server-side resources used by Duplicator - WordPress Migration & Backup Plugin
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.59 ▲0.13 | 37.62 ▼0.03 |
Dashboard /wp-admin | 3.59 ▲0.29 | 54.74 ▲4.21 |
Posts /wp-admin/edit.php | 3.64 ▲0.28 | 54.80 ▲9.54 |
Add New Post /wp-admin/post-new.php | 6.18 ▲0.29 | 88.33 ▼13.04 |
Media Library /wp-admin/upload.php | 3.51 ▲0.28 | 39.30 ▲6.47 |
About Us /wp-admin/admin.php?page=duplicator-about-us | 3.67 | 41.20 |
Import /wp-admin/admin.php?page=duplicator-import | 3.50 | 35.37 |
Schedules NEW! /wp-admin/admin.php?page=duplicator-schedules | 3.49 | 35.36 |
Storage /wp-admin/admin.php?page=duplicator-storage | 3.50 | 31.69 |
Welcome to Duplicator /wp-admin/index.php?page=duplicator-getting-started | 3.51 | 46.13 |
Packages /wp-admin/admin.php?page=duplicator | 3.67 | 37.71 |
Tools /wp-admin/admin.php?page=duplicator-tools | 3.70 | 152.15 |
Settings /wp-admin/admin.php?page=duplicator-settings | 3.58 | 37.38 |
Server storage [IO: ▲7.84MB] [DB: ▲0.00MB] 67% from 3 tests
Analyzing filesystem and database footprints of this plugin
Just a few items left to fix
- You have illegally modified 4 files (0.42KB) outside of "wp-content/plugins/duplicator/" and "wp-content/uploads/"
- (new file) wp-content/backups-dup-lite/tmp/index.php
- (new file) wp-content/backups-dup-lite/.htaccess
- (new file) wp-content/backups-dup-lite/robots.txt
- (new file) wp-content/backups-dup-lite/index.php
Filesystem: 895 new files
Database: 1 new table, 12 new options
New tables |
---|
wp_duplicator_packages |
New WordPress options |
---|
duplicator_plugin_data_stats |
widget_theysaidso_widget |
duplicator_uninstall_package |
db_upgraded |
can_compress_scripts |
widget_recent-posts |
theysaidso_admin_options |
widget_recent-comments |
duplicator_uninstall_settings |
duplicator_settings |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Duplicator - WordPress Migration & Backup Plugin
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,008 ▲246 | 14.72 ▲0.38 | 1.74 ▲0.06 | 54.83 ▲8.90 |
Dashboard /wp-admin | 2,417 ▲240 | 5.79 ▲0.17 | 94.98 ▼4.15 | 61.63 ▲17.43 |
Posts /wp-admin/edit.php | 2,210 ▲110 | 2.07 ▲0.09 | 38.30 ▲1.31 | 50.96 ▲15.65 |
Add New Post /wp-admin/post-new.php | 1,582 ▲46 | 23.07 ▲0.07 | 675.52 ▲68.23 | 51.52 ▲1.13 |
Media Library /wp-admin/upload.php | 1,492 ▲92 | 4.17 ▼0.05 | 101.04 ▲4.08 | 58.47 ▲15.11 |
About Us /wp-admin/admin.php?page=duplicator-about-us | 1,688 | 2.06 | 36.40 | 70.69 |
Import /wp-admin/admin.php?page=duplicator-import | 1,332 | 2.21 | 37.07 | 84.86 |
Schedules NEW! /wp-admin/admin.php?page=duplicator-schedules | 1,578 | 2.20 | 33.15 | 59.62 |
Storage /wp-admin/admin.php?page=duplicator-storage | 1,677 | 2.22 | 35.34 | 42.69 |
Welcome to Duplicator /wp-admin/index.php?page=duplicator-getting-started | 1,449 | 2.07 | 31.19 | 61.06 |
Packages /wp-admin/admin.php?page=duplicator | 1,386 | 2.50 | 60.14 | 64.32 |
Tools /wp-admin/admin.php?page=duplicator-tools | 7,182 | 2.82 | 194.86 | 42.80 |
Settings /wp-admin/admin.php?page=duplicator-settings | 1,568 | 3.10 | 63.53 | 54.13 |
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
- This plugin did not uninstall successfully, leaving 6 options in the database
- widget_recent-comments
- can_compress_scripts
- db_upgraded
- widget_theysaidso_widget
- theysaidso_admin_options
- widget_recent-posts
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
These server-side errors were triggered
- > GET request to /wp-admin/admin.php?page=duplicator-storage
- > Notice in wp-content/plugins/duplicator/template/mocks/storage/storage.php+160
Undefined index: utm_medium
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
Almost there! Just fix the following items
- 1× PHP files output text when accessed directly:
- > /wp-content/plugins/duplicator/installer/dup-installer/index.php
- 109× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Requests_Exception_HTTP' not found in wp-content/plugins/duplicator/vendor/requests/library/Requests/Exception/HTTP/401.php:13
- > PHP Fatal error
Uncaught Error: Class 'Requests_Utility_CaseInsensitiveDictionary' not found in wp-content/plugins/duplicator/vendor/requests/library/Requests/Response/Headers.php:13
- > PHP Fatal error
Uncaught Error: Class 'Duplicator\\Libs\\Snap\\JsonSerialize\\AbstractJsonSerializable' not found in wp-content/plugins/duplicator/installer/dup-installer/src/Core/Deploy/Files/Filters.php:11
- > PHP Fatal error
Uncaught Error: Class 'Duplicator\\Ajax\\AbstractAjaxService' not found in wp-content/plugins/duplicator/src/Ajax/ServicesDashboard.php:14
- > PHP Fatal error
Uncaught Error: Class 'Requests_Exception_HTTP' not found in wp-content/plugins/duplicator/vendor/requests/library/Requests/Exception/HTTP/405.php:13
- > PHP Fatal error
Uncaught Error: Class 'Requests_Exception_HTTP' not found in wp-content/plugins/duplicator/vendor/requests/library/Requests/Exception/HTTP/418.php:15
- > PHP Fatal error
Uncaught Error: Class 'Duplicator\\Ajax\\AbstractAjaxService' not found in wp-content/plugins/duplicator/src/Ajax/ServicesEducation.php:18
- > PHP Fatal error
Uncaught Error: Class 'Duplicator\\Libs\\DupArchive\\Headers\\DupArchiveReaderFileHeader' not found in wp-content/plugins/duplicator/src/Libs/DupArchive/Headers/DupArchiveFileHeader.php:17
- > PHP Fatal error
Uncaught Error: Class 'Requests_Exception_HTTP' not found in wp-content/plugins/duplicator/vendor/requests/library/Requests/Exception/HTTP/402.php:13
- > PHP Fatal error
require_once(): Failed opening required 'ABSPATHwp-admin/includes/class-wp-upgrader.php' (include_path='.:/usr/share/php') in wp-content/plugins/duplicator/src/Libs/OneClickUpgrade/PluginSilentUpgrader.php on line 15
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser issues were found
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 88% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
Attributes that require attention:
- Tags: There are too many tags (11 tag instead of maximum 10)
- Screenshots: Screenshot #1 (Main Interface for all Packages) image missing
duplicator/duplicator.php Passed 13 tests
The principal PHP file in "Duplicator - WordPress Migration & Backup Plugin" v. 1.5.7.1 is loaded by WordPress automatically on each request
127 characters long description:
Migrate and backup a copy of your WordPress files and database. Duplicate and move a site from one location to another quickly.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
No dangerous file extensions were detected96,641 lines of code in 767 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 631 | 11,200 | 23,455 | 72,974 |
JavaScript | 79 | 3,415 | 1,220 | 14,150 |
CSS | 19 | 677 | 185 | 3,315 |
PO File | 1 | 1,178 | 1,331 | 3,271 |
Smarty | 1 | 209 | 439 | 1,450 |
Markdown | 3 | 185 | 0 | 725 |
SVG | 30 | 8 | 2 | 707 |
HTML | 1 | 3 | 3 | 21 |
JSON | 1 | 0 | 0 | 19 |
XML | 1 | 0 | 0 | 9 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.38 |
Average class complexity | 19.70 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 260.00 |
Average method complexity | 3.57 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 49.00 |
Code structure | ||
---|---|---|
Namespaces | 38 | |
Interfaces | 11 | |
Traits | 0 | |
Classes | 358 | |
▷ Abstract classes | 14 | 3.91% |
▷ Concrete classes | 344 | 96.09% |
▷ Final classes | 39 | 11.34% |
Methods | 2,658 | |
▷ Static methods | 1,294 | 48.68% |
▷ Public methods | 1,978 | 74.42% |
▷ Protected methods | 483 | 18.17% |
▷ Private methods | 197 | 7.41% |
Functions | 149 | |
▷ Named functions | 22 | 14.77% |
▷ Anonymous functions | 127 | 85.23% |
Constants | 865 | |
▷ Global constants | 111 | 12.83% |
▷ Class constants | 754 | 87.17% |
▷ Public constants | 754 | 100.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
55 PNG files occupy 0.41MB with 0.10MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/css/images/ui-bg_glass_75_dadada_1x400.png | 0.11KB | 0.16KB | 0.00% |
assets/img/about/plugin-affwp.png | 1.18KB | 1.27KB | 0.00% |
installer/dup-installer/assets/images/ui-bg_glass_95_fef1ec_1x400.png | 0.32KB | 0.15KB | ▼ 54.82% |
assets/css/images/ui-bg_glass_65_ffffff_1x400.png | 0.10KB | 0.10KB | ▼ 5.71% |
installer/dup-installer/favicon/pro01_mstile-150x150.png | 16.64KB | 6.15KB | ▼ 63.01% |