=== Manager (by ROBOTSTXT) === Contributors: robotstxt, javiercasares Tags: dashboard, catalog, updates, subscriptions, management Requires at least: 4.4 Tested up to: 7.1 Stable tag: 1.9.1 Requires PHP: 8.0 Version: 1.9.1 License: GPL-3.0-or-later License URI: https://www.gnu.org/licenses/gpl-3.0.txt Client-side dashboard for the ROBOTSTXT plugin ecosystem. Browse the catalog, see what's installed, and spot subscription issues — all from your own wp-admin. == Description == Manager (by ROBOTSTXT) is a WordPress plugin that customers install on **their own** site. It connects to a remote Plugins Core installation (via REST API + account-level API key) and provides a single dashboard for the ROBOTSTXT plugin ecosystem: * Lists the full plugin catalog with name, type (free/premium), price, and current version. * For each catalog entry, shows the **local install state**: not installed, installed (inactive), up to date, or update available. * Click a plugin's row to expand its description and a link to its website on the store. * One-click actions: Install, Activate, and Update run on a classic page load with a standard admin notice (green/red) reporting the outcome; Buy redirects to checkout on the store site. * Subscription health dashboard (Phase 4+): license expiring soon, payment failed, expired — surfaced as admin notices so issues are visible before updates silently stop. This plugin does **not** re-implement the per-plugin update mechanism. Every ROBOTSTXT plugin bundles its own copy of the `Robotstxt_Core_Plugin_Updater` SDK, so updates keep working even if Manager is deactivated. Manager's value is visibility and one place to click. **Requires Core 1.4.2+** on the store for descriptions in the catalog list (older Core versions still work; rows simply show no description). == Using the plugin == = Settings = Configure at **ROBOTSTXT → Settings**: * **Store URL** — Base URL of the remote Plugins Core installation (defaults to `https://www.robotstxt.software`). * **API Key** — Account-level API key issued by the ROBOTSTXT store. Encrypted before storage; masked in the UI (last 4 characters shown). Use the "Test connection" button to verify connectivity. * **Catalog Cache (minutes)** — How long the catalog response is cached in a transient. Default: 60 minutes. * **Data on Uninstall** — Opt-in checkbox. When enabled, all Manager options and transients are deleted on uninstall. Default: off. = Main screen = **ROBOTSTXT → Plugins** shows the catalog table: | Column | Description | |---|---| | Plugin | Name from the store. The row below each plugin carries its website link and description (always visible). | | Version | Current version in the store. | | Requires WP / Requires PHP | Minimum requirements, checked against this site (warning icon when not met). | | Price | "Free", or the annual price for premium plugins. | | Action | Install / Activate / Update / Buy, depending on local state. | | Status | Not installed / Installed (inactive) / Up to date / Update available (vX → vY). | Below the table: a Support section and an explanation of Payments (annual subscriptions, automatic renewal, cancellation, Mollie processing). Click "Refresh catalog" to force a fresh fetch from Core. Install, Activate, and Update run on a classic page load (no JavaScript) and report the result as a standard admin notice. == Extra Configurations == No extra `define()` constants are required in `wp-config.php`. All configuration is done via the Settings page in wp-admin. == Installation == = Automatic download = Visit the plugin section in your WordPress, search for Manager (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-manager/` directory. Once uploaded, it will appear in your plugin list. Go to **ROBOTSTXT → Settings** to configure the Store URL and API key. == Frequently Asked Questions == = Is this plugin compatible with WordPress Multisite? = No. This plugin is intentionally not compatible with WordPress Multisite, matching the architecture of the rest of the ecosystem. = What PHP version is required? = PHP 8.0 or higher. = Do I need Plugins Core installed on my site? = No. Plugins Core runs on the ROBOTSTXT store site. This plugin talks to it remotely via REST API. You do not need Core, Mollie, or Sync installed locally. = How is the API key stored? = Encrypted at rest using AES-256-CBC with a key derived from your site's WordPress `AUTH_KEY` and `AUTH_SALT` constants. Never stored in plaintext, never logged, never exposed in any response. == Compatibility == * WordPress: 4.4 - 7.1 * PHP: 8.0 - 8.5 == Changelog == Only the 3 last versions. The full changelog will be at changelog.txt = 1.9.1 = _Release date: 2026-09-23_ * Maintenance: dependency audit (no updates, no CVEs), full code and security review of the security-patch feature, compatibility floors re-verified (WordPress 4.4, PHP 8.0). No runtime changes. = 1.9.0 = _Release date: 2026-09-22_ * New: security-update notices (with Core 1.16.0+). When the store declares a security patch for the exact version your site runs, a red "Update now" notice appears on the Plugins screen and the Manager catalog, and the update installs only that patch — your site is never pushed across feature versions by a security fix. * The WordPress update badge, `wp plugin update`, and auto-updates also target the declared patch. = 1.8.1 = _Release date: 2026-09-22_ * Fixed: pending updates were invisible on sites where the WordPress.org update check never completes (api.wordpress.org blocked/unreachable — common on many hosts). Update data is now injected whenever WordPress reads it, so pending ROBOTSTXT updates show up on the Plugins screen, the Updates page, and WP-CLI regardless of WordPress.org connectivity. * Fixed: opt-in uninstall now also deletes the cached subscriptions transient, so no subscription data outlives the plugin when data deletion is enabled. * Fixed: a hardcoded "Subscribed" label in the multi-license catalog pill is now translatable. * Maintenance: development tooling updated (PHPStan max, WordPress stubs 7.1.0); compatibility floors re-verified (WordPress 4.4, PHP 8.0). = Previous versions = If you want to see the full changelog, visit the [plugin page](https://www.robotstxt.software/plugins/robotstxt-manager/). == Compliance == This plugin adheres to the following security measures and review protocols for each version: * [WordPress Plugin Handbook](https://developer.wordpress.org/plugins/) * [WordPress Plugin Security](https://developer.wordpress.org/plugins/wordpress-org/plugin-security/) * [WordPress APIs Security](https://developer.wordpress.org/apis/security/) * [WordPress Coding Standards](https://github.com/WordPress/WordPress-Coding-Standards) * [Plugin Check (PCP)](https://wordpress.org/plugins/plugin-check/)