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: ▲4.04MB] [CPU: ▲20.15ms] Passed 4 tests
An overview of server-side resources used by eTranslation Multilingual
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 7.45 ▲3.98 | 53.40 ▲13.50 |
Dashboard /wp-admin | 7.38 ▲4.04 | 73.69 ▲14.05 |
Posts /wp-admin/edit.php | 7.43 ▲4.07 | 72.75 ▲24.31 |
Add New Post /wp-admin/post-new.php | 9.97 ▲4.09 | 125.26 ▲31.60 |
Media Library /wp-admin/upload.php | 7.30 ▲4.07 | 66.33 ▲28.74 |
ETMHidden /wp-admin/admin.php?page=etm_update_database | 7.27 | 61.13 |
eTranslation Multilingual /wp-admin/options-general.php?page=etranslation-multilingual | 7.08 | 48.97 |
ETMHidden /wp-admin/admin.php?page=etm_advanced_page | 7.33 | 73.29 |
ETMHidden /wp-admin/admin.php?page=etm_test_machine_api | 7.30 | 437.54 |
ETMHidden /wp-admin/admin.php?page=etm_machine_translation | 7.33 | 61.37 |
ETMHidden /wp-admin/admin.php?page=etm_error_manager | 7.28 | 53.80 |
ETMHidden /wp-admin/admin.php?page=etm_remove_duplicate_rows | 7.28 | 60.79 |
Server storage [IO: ▲4.70MB] [DB: ▲0.06MB] 67% from 3 tests
How much does this plugin use your filesystem and database?
Please try to fix the following items
- Illegal file modification found: 1 file (0.12KB) outside of "wp-content/plugins/etranslation-multilingual/" and "wp-content/uploads/"
- (new file) wp-content/debug.log
Filesystem: 308 new files
Database: 4 new tables, 10 new options
New tables |
---|
wp_etm_etranslation_jobs |
wp_etm_gettext_original_meta |
wp_etm_gettext_original_strings |
wp_etm_gettext_en_gb |
New WordPress options |
---|
widget_recent-comments |
etm_show_error_db_message |
theysaidso_admin_options |
etm_plugin_version |
widget_theysaidso_widget |
db_upgraded |
etm_settings |
etm_db_stored_data |
widget_recent-posts |
can_compress_scripts |
Browser metrics Passed 4 tests
Checking browser requirements for eTranslation Multilingual
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,854 ▲108 | 13.30 ▼1.07 | 1.68 ▼0.27 | 37.73 ▼9.02 |
Dashboard /wp-admin | 2,230 ▲39 | 6.02 ▲1.14 | 95.94 ▼8.45 | 36.66 ▼6.39 |
Posts /wp-admin/edit.php | 2,110 ▲21 | 2.01 ▼0.00 | 36.37 ▼4.09 | 36.59 ▼0.77 |
Add New Post /wp-admin/post-new.php | 1,576 ▲48 | 22.88 ▲4.82 | 664.90 ▲53.23 | 63.11 ▲9.76 |
Media Library /wp-admin/upload.php | 1,412 ▲27 | 4.20 ▼0.09 | 95.63 ▼3.79 | 41.45 ▼3.14 |
ETMHidden /wp-admin/admin.php?page=etm_update_database | 811 | 1.74 | 32.66 | 28.26 |
eTranslation Multilingual /wp-admin/options-general.php?page=etranslation-multilingual | 1,155 | 2.18 | 39.18 | 22.27 |
ETMHidden /wp-admin/admin.php?page=etm_advanced_page | 1,783 | 2.16 | 37.56 | 33.62 |
ETMHidden /wp-admin/admin.php?page=etm_test_machine_api | 859 | 2.04 | 21.92 | 35.53 |
ETMHidden /wp-admin/admin.php?page=etm_machine_translation | 1,149 | 2.10 | 26.62 | 23.94 |
ETMHidden /wp-admin/admin.php?page=etm_error_manager | 826 | 2.17 | 22.09 | 27.65 |
ETMHidden /wp-admin/admin.php?page=etm_remove_duplicate_rows | 902 | 2.03 | 22.21 | 28.48 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.06MB] 50% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
You still need to fix the following
- Zombie tables were found after uninstall: 4 tables
- wp_etm_gettext_original_strings
- wp_etm_gettext_en_gb
- wp_etm_etranslation_jobs
- wp_etm_gettext_original_meta
- The uninstall procedure has failed, leaving 10 options in the database
- widget_recent-comments
- etm_plugin_version
- theysaidso_admin_options
- widget_theysaidso_widget
- can_compress_scripts
- etm_show_error_db_message
- widget_recent-posts
- etm_db_stored_data
- db_upgraded
- etm_settings
Smoke tests 75% 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 50% 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
- 48× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/etranslation-multilingual/includes/advanced-settings/custom-date-format.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/etranslation-multilingual/includes/advanced-settings/regular-tab-string-translation.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/etranslation-multilingual/includes/advanced-settings/strip-gettext-post-content.php:2
- > PHP Fatal error
Uncaught Error: Class 'WP_Query' not found in wp-content/plugins/etranslation-multilingual/includes/class-search.php:9
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/etranslation-multilingual/partials/etm-update-database.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/etranslation-multilingual/includes/advanced-settings/enable-numerals-translation.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/etranslation-multilingual/includes/advanced-settings/disable-gettext-strings.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/etranslation-multilingual/includes/advanced-settings/separators.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/etranslation-multilingual/includes/advanced-settings/fix-broken-html.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/etranslation-multilingual/partials/main-settings-language-selector.php:2
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine on the user side
Optimizations
Plugin configuration 93% from 29 tests
readme.txt Passed 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
10 plugin tags: bilingual, eu, automatic translation, multilingual, europe...
etranslation-multilingual/index.php 85% from 13 tests
The main file in "eTranslation Multilingual" v. 1.0.0 serves as a complement to information provided in readme.txt and as the entry point to the plugin
It is important to fix the following:
- Main file name: It is recommended to name the main PHP file as the plugin slug ("etranslation-multilingual.php" instead of "index.php")
- Requires at least: The required version number did not match the one declared in readme.txt ("3.1.0" instead of "2.5.0")
Code Analysis 97% from 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
Everything looks great! No dangerous files found in this plugin29,574 lines of code in 166 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 92 | 3,498 | 4,946 | 17,775 |
JavaScript | 62 | 2,587 | 786 | 10,192 |
CSS | 8 | 220 | 31 | 1,191 |
SVG | 2 | 0 | 1 | 298 |
Markdown | 2 | 24 | 0 | 118 |
PHP code 50% from 2 tests
An overview of cyclomatic complexity and code structure
These items need your attention
- Method cyclomatic complexity should be reduced to less than 100 (currently 152)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.46 |
Average class complexity | 54.83 |
▷ Minimum class complexity | 4.00 |
▷ Maximum class complexity | 376.00 |
Average method complexity | 4.78 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 152.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 48 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 48 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 682 | |
▷ Static methods | 19 | 2.79% |
▷ Public methods | 607 | 89.00% |
▷ Protected methods | 35 | 5.13% |
▷ Private methods | 40 | 5.87% |
Functions | 270 | |
▷ Named functions | 263 | 97.41% |
▷ Anonymous functions | 7 | 2.59% |
Constants | 53 | |
▷ Global constants | 45 | 84.91% |
▷ Class constants | 8 | 15.09% |
▷ Public constants | 8 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
131 compressed PNG files occupy 0.24MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/edit-icon.png | 1.57KB | 1.34KB | ▼ 14.26% |
assets/images/flags/sq.png | 0.47KB | 0.42KB | ▼ 9.43% |
assets/images/flags/lt_LT.png | 0.25KB | 0.18KB | ▼ 25.50% |
assets/images/flags/hr.png | 0.40KB | 0.34KB | ▼ 13.30% |
assets/images/flags/tt_RU.png | 0.44KB | 0.40KB | ▼ 9.69% |