WP Manifestindependent plugin directory
manifest / privacy / robotstxt-telemetry

Telemetry disabler (by ROBOTSTXT) git.robotstxt.es

Reduces the telemetry WordPress sends out and logs every outbound HTTP request, so your site shares less and you can see everything.

by ROBOTSTXT · git.robotstxt.es/robotstxt/robotstxt-telemetry · website

0stars
109release downloads
0forks

Install

The author publishes release zips, so WP-CLI can install straight from git.robotstxt.es:

wp plugin install https://git.robotstxt.es/robotstxt/robotstxt-telemetry/releases/download/1.1.5/robotstxt-telemetry-1.1.5.zip

Declares an update source (https://www.robotstxt.software/plugins/robotstxt-telemetry/), so updates arrive through the plugin's own updater.

Readme

=== Telemetry disabler (by ROBOTSTXT) === Contributors: robotstxt, javiercasares Tags: telemetry, privacy, http, requests, logging Requires at least: 4.0 Tested up to: 7.1 Stable tag: 1.1.5 Requires PHP: 5.6 Version: 1.1.5 License: GPL-3.0-or-later License URI: https://www.gnu.org/licenses/gpl-3.0.txt

Reduces the telemetry WordPress sends out and logs every outbound HTTP request, so your site shares less and you can see everything.

== Description ==

A WordPress site talks to the outside world all the time: update checks for core, plugins and themes, and every HTTP call made by the ecosystem around them. Each of those calls can expose details about your site: its URL, versions, active plugins and themes, database server, PHP extensions, and more.

Telemetry disabler (by ROBOTSTXT) gives you control over that conversation in two ways: it sends less, and it shows you everything.

= Send less =

The three WordPress.org update checks run in "Safe" mode by default, meaning they only send the minimum data required to keep receiving updates:

  • Core version check (api.wordpress.org/core/version-check/): only the WordPress version, PHP version, locale, normalized MySQL/MariaDB version (for example "11.8.8-MariaDB", without distribution or logging suffixes), and update channel. Site counts, database history, PHP extensions and platform details are removed, the site-identifying wp_install/wp_blog headers are stripped, and translation payloads are reduced to their revision date.
  • Themes version check (api.wordpress.org/themes/update-check/): each theme is reported with only its name, version, update URI, template and stylesheet; translations are reduced to their revision date, plus the site locale.
  • Plugins version check (api.wordpress.org/plugins/update-check/): each plugin is reported with only its version, update URI and requirements (WordPress, PHP, dependent plugins); translations are reduced to their revision date, plus the locale and the "all" flag.
  • Update URIs pointing at wordpress.org are kept as-is (they are public slugs); update URIs hosted anywhere else are replaced with a deterministic hash, so external plugin and theme sources are not disclosed.

Each check can be switched back to "Original" in the Settings screen to send exactly what WordPress would send without this plugin.

The dashboard services can also be redirected (all enabled by default): the Events and News widget reads WordPress Planet by Fair instead of WordPress News, the events list comes from WordPress Events by The WP World instead of the WordPress.org Events API (sending the same request data), and the Browse Happy browser check is disabled and always reports the browser as compatible, so no browser nag is shown.

Outbound requests normally identify the site in the User-Agent header (for example "WordPress/6.9; https://example.com/"). The "Outbound requests" setting controls what is sent: the site URL ("Send your URL"), a fixed hash so the site is no longer identifiable while remaining consistent across requests ("Send a hash", default), or no identifier at all ("Do not send anything").

The reported WordPress version is also configurable: the "WordPress version" setting sends the actual version (default), the major version with the rest masked (for example "7.2.n"), or a nulled version ("0.0.0"). The version is masked in the User-Agent only; the version query parameters of the update and information APIs always send the real version, so updates keep working.

The installation language can also be hidden: with the "Send en_US as the language of outbound requests" setting (disabled by default), every request to WordPress.org reports English (United States) instead of the real installation language, including the language lists of the update checks and the locale parameters of the core version check, credits, community events, and plugin/theme information APIs. The translation endpoints keep using the real language so installed language packs keep receiving updates.

Beyond WordPress.org itself, the Plugins screen applies the same idea to your other plugins: every installed plugin with a known telemetry behavior can run in "Safe" mode (blocked telemetry endpoints and reduced request data) or "Original" mode (unchanged behavior). See "Plugins screen" below.

= See everything =

Every outbound HTTP request made through the WordPress HTTP API is recorded in the site's own database: request method, full URL, host and path, query parameters, body parameters or raw body, sanitized request headers, user agent, and a caller backtrace summary to know which component triggered the call.

The Logs screen provides a paginated list with filters by method, host and date range, a detailed single-entry view, and nonce-protected delete actions. Entries pointing to api.wordpress.org get a dedicated analysis view that groups environment, extensions, platform, and image support parameters.

= Privacy by default =

  • Sensitive keys (authorization, password, pass, token, secret, api_key, api-key, apikey, nonce, cookie, session, private-key, private_key) are redacted before anything is written to the database.
  • Credentials embedded in URLs are stripped, and query strings are stored redacted.
  • Payloads are truncated (64 KB per JSON blob, 64 KB raw body, 16 KB caller trace).
  • Log retention is configurable (12 hours by default, 1 day, or 3 days), a maximum of 1000 entries is always enforced, and the cleanup runs when browsing the logs and twice a day automatically.
  • Logs are only accessible to administrators (manage_options).
  • No data ever leaves the site; logs are stored in the site's own database.

On Multisite, the network administrator chooses between two modes in Network Admin → Telemetry: "Per-site" (default), where every site keeps its own settings and its own log table managed by each site administrator, or "Global", where one shared configuration and one central log table (on the main site) collect the outbound requests of the whole network, managed from the Network Admin only.

Updates for this plugin are delivered through the Manager (by ROBOTSTXT) plugin. If the Manager is not active, the plugin shows a dismissible reminder in the plugins list and a permanent notice on its Settings screen.

== Using the plugin ==

= Logs =

Navigate to Telemetry → Logs. Use the method, host and date filters to narrow the list, then click View on any entry to see its full details, or Delete to remove it. The Delete all logs button requires a second confirmation before permanently removing every entry.

= Settings =

Navigate to Telemetry → Settings. The screen is organized in native WordPress tabs: Settings (privacy controls), Hidden plugins (WordPress.org update-check exclusion), Logs (log retention), and General (uninstall behavior); each tab saves independently.

= Settings tab =

The three WordPress.org update checks (Core, Themes, Plugins) can run in "Safe" mode (default, limited data) or "Original" mode (unchanged WordPress behavior). "Outbound requests" controls the site identifier in the User-Agent: Send your URL, Send a hash (default), or Do not send anything. "WordPress version" controls the reported version: Actual version (default), Major version (for example "7.2.n"), or Nulled version ("0.0.0"). "Send en_US as the language of outbound requests" (disabled by default) hides the installation language from WordPress.org requests, except the translation endpoints. The dashboard services section controls the WordPress News feed replacement (enabled by default), the WordPress Events replacement (enabled by default), and the browser check disable (enabled by default).

= Hidden plugins tab =

Every installed plugin is listed in a table with its status, name, and version. Checked plugins are never sent to WordPress.org: they are excluded from the plugin update check (including their translations and the active list), which also means they will not receive update notifications from WordPress.org. All plugins are unchecked by default, except this one, which is always hidden. Keeping external or private plugins (those not hosted on WordPress.org) checked is recommended, since they do not receive WordPress.org updates anyway.

= Logs tab =

"Log retention" controls how long entries are kept (12 hours by default, 1 day, or 3 days).

= General tab =

The "Delete all telemetry logs and plugin options on uninstall" checkbox controls the uninstall behavior: unchecked by default, so all telemetry data is preserved when the plugin is removed. When the Manager (by ROBOTSTXT) plugin is not active, a permanent notice about updates is shown on this screen.

= Plugins screen =

Navigate to Telemetry → Plugins. Every installed plugin with a known telemetry behavior is listed in a table showing the Safe Mode checkbox, the plugin name, the installed version, the version the Safe profile was tested against, and the description. With the Safe Mode checkbox checked (default), the telemetry endpoints of that plugin are blocked (usage trackers, analytics, feedback surveys) and its environment data (WordPress version, PHP version, locale, plugin and theme lists, server details, site URL where it is not required) is removed from the requests, keeping only what the service needs to work (license keys, account identifiers, the data of the feature you are using). Each row explains exactly what is truncated and what is kept. Unchecking the box restores the Original behavior. Requests are attributed to the plugin that issues them, so shared hosts (api.wordpress.org, public-api.wordpress.com) never affect other plugins.

= Multisite =

Navigate to Network Admin → Telemetry. The "Configuration mode" setting controls how the plugin runs: "Per-site" (default) lets every site manage its own Settings and Logs screens, while "Global" centralizes the configuration and the logs of the whole network on the main site, managed from the Network Admin only. When switching to Global, the network settings start from the main site values.

== Extra Configurations ==

This plugin does not require any define() in wp-config.php.

== Installation ==

= Automatic download =

Visit the plugin section in your WordPress, search for "Telemetry disabler (by ROBOTSTXT)"; download and install the plugin.

= Manual download =

Extract the contents of the ZIP and upload the contents to the /wp-content/plugins/robotstxt-telemetry/ directory. Once uploaded, it will appear in your plugin list.

== Frequently Asked Questions ==

= Does the plugin stop WordPress updates from working? =

No. Safe mode keeps the minimum data the WordPress.org APIs need to deliver updates: what you have installed and at which version. Everything else (site counts, environment details, site-identifying headers, translation metadata) is removed.

= What is the difference between "Safe" and "Original" modes? =

"Safe" (default) sends only the minimum data required to keep receiving updates. "Original" sends exactly what WordPress would send without this plugin. You can switch each of the Core, Themes and Plugins checks independently.

= How does the plugin work on Multisite? =

By default every site manages its own settings and logs ("Per-site" mode). A super administrator can switch the network to "Global" mode in Network Admin → Telemetry: one shared configuration and one central log table on the main site then cover the whole network, and the per-site Telemetry screens are replaced by the Network Admin ones.

= Does the plugin send any data anywhere? =

No. The plugin only records outbound HTTP requests in the site's own database for local inspection, and reduces what WordPress sends to third parties. Nothing is transmitted by the plugin itself.

= Where is the data stored? =

In a custom database table ({$wpdb->prefix}robotstxt_telemetry_logs) created on activation, using the WordPress database API.

= What happens to my logs when I uninstall the plugin? =

By default all logs are preserved. If you want a full cleanup, enable "Delete all telemetry logs and plugin options on uninstall" in Telemetry → Settings before uninstalling.

= How do I get updates? =

Install and activate the Manager (by ROBOTSTXT) plugin, which handles updates for ROBOTSTXT plugins.

== Compatibility ==

  • WordPress: 4.0 - 7.1
  • PHP: 5.6 - 8.5
  • MariaDB: 10.6+
  • Multisite: compatible (Per-site and Global modes)

On WordPress versions older than 5.1, the Core update check Safe mode cannot reduce the query arguments (the needed hook does not exist in those versions); the site-identifying headers and the translations payload are still reduced.

== Changelog ==

Only the 3 last versions. The full changelog will be at changelog.txt

= 1.1.5 =

  • Changed: Manager (by ROBOTSTXT) detection uses the ecosystem presence constant ROBOTSTXT_MANAGER_NOTICED (Manager 1.6.2+) instead of scanning the installed-plugin list on every check; the plugin-list scan is kept as a fallback for older Manager versions and now also matches single-file Manager installs by basename

= 1.1.4 =

  • Security and compatibility review of the 1.1.3 code base: PHPStan level 9 with the WordPress stubs introduced (and every finding fixed), WordPress Coding Standards fixes applied across all files, and the real compatibility floors re-verified (WordPress 4.0 - 7.1, PHP 5.6 - 8.5)

= 1.1.3 =

  • Security and compatibility review of the 1.1.2 tab-scoped settings save: nonce and capability checks, tab whitelisting, option-name whitelisting, per-value sanitization, and redirect hardening all verified; no changes needed

= Previous versions =

If you want to see the full changelog, visit the [changelog.txt](https://www.robotstxt.software/plu

Read the full README on git.robotstxt.es →

Releases

TagPublishedAssetDownloads
1.1.5 Aug 24, 2026 robotstxt-telemetry-1.1.5.zip 105
1.1.4 Aug 20, 2026 robotstxt-telemetry-1.1.4.zip 1
1.1.1 Aug 18, 2026 robotstxt-telemetry-1.1.1.zip 2
1.0.1 Aug 18, 2026 robotstxt-telemetry-1.0.1.zip 1
1.0.0 Aug 18, 2026 robotstxt-telemetry-1.0.0.zip 0
0.6.3 Aug 18, 2026 robotstxt-telemetry-0.6.3.zip 0
0.6.2 Aug 18, 2026 robotstxt-telemetry-0.6.2.zip 0
0.6.1 Aug 18, 2026 robotstxt-telemetry-0.6.1.zip 0
0.2.0 Aug 18, 2026 robotstxt-telemetry-0.2.0.zip 0