Title: RankZoro AI SEO
Author: rankzoro
Published: <strong>November 11, 2026</strong>
Last modified: November 13, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/rankzoro-ai-seo.svg)

# RankZoro AI SEO

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

[Download](https://downloads.wordpress.org/plugin/rankzoro-ai-seo.2.10.5.zip)

 * [Details](https://wordpress.org/plugins/rankzoro-ai-seo/#description)
 * [Reviews](https://wordpress.org/plugins/rankzoro-ai-seo/#reviews)
 *  [Installation](https://wordpress.org/plugins/rankzoro-ai-seo/#installation)
 * [Development](https://wordpress.org/plugins/rankzoro-ai-seo/#developers)

 [Support](https://wordpress.org/support/plugin/rankzoro-ai-seo/)

## Description

The SEO & Store Workbench includes an AI SEO Agent chat. Ask about SEO tasks, optionally
share the inspected page, and request a supported proposal for metadata, content
refresh, internal links, FAQs or product-category guidance. Proposal generation 
uses 30 credits; applying any generated change remains a separate review and approval.

Free SEO Tools works without a RankZoro account: browse posts/pages/products,
 write
title and supported SEO metadata changes, preview exact fields, approve locally 
and restore when no newer edits intervened. WordPress administrator permission and
nonces remain mandatory. Local edits do not authorize remote publishing. A native
title/description fallback runs only when no other detected SEO plugin owns those
fields. Other SEO plugins remain in control.

The free browser toolkit adds local text/HTML/schema/robots/image/CSV utilities.

Limited free AI requires explicit excerpt submission and has network/shared caps.
Local data is not automatically contributed to shared model training.

The RankZoro WordPress plugin creates a secure, API-key-authenticated bridge between
your WordPress site and your RankZoro account.

**What RankZoro can do once connected:**

 * Create and publish AI-generated articles after the site owner enables and configures
   publishing
 * Schedule articles for chosen publication dates; scheduled autopilot requires 
   the enabled automation add-on and available credits
 * Apply internal links to existing posts with one click
 * Apply AI SEO fixes — title, meta description, focus keyword, slug, canonical,
   status — on command
 * Apply multiple SEO fixes in a single bulk request
 * Inject JSON-LD schema markup (Article, FAQPage, HowTo, Product, etc.) into any
   post — outputs in <head> automatically
 * Register webhooks — WordPress fires instant POST notifications to RankZoro on
   post.published, post.updated, or post.deleted
 * Content decay monitoring — optional daily WP-Cron reports of stale-post metadata,
   enabled separately by an administrator
 * Fetch posts for analysis, internal link mapping, and content decay audits
 * Find internal backlinks — which posts on this site link to a given post
 * Filter posts by category, tag, author, post type
 * List all registered public custom post types (CPTs)
 * List authors with avatar URLs and post counts
 * Set Yoast SEO, RankMath, and SEOPress meta fields automatically when publishing
 * Upload and set featured images; upload standalone media to the media library
 * Report full site info — active SEO plugin, theme, post counts, PHP version, timezone

Scheduled AI generation and publishing are off until a site owner explicitly
 enables
and configures them. Scheduled automation requires the RankZoro automation add-on
and available generation credits. Connecting a site alone does not grant permission
to publish.

### External Services and Privacy

Free manual SEO tools run on your WordPress site without a RankZoro account.
 Cloud
AI, research, proposal generation, content generation and optional automation are
provided by the RankZoro service. These service features may require an account,
credits or a paid subscription; they are not a time-limited trial of the local plugin
tools.

#### RankZoro

The plugin communicates with https://rankzoro.co after you approve a connection

or explicitly request a connected feature. Connection requests include the site 
URL, authentication details and plugin/account information. Requested cloud actions
can include selected post, page, product or category identifiers, titles, URLs, 
metadata, content and proposed changes. AI chat sends your question; inspected page
text is included only when you choose that option.

Daily stale-content reporting is off by default, including after an account is
 
connected. If an administrator enables it, WP-Cron sends the site URL and up to 
100 stale published posts’ identifiers, titles, URLs, publication/modification dates
and word counts to RankZoro each day. Post bodies are not included in these reports.“
Run Scan Now” sends one report without enabling recurring reports. Disconnecting
disables recurring stale-content reports.

Scheduled growth/content workflows require separate configuration and may send
 
the content and resource data needed to perform those chosen workflows. AI generation
is performed by RankZoro’s cloud services, not downloaded PHP or JavaScript code.
See the service’s [Terms of Service](https://rankzoro.co/terms) and [Privacy Policy](https://rankzoro.co/privacy).

#### IndexNow

Only when you request an IndexNow submission, the plugin verifies your site’s
 public
key URL and sends the site’s hostname, key, key location and selected page URL to
https://api.indexnow.org/indexnow. This is a submission request, not confirmation
of indexing. See https://www.indexnow.org/ for the protocol and participating services.
[IndexNow Terms](https://www.indexnow.org/terms) describe the service conditions.

#### Administrator-configured webhooks

No webhook destination is configured by default. If you configure one,
 WordPress
sends the selected publish, update or deletion events, site URL and associated post
data to that URL. Only configure destinations you trust and have permission to send
this data to. Remove the webhook to stop delivery.

The external browser toolkit is opened only when you follow its link. Local
 tool
inputs stay in that browser until you explicitly confirm a service request. The 
plugin does not automatically contribute site content to shared model training.

### Support

For plugin support, email support@rankzoro.co. Once the plugin is listed,
 WordPress-
specific issues can also be reported using its WordPress.org Support tab. Do not
post connection tokens, API keys, private content or account credentials in public
support requests.

### License

The distributed plugin source is licensed under the GNU General Public License,

version 2 or any later version (GPL-2.0-or-later). The full version 2 license is
included in LICENSE.txt. The separately hosted RankZoro service has its own Terms
of Service; those terms do not restrict your GPL rights in this plugin.

### Source Code

The plugin-specific JavaScript and CSS are included in this plugin package as
 human-
readable, editable source files. The files enqueued by the plugin are admin-settings.
js, `content-admin.js`, `site-pairing.js`, and `workbench.js`, with their corresponding
CSS files. These are distributed directly; they are not minified or transpiled, 
and the plugin does not bundle third-party JavaScript or CSS libraries. No JavaScript
or CSS build step is required.

See `SOURCE.md` in the plugin directory for a source-file overview and release
 
packaging notes.

## Installation

 1. Upload the `rankzoro` folder to the `/wp-content/plugins/` directory, OR install
    via WordPress Admin  Plugins  Upload Plugin.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.
 3. Go to the **RankZoro** menu item in your WordPress admin sidebar.
 4. Use Free SEO Tools without connecting an account, or optionally connect for cloud
    service features.

Recommended connection: in RankZoro  CMS Connections, enter your exact HTTPS
 WordPress
site URL, open WordPress, and approve the read-only connection. Each approval expires
after ten minutes and can be used once. Publishing requires a separate permission
in WordPress  RankZoro.

Manual connection fallback:
 1. Paste your Plugin Token from rankzoro.co  Settings
WordPress Plugin Token into the plugin’s connection form. 2. Click Connect, then
copy the Site URL and API Key shown. 3. In RankZoro  CMS Connections  Add Connection
WordPress (Plugin), enter those details.

## FAQ

### Is this secure?

Local administration actions require WordPress capabilities and nonces.
 Remote 
site operations require an authenticated connection key. Read-only pairing does 
not enable publishing; writing requires separate permission. Keys are stored in 
your WordPress options, so keep your site and database access protected. You can
disconnect or regenerate the connection key from the plugin settings page.

### Which SEO plugins are supported?

Yoast SEO, RankMath, and SEOPress. The plugin auto-detects which is active and reads/
writes the correct meta keys for each. If none are installed, standard WordPress
fields are used.

### How do webhooks work?

Register a webhook URL via `POST /webhooks`. WordPress then fires an instant HTTP
POST to that URL whenever a post is published, updated, or deleted — so RankZoro
never needs to poll for changes. Webhooks can be listed (`GET /webhooks`) and removed(`
DELETE /webhooks/{id}`) via API or from the admin settings page.

### How does content decay monitoring work?

Daily reporting is off by default. An administrator can enable it in the
 Content
Decay Monitor. When enabled, a daily WP-Cron callback reports metadata for up to
100 published posts older than the configured update threshold (default: 90 days).
You can also request a one-time report with “Run Scan Now”. See External Services
and Privacy for the fields sent to RankZoro.

### What schema types are supported for JSON-LD injection?

Article, FAQPage, HowTo, WebPage, BlogPosting, Product, BreadcrumbList, LocalBusiness,
Person, Organization, Event. The JSON-LD block is output in <head> automatically
on the post’s singular page.

### What WordPress REST API endpoints does this add?

All endpoints are under `/wp-json/rankzoro/v1/`:

**Info**
 – `GET /status` — health check, plugin version, plan, SEO plugin, webhook
count – `GET /site-info` — site name, WP/PHP version, active theme, all active plugins,
post counts, timezone, decay settings

**Posts**
 – `GET /posts` — list posts (params: `type`, `status`, `per_page`, `page`,`
search`, `category`, `tag`, `author`, `orderby`, `order`) – `POST /posts` — create
a post (title, content, excerpt, status, type, date, slug, author, categories, tags,
featured_image_url, meta_title, meta_description, focus_keyword, canonical) – `GET/
posts/{id}` — get single post with full content + schema – `PUT|PATCH /posts/{id}`—
update post – `DELETE /posts/{id}` — delete post (`?force=true` for permanent) –`
POST /posts/{id}/apply-links` — inject internal links into content – `POST /posts/{
id}/apply-fix` — single SEO fix (types: title, content, slug, excerpt, status, meta_title,
meta_description, focus_keyword, canonical) – `POST /posts/{id}/bulk-fix` — multiple
fixes: `{"fixes":[{"type":"meta_title","value":"..."},{"type":"focus_keyword","value":"..."}]}`–`
POST /posts/{id}/apply-schema` — inject JSON-LD schema: `{"schema":{"@type":"FAQPage","
mainEntity":[...]}}` | `{"action":"delete"}` to remove – `GET /posts/{id}/backlinks`—
find all published posts on this site that link to this post

**Taxonomy & Structure**
 – `GET /pages` — list published pages – `GET /categories`—
list all categories – `GET /tags` — list all post tags – `GET /authors` — list authors(
admin, editor, author, contributor) with avatar URLs and post counts – `GET /post-
types` — list all public registered post types with label, singular, supports, and
published count

**Media**
 – `POST /media` — upload media from URL to WP media library: `{"url":"...","
filename":"..."}`

**Webhooks**
 – `GET /webhooks` — list registered webhooks – `POST /webhooks` — 
register: `{"url":"https://...","events":["post.published","post.updated","post.
deleted"]}` – `DELETE /webhooks/{id}` — remove a webhook

### Can I revoke access?

Yes. Click **Regenerate API Key** on the plugin settings page and update the key
in RankZoro’s CMS Connections.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

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

[Translate “RankZoro AI SEO” into your language.](https://translate.wordpress.org/projects/wp-plugins/rankzoro-ai-seo)

### Interested in development?

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

## Changelog

#### 2.10.5

 * Distribute administrator JavaScript and CSS as readable, editable source.
 * Document the source files and clarify that no JavaScript/CSS compilation is required.

#### 2.10.4

 * Load administrator JavaScript and styles through WordPress enqueue APIs.
 * Use unique rankzoro identifiers for callbacks, settings, AJAX actions, metadata
   and private proposals.
 * Preserve earlier settings, metadata, proposals and schedules during upgrades 
   without enabling publishing or reporting.

#### 2.10.3

 * Resolve Plugin Check findings for timezone-safe dates, escaping, URL parsing 
   and temporary-file cleanup.
 * Align the text domain with the WordPress.org plugin slug and remove a deprecated
   multisite parameter.

#### 2.10.2

 * Include the full GPLv2 license and clarify GPLv2-or-later licensing.
 * Document external services, data transfers, service terms and support.
 * Require separate opt-in for daily stale-content metadata reports.
 * Safely encode JSON-LD output so schema text cannot terminate its script tag.

#### 2.10.1

 * Keep Agent proposals bound to the page inspected for that conversation request.
 * Recover from stalled requests, malformed replies and expired sessions.
 * Support separate WordPress installation and public-site hosts.
 * Hide unsupported variation and review-FAQ actions before charging.

#### 2.4.0

 * Added in-WordPress article generation, editable cloud drafts and a date-grouped
   content calendar.
 * Added explicit opt-in recurring generation and publishing using the connected
   RankZoro project and credits.
 * Added duplicate-safe new-post publishing with draft verification and active SEO-
   plugin metadata adapters.
 * Added pause, cancellation, rescheduling and truthful error states; interrupted
   operations are not silently retried.
 * Reliable automatic schedules require an always-on cloud worker or an externally
   scheduled worker; idle Autoscale timers are not sufficient.

#### 2.3.0

 * Added authenticated lookup and current-field snapshot for a WordPress post by
   its own-site URL.
 * Added reviewed change application with a page-revision check and a post-save 
   verification response.
 * Reviewed edits write metadata only to the active Yoast, RankMath or SEOPress 
   plugin, without removing or replacing it.
 * Content edits are blocked when WordPress would sanitize the approved content 
   or existing content differently, to protect reversibility.

#### 2.2.0

 * Added `POST /posts/{id}/apply-schema` — inject JSON-LD structured data (Article,
   FAQPage, HowTo, Product, etc.) into any post; outputs via wp_head on singular
   pages
 * Added `GET /posts/{id}/backlinks` — searches post_content across all published
   posts to find internal backlinks to a given URL
 * Added `GET /authors` — lists authors (admin/editor/author/contributor) with display
   name, avatar URL, post count
 * Added `GET /post-types` — lists all registered public CPTs with label, singular,
   hierarchical, supports, and published count
 * Added `GET /webhooks`, `POST /webhooks`, `DELETE /webhooks/{id}` — register URLs
   to receive instant POST notifications on post.published, post.updated, post.deleted
   events
 * Added content decay cron — daily WP_Cron job finds posts not updated within configurable
   threshold and POSTs report to RankZoro cloud
 * Added content decay settings to admin UI (threshold, last run date, stale count,
   manual trigger)
 * Added registered webhooks table to admin UI with per-webhook remove button
 * Updated `GET /posts` to accept any public registered post type via `type` param(
   not just post/page)
 * Updated `POST /posts` to accept any public registered post type
 * Added `has_schema` and `schema_type` fields to all post list/get responses
 * Added full `schema` object to `GET /posts/{id}` response when schema is set
 * Added `webhooks_count` and `decay_days`/`decay_last_run` fields to `/status` 
   response
 * Added activation hook to register content decay cron and initialize webhooks 
   option
 * Added deactivation hook to clear cron schedule
 * Updated capabilities list in admin connected screen

#### 2.1.0

 * Added GET /site-info, GET /tags, POST /posts/{id}/bulk-fix, POST /media
 * Added category, tag, author, orderby, order filters to GET /posts
 * Fixed meta field reads for RankMath and SEOPress sites; fixed canonical for all
   SEO plugins
 * Fixed post_author hardcoded to 1; added categories+tags to post responses
 * SEO plugin detection badge in admin UI; seo_plugin in /status

#### 2.0.0

 * Full rewrite with cloud token auth (rzwp_ tokens) and two-factor connection flow

#### 1.0.0

 * Initial release

## Meta

 *  Version **2.10.5**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[content](https://wordpress.org/plugins/tags/content/)
   [internal links](https://wordpress.org/plugins/tags/internal-links/)[schema](https://wordpress.org/plugins/tags/schema/)
   [seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/rankzoro-ai-seo/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/rankzoro-ai-seo/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/rankzoro-ai-seo/reviews/)

## Contributors

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

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/rankzoro-ai-seo/)