Disable XML-RPC-API

A simple and lightweight plugin to disable XML-RPC API, X-Pingback and pingback-ping in WordPress 3.5+ for a faster and more secure website

v2.1.7Amin NazemiUpdated 2026-02-04Added Oct 1, 2020100k+ installs84% rating
35
Score
444
Errors
52
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance98
Maintainability55

Top Issues by Category

security230
i18n223
maintainability37
performance1

Issues Details

496 issues found in latest scan

ERROR219
WordPress.WP.I18n.TextDomainMismatch

Mismatched text domain. Expected 'disable-xml-rpc-api' but got 'SKELET'.

ERROR208
WordPress.Security.EscapeOutput.OutputNotEscaped

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

WARNING7
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound

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

WARNING6
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound

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

WARNING6
WordPress.Security.ValidatedSanitizedInput.InputNotSanitized

Detected usage of a non-sanitized input variable: $_POST['data']

WARNING6
WordPress.Security.ValidatedSanitizedInput.MissingUnslash

$_POST['data'] not unslashed before sanitization. Use wp_unslash() or similar

ERROR5
PluginCheck.CodeAnalysis.EnqueuedResourceOffloading.OffloadedContent

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

WARNING4
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound

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

WARNING4
WordPress.Security.NonceVerification.Missing

Processing form data without nonce verification.

WARNING4
WordPress.Security.NonceVerification.Recommended

Processing form data without nonce verification.

WARNING3
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound

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

WARNING2
WordPress.Security.ValidatedSanitizedInput.InputNotValidated

Detected usage of a possibly undefined superglobal array index: $_SERVER['HTTP_HOST']. Check that the array index exists before using it.

ERROR2
WordPress.WP.AlternativeFunctions.file_system_operations_chmod

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: chmod().

ERROR2
WordPress.WP.AlternativeFunctions.file_system_operations_is_writable

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: is_writable().

WARNING2
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.

WARNING2
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.

WARNING1
PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFound

Namespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "dsxmlrpc".

WARNING1
WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound

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

WARNING1
WordPress.PHP.DevelopmentFunctions.prevent_path_disclosure_error_reporting

error_reporting() can lead to full path disclosure.

ERROR1
WordPress.WP.EnqueuedResourceParameters.NoExplicitVersion

Version parameter is not explicitly set or has been set to an equivalent of "false" for wp_enqueue_script; This means that the WordPress core version will be used which is not recommended for plugin or theme development.

ERROR1
WordPress.WP.I18n.MissingArgDomain

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

ERROR1
WordPress.WP.I18n.MissingTranslatorsComment

A function call to esc_html__() 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.

ERROR1
WordPress.WP.I18n.NonSingularStringLiteralText

The $text parameter must be a single text string literal. Found: 'No feed available,please visit our <a href="' . get_bloginfo('url') . '">homepage</a>!'

WARNING1
WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude

Using exclusionary parameters, like exclude, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.

Latest Snapshot

Findings

496

Errors

444

Warnings

52

Score History

First score snapshot

First scan completed Jun 20, 2026

v2.1.7 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2

Jun 20, 2026

v2.1.7

35

Latest

Findings
496
Errors
444
Warnings
52
Plugin Check
2.0.0
Model
2026.06-mvp-static-v2

Related Plugins