Translate WordPress with Weglot – Multilingual AI Translation

Translate WordPress sites with automatic AI translation into 110+ languages. Multilingual SEO, WooCommerce compatible, 110k+ sites.

v5.5Weglot Translate TeamUpdated 2026-05-04Added Sep 27, 201560k+ installs96% rating100% support resolved
35
Score
37
Errors
115
Warnings
+0
Change

Category Scores

Security50
Repo75
Performance100
Maintainability44

Top Issues by Category

maintainability124
security16
i18n7
supply_chain2
repo_compliance1

Issues Details

152 issues found in latest scan

WARNING59
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$button_services".

WARNING16
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "active_plugins".

ERROR11
wp_function_not_compatible_with_requires_wp

Function "register_block_type()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.5.0.

WARNING10
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_GET['_wpnonce'] not unslashed before sanitization. Use wp_unslash() or similar

WARNING9
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "create_block_weglot_menu_block_init".

ERROR6
WordPress.WP.I18n.MissingTranslatorsComment

A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

ERROR4
WordPress.Security.EscapeOutput.ExceptionNotEscaped

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$error_message'.

WARNING4
WordPress.WP.EnqueuedResourceParameters.MissingVersion

Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.

ERROR4
missing_direct_file_access_protection

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNING3
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "DGWT_WCAS_ALTERNATIVE_SEARCH_ENDPOINT".

WARNING3
WordPress.PHP.DevelopmentFunctions.error_log_trigger_error

trigger_error() found. Debug code should not normally be used in production.

WARNING3
WordPress.WP.EnqueuedResourceParameters.NotInFooter

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

WARNING2
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "Context_Weglot".

WARNING2
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

ERROR2
block_api_version_too_low

Editor blocks must define "apiVersion" 3 or higher in block.json for WordPress 7.0+ iframe editor compatibility.

ERROR2
hidden_files

Hidden files are not permitted.

ERROR2
library_core_files

Library files that are already in the WordPress core are not permitted.

ERROR1
Generic.PHP.DisallowShortOpenTag.EchoFound

Short PHP opening tag used with echo; expected "<?php echo esc_js ..." but found "<?= esc_js ..."

ERROR1
PluginCheck.CodeAnalysis.EnqueuedResourceOffloading.OffloadedContent

Found call to wp_enqueue_script() with external resource. Offloading scripts to your servers or any remote service is disallowed.

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$name_filter&quot;.

ERROR1
WordPress.WP.EnqueuedResources.NonEnqueuedScript

Scripts must be registered/enqueued via wp_enqueue_script()

ERROR1
WordPress.WP.I18n.MissingArgDomain

Missing $domain parameter in function call to esc_html_e().

WARNING1
mismatched_plugin_name

Plugin name "Translate WordPress with Weglot - Multilingual AI Translation" is different from the name declared in plugin header "Weglot Translate".

WARNING1
missing_composer_json_file

The &quot;/vendor&quot; directory using composer exists, but &quot;composer.json&quot; file is missing.

ERROR1
outdated_tested_upto_header

Tested up to: 6.9 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.

Latest Snapshot

Findings

152

Errors

37

Warnings

115

Score History

First score snapshot

First scan completed Jun 20, 2026

v5.5 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v5.5

35

Latest

Findings
152
Errors
37
Warnings
115
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins