Title: Recognyze.AI
Author: recognyze
Published: <strong>Hwevrer 18, 2026</strong>
Last modified: Me 26, 2026

---

Search plugins

![](https://ps.w.org/recognyze-client/assets/icon-128x128.png?rev=3468600)

# Recognyze.AI

 By [recognyze](https://profiles.wordpress.org/recognyze/)

[Download](https://downloads.wordpress.org/plugin/recognyze-client.1.3.52.zip)

 * [Details](https://cor.wordpress.org/plugins/recognyze-client/#description)
 * [Reviews](https://cor.wordpress.org/plugins/recognyze-client/#reviews)
 *  [Installation](https://cor.wordpress.org/plugins/recognyze-client/#installation)
 * [Development](https://cor.wordpress.org/plugins/recognyze-client/#developers)

 [Support](https://wordpress.org/support/plugin/recognyze-client/)

## Description

Recognyze.AI is a WordPress plugin for publishers who want to protect content, monetize
AI usage, and control how agents access their site. Use the dashboard to sign posts
in bulk, connect securely to the Recognyze Publisher API, and monitor signed and
unsigned access-including Bot Wall blocks and optional Markdown for AI agents.

#### Key Features

 * **Content Protection**: Cryptographic signatures that verify authenticity and
   register content with Recognyze
 * **Post Management Dashboard**: Overview of recognized, pending, and bulk sign/
   sync actions
 * **AutoRecognyze**: Optionally recognize new Posts and Pages automatically on 
   publish (Essentials settings)
 * **API Integration**: Connect with your Recognyze account; API keys are encrypted
   at rest (AES-256-GCM when OpenSSL is available)
 * **API Key Rotation**: Automatic rotation before expiry (14-day buffer), manual“
   Rotate now”, and visible key ID/expiration in Essentials
 * **Bot Wall (Agents & Bot Access)**: Rules-driven blocking for AI crawlers with
   per-bot and per-category controls (HTML/Markdown), powered by portal Bot Rules
 * **AI Bot Detection**: Track signed and unsigned visits, including blocked Bot
   Wall requests and bot attribution metadata
 * **Access Logs**: Logging for signed content access with event-based export and
   retention cleanup
 * **Unsigned Access Logs**: Track unsigned content access and bot-like traffic 
   separately
 * **Bulk Operations**: Sign or synchronize many posts at once
 * **Encrypted Storage**: API keys stored encrypted; Basic Auth credentials used
   only once to obtain a key and are never saved
 * **Export Functionality**: Export access logs to Recognyze when batch size or 
   time-based conditions are met
 * **Markdown for Agents**: Serve content as Markdown via `.md` URLs or `Accept:
   text/markdown`, with Recognyze frontmatter, verify URLs, usage fees in points,
   and token estimates

#### Use Cases

 * Content creators who want to protect their intellectual property
 * Publishers who want to monetize AI usage of their content
 * Bloggers who want to track which AI systems access their content
 * News organizations managing content licensing for AI training
 * Any WordPress site owner concerned about AI crawler access

#### Technical Features

 * Supports multiple post types (posts, pages, and configurable types)
 * RESTful Publisher API integration with optional dev-mode custom endpoint URL
 * API key lifecycle (`includes/api-key-rotation.php`): metadata sync via GET `/
   account/publisher/api-keys/current/`, scheduled and manual PUT rotate
 * Bot Rules cache with daily refresh from the Recognyze portal
 * Optional softmax IP + User-Agent attribution for Bot Wall when portal `ipVerification`
   data is available
 * Comprehensive access logging with event-based export and cleanup
 * Scheduled tasks for log cleanup, export, API key metadata sync, and Bot Rules
   refresh
 * Developer-friendly with hooks and filters (e.g. `wprc_api_key_rotation_buffer_days`)
 * WordPress Coding Standards compliant
 * **Markdown for Agents** (`includes/markdown-for-agents.php`): Content negotiation
   for `text/markdown`, YAML frontmatter with Recognyze id, verify_url, usage_fee(
   points), content_length, markdown_tokens; optional signed-only mode; Link header
   for alternate type
 * **Token estimator** (`includes/token-estimator.php`): In-plugin token count for
   Markdown body (word/char heuristic), exposed as `X-Markdown-Tokens` header and
   in frontmatter

#### Privacy & Data

This plugin collects access logs that may include IP addresses, user agents, and
timestamps.
 These logs are stored in your WordPress database and automatically 
exported and cleaned up based on export conditions (batch size or time interval).
See the Privacy Policy section in Settings for more details.

#### Support & Documentation

For detailed documentation, API information, and support, visit [Recognyze.AI](https://recognyze.ai)

### Privacy Policy

Recognyze.AI collects and stores the following data:

**Access Logs**: When visitors access your signed content, the plugin may log:
 *
IP address * User agent * Timestamp * Referrer URL * Post ID accessed

**Unsigned / Bot Wall logs**: When enabled, the plugin may also log unsigned visits
and Bot Wall blocks (including bot identity metadata where configured).

**API key metadata**: Key ID, name, status, and expiration date (not the secret)
are stored locally to support rotation scheduling.

**Storage**: All data is stored in your WordPress database on your server.

**Retention**: Logs are automatically exported and cleaned up from the database 
based on export conditions (batch size reached or 120-minute fallback interval).

Exported logs are removed immediately after successful export.

**Export**: If configured, access logs may be exported to external systems via API.

**User Rights**: Site administrators can manually delete logs at any time from the
Access Logs pages.

**Third Party Services**: When you sign content, metadata is sent to the Recognyze.
AI API.
 See the [Recognyze.AI Privacy Policy](https://recognyze.ai/privacy) for
details on how this data is handled.

### Support

For support, documentation, and feature requests:

 * Website: [https://recognyze.ai](https://recognyze.ai)
 * Documentation: [https://www.recognyze.ai/publishers/wordpress/](https://www.recognyze.ai/publishers/wordpress/)
 * Support: [https://www.recognyze.ai/contact-us/](https://www.recognyze.ai/contact-us/)

## Blocks

This plugin provides 1 block.

 *   Wprc Http Post Request

## Installation

#### Automatic Installation

 1. Log in to your WordPress admin panel
 2. Navigate to Plugins > Add New
 3. Search for “Recognyze.AI”
 4. Click “Install Now” and then “Activate”

#### Manual Installation

 1. Upload the `recognyze-client` folder to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Navigate to Recognyze > Settings to configure the plugin

#### Initial Setup

 1. **Register**: Create a publisher account at [Recognyze.AI](https://recognyze.ai)
 2. **Connect**: Go to Recognyze > Settings > Essentials, click **Connect**, and sign
    in with your Recognyze email and password (credentials are not stored; only the
    API key is saved encrypted)
 3. **Optional – Bot Wall**: Open **Agents & Bot Access** to enable Bot Wall and configure
    bot/category rules
 4. **Optional – Export**: Configure batch size and fallback interval for automatic
    access log export
 5. **Protect content**: Use the Dashboard to sign posts (or enable AutoRecognyze in
    Essentials)

#### Requirements

 * WordPress 5.0 or higher
 * PHP 7.0 or higher (7.4+ recommended)
 * OpenSSL PHP extension (required for encryption features)
 * MySQL 5.6 or higher / MariaDB 10.0 or higher

## FAQ

### What is Recognyze.AI?

Recognyze.AI is a service that helps content creators protect their work and earn
from AI usage.
 The WordPress plugin integrates your site with the Recognyze platform
to track AI access and manage content signatures.

### Do I need an API key?

Yes. Register at [Recognyze.AI](https://recognyze.ai), then connect from **Recognyze
> Settings > Essentials**. The plugin obtains an API key using your account credentials
once; only the encrypted API key is stored in WordPress.

### Does the plugin rotate API keys automatically?

Yes. After you connect, the plugin syncs key metadata (ID and expiration) and schedules
rotation **14 days before expiry**. You can also click **Rotate now** in Essentials
at any time. If rotation fails, you will see an admin notice; the plugin does not
remove your key unless the API reports it is invalid.

### What data does the plugin collect?

The plugin stores access logs in your WordPress database, including IP addresses,
user agents, timestamps, and referrer information for content visits. Signed access
logs cover successful GET requests to protected content. Unsigned access logs and
Bot Wall can record blocked or unsigned visits (including bot attribution metadata
when Bot Wall is enabled). Logs may be exported to Recognyze based on your export
settings.

### What is Bot Wall?

Bot Wall (Agents & Bot Access) lets you block or allow AI crawlers using rules from
your Recognyze portal, with per-bot and per-category settings for HTML and Markdown.
Blocked visits can be logged in Unsigned Access Logs. Bot Wall is off by default
until you enable it in settings.

### How do I sign my existing posts?

Go to Recognyze > Dashboard, select the posts you want to sign, and use the bulk
sign action.
 You can also sign individual posts from the post edit screen or from
the dashboard.

### What happens if I deactivate the plugin?

If you deactivate the plugin, your content signatures remain in the post metadata
but the tracking and protection features will be disabled.
 If you uninstall the
plugin, all data including signatures, logs, and settings will be removed.

### Is my API key stored securely?

Yes. API keys are encrypted with OpenSSL (AES-256-GCM) when the extension is available,
then stored in the WordPress options table. Your Recognyze account password is never
saved-only used temporarily during **Connect** to issue the API key.

### Can I export my access logs?

Yes, the plugin includes export functionality to send access logs to external systems,
provided by recognyze.ai

### How often are logs cleaned up?

Logs are automatically exported and cleaned up when export conditions are met: either
when the configured batch size is reached OR when the fallback interval (120 minutes)
has elapsed since the last export.
 Logs are removed from the database immediately
after successful export.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Recognyze.AI” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ recognyze ](https://profiles.wordpress.org/recognyze/)

[Translate “Recognyze.AI” into your language.](https://translate.wordpress.org/projects/wp-plugins/recognyze-client)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/recognyze-client/),
check out the [SVN repository](https://plugins.svn.wordpress.org/recognyze-client/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/recognyze-client/)
by [RSS](https://plugins.trac.wordpress.org/log/recognyze-client/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.52

 * New: Proactive Publisher API key rotation – syncs key metadata (ID, expiration),
   rotates automatically 14 days before expiry, and adds a manual “Rotate now” control
   in Essentials.
 * Enhancement: Essentials connection panel shows key name, masked key ID, and expiration
   date.
 * Reliability: Scheduled rotation uses stored key ID with fallback; daily metadata
   sync for sites with limited WP-Cron.

#### 1.3.51

 * New: Added optional softmax-based IP + User-Agent bot attribution for Bot Wall
   with per-site weights (`alpha`, `beta`) and argmax selection.
 * Enhancement: Agents & Bot Access now shows IP softmax mode status and fallback
   state when `ipVerification` data is unavailable.
 * Enhancement: Bot Wall blocked-visit logs now include softmax decision metadata(
   selected bot, probability, UA/IP match indicators, and decision source).
 * Reliability: When IP softmax is enabled but `ipVerification` is missing/invalid,
   Bot Wall automatically falls back to current UA/category policy behavior.
 * Security: With IP softmax enabled and published `ipRanges` for a bot, UA-only
   matches no longer grant that bot identity unless the visitor IP is in those ranges(
   reduces User-Agent spoofing).

#### 1.3.50

 * New: AutoRecognyze in Essentials to automatically recognize published Posts/Pages.
 * Enhancement: Access Logs now support configurable optional file logging.
 * New: Cleanup option added for Unsigned Access Logs.
 * Bot Wall update: improved AI bot classification, Agents & Bot Access tab, and
   per-bot/category controls (HTML/Markdown).
 * Export/security: blocked visits export as `403` with bot metadata, plus safer
   JSON override parsing and i18n label cleanup.

#### 1.3.49

 * New: Markdown for Agents — serve content as Markdown for AI agents via `.md` 
   URLs or `Accept: text/markdown` on post URLs.
 * New: `includes/markdown-for-agents.php` — frontmatter (id, registry_date, usage_fee
   in points, verify_url to Recognyze portal, content_length, markdown_tokens), 
   content negotiation, Link header for alternate type, optional signed-only and
   log-requests settings.
 * New: `includes/token-estimator.php` — in-plugin token estimate for Markdown (
   word/char heuristic), no external deps; exposed as `X-Markdown-Tokens` header
   and in frontmatter.
 * Enhancement: Tooltip price display now shows “Price: N points” (e.g. “1000 points”).

#### 1.3.48

 * Fix: recognyze.txt no longer HTML-escapes the content name. The name value was
   incorrectly passed through esc_html() when serving the recognyze.txt file, causing
   double quotes to appear as " in the output. Serving now outputs plain text only;
   download and URL-served recognyze.txt both show correct name=”…” values.

#### 1.3.47

 * Security: WordPress.org compliance — callback return values must be escaped. 
   the_title filter callback wprc_add_icon_to_title now escapes date_i18n() output
   with esc_html(), sanitizes tooltip fragment with wp_kses_post(), and returns 
   icon/tooltip HTML through wp_kses_post() for safe output.
 * Security: Data must be sanitized before use. Debug log calls no longer pass raw
   $_POST, $_GET, or $_REQUEST. Added wprc_sanitize_for_debug_log() in utilities;
   admin.php now logs sanitized copies (and sanitized array_keys for $_REQUEST).
 * Security: Variables must be escaped when echoed. Access logs table pagination
   now escapes $output at echo time with wp_kses_post() (escape late) in class-wprc-
   access-logs-table.php.

#### 1.3.46

 * Enhancement: Moved wprc_ensure_admin_footer() to use current_screen hook instead
   of admin_init for proper screen object availability.

#### 1.3.45

 * Compliance: Added admin opt-in control for “Powered by Recognyze” attribution
   on protection page.
 * Enhancement: Attribution is now hidden by default and only displays when admin
   explicitly opts in via settings checkbox.
 * Enhancement: Added “Show attribution” setting in Functionality section of settings
   page.
 * Fix: Fixed PHP 8.1+ deprecation warning in wprc_sanitize_api_key() function (
   null parameter handling).
 * Compliance: Now fully compliant with WordPress.org Guideline 12 (attribution 
   requires explicit opt-in).

#### 1.3.44

 * Security: Fixed callback escaping issues for WordPress.org compliance.
 * Security: Added esc_html() to wprc_add_icon_to_title filter callback to escape
   title parameter.
 * Security: Added sanitize_text_field() and sanitize_html_class() to wprc_http_post_shortcode.
 * Security: Added sanitization to wprc_render_http_post_block attribute extraction.

#### 1.3.43

 * Compliance: Fixed CSS enqueue issue in protection page for WordPress.org compliance.
 * Enhancement: Converted external CSS link to use wp_enqueue_style() in wprc_render_protection_page().
 * Enhancement: Added wprc_enqueue_protection_page_styles() function for proper 
   asset loading.
 * Enhancement: Added wp_head() and wp_footer() hooks to protection page template.

#### 1.3.42

 * Security: Comprehensive output escaping improvements for WordPress.org compliance.
 * Security: Applied esc_html() to pagination display sprintf() results.
 * Security: Replaced **() with esc_attr**() for all HTML title attributes
 * Security: Replaced **() with esc_html**() for all text content in HTML tags.

#### 1.3.41

 * Compliance: Improved admin notice behavior to comply with WordPress.org Guideline
   11.
 * Enhancement: Limited admin notices to plugin pages and dashboard only (no more
   notice spam on unrelated pages).
 * Enhancement: Made OpenSSL extension notice dismissible with persistent user preference.
 * Enhancement: Added wprc_should_show_admin_notice() helper function for consistent
   notice scope checking.
 * UX: Improved admin experience by reducing intrusive notices while maintaining
   critical error visibility.

#### 1.3.40

 * Fix: Resolved ‘Offloaded Content’ issue by bundling remote assets (logo image).
 * Refactor: Renamed text domain from wp-recognyze-client to recognyze-client.
 * Fix: Added missing text domain to internationalization functions in post-meta.
   php for WordPress.org compliance.

#### 1.3.39.0

 * Refactor: Renamed admin menu slug wp-manage-objects to wp-recognyze-client.
 * Refactor: Renamed settings page slug wp-manage-objects-settings to recognyze-
   client-settings.

#### 1.3.38.0

 * Code: Applied WordPress code conventions and style updates across the plugin.
 * Code: Removed unneeded code and aligned with WordPress coding standards.
 * Code: WordPress plug and code conventions update.

#### 1.3.37.0

 * Auth UX: Automatically disconnect and prompt to reconnect when the API key fails(
   401/403) during sync or connection tests.
 * Auth UX: Added a clear \”Recognyze: Connection lost\” admin notice with a direct\”
   Reconnect Recognyze\” button.
 * Auth UX: Improved \”Test Connection\” to update connection status when the key
   is invalid, not just show a warning.
 * Compatibility: When activating this plugin, automatically deactivate any other
   active \”Recognyze.AI\” plugin instance (old folder) to avoid conflicts.

#### 1.3.36.0

 * Migration: Run migration automatically on plugin update (version check on admin
   load), not only on activation
 * Migration: Show migration status after update (admin notice with link to Migration
   Diagnostic)

#### 1.3.35.0

 * Migration: Added admin-only migration diagnostic page for monitoring migration
   status
 * Migration: Added on-demand migration functionality accessible from diagnostic
   page
 * Migration: Fixed migration function to correctly handle already-migrated post
   meta (prevents false error reports)
 * Migration: Improved migration error handling and verification logic
 * Admin: Added migration actions section with force re-run option for administrators

#### 1.3.34.0

 * Code Maintenance: Removed 4 unused/dead functions to improve code quality
 * Code Maintenance: Removed wprc_show_recognyze_url_info (never called)
 * Code Maintenance: Removed wprc_register_unsigned_access_logs_menu (backward compatibility
   stub)
 * Code Maintenance: Removed wprc_bot_wall_testing_notice (moved to settings, not
   cleaned up)
 * Code Maintenance: Removed wprc_test_next_export_functions (debug function not
   in use)

#### 1.3.33.0

 * Security: Fixed all unescaped output issues to meet WordPress.org security standards
 * Security: Added proper escaping to pagination display (absint for integers)
 * Security: Added proper escaping to URLs in sortable column headers (esc_url)
 * Security: Added proper escaping to dashboard metrics (esc_html, absint, esc_attr)
 * Security: Added proper escaping to access log file information display

#### 1.3.31.0

 * Initial public release
 * Content signature management
 * AI bot detection and tracking
 * Access logging with event-based export and cleanup
 * Encrypted credential storage
 * Bulk signing operations
 * Export functionality for logs
 * Comprehensive settings panel
 * WordPress Coding Standards compliance

## Meta

 *  Version **1.3.52**
 *  Last updated **16 our ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/recognyze-client/)
 * Tags
 * [AI](https://cor.wordpress.org/plugins/tags/ai/)[api integration](https://cor.wordpress.org/plugins/tags/api-integration/)
   [content monetization](https://cor.wordpress.org/plugins/tags/content-monetization/)
   [content-protection](https://cor.wordpress.org/plugins/tags/content-protection/)
   [signatures](https://cor.wordpress.org/plugins/tags/signatures/)
 *  [Advanced View](https://cor.wordpress.org/plugins/recognyze-client/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/recognyze-client/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/recognyze-client/reviews/)

## Contributors

 *   [ recognyze ](https://profiles.wordpress.org/recognyze/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/recognyze-client/)