Now on WordPress.org · v1.8.1 · Free, GPL-2.0

Bulk edit Yoast and Rank Math SEO meta over the WordPress REST API.

WordPress hides SEO titles, meta descriptions, canonicals and OG tags from the REST API. This plugin exposes them properly, so Claude, ChatGPT, n8n, Zapier or your own script can rewrite the meta on 100 posts, 200 image alt tags and your JSON-LD schema in a single authenticated call. Approved and hosted by WordPress.org. Built by Melbourne SEO Consultant.

Yoast and Rank Math MCP server for Claude CSV import and export JSON-LD schema injection No settings page
Version1.8.1
RequiresWP 5.6+ / PHP 7.4
Tested toWordPress 7.0
LicenceGPL-2.0
PriceFree
claude code · rewrite 42 meta descriptions
# Claude, driving the bundled MCP server:
> "Pull the SEO meta for every post in /blog/, rewrite each title
   to 60 characters or under and each description to 150, keyword first."

✓ status      active SEO plugin: Yoast SEO · 12 field aliases
✓ export      42 rows pulled  (title_chars, desc_chars included)
→ bulk        sending 42 items in one POST /seo-meta-bridge/v1/bulk

   UPDATED   42      SKIPPED   0      REJECTED KEYS   0

# The same call by hand:
$ curl -u 'user:app pass' -X POST \
    https://site.com/wp-json/seo-meta-bridge/v1/bulk \
    -d '{"items":[{"id":123,"meta":{"title":"…","description":"…"}}]}'
{ "count": 42, "results": [ ... ] }
100
Posts per call
200
Alt tags per call
10
MCP tools for Claude
$0
Free, GPL-2.0
What it does

The SEO meta endpoints WordPress left out.

Six REST endpoints covering every Yoast and Rank Math field, readable and writable by AI agents, automation tools and spreadsheets. No settings page, no dashboard, no lock-in.

🔌

REST API for SEO meta

Read and write meta titles, descriptions, focus keyword, canonical, robots, Open Graph and Twitter fields on any post, page or custom post type. Use the standard /wp/v2/posts/{id} route or the namespaced helpers.

📦

Bulk update, 100 at a time

One POST /bulk applies changes to up to 100 posts or terms. Partial-success reporting names every key that was accepted and every key that was rejected, so a single bad row never costs you the batch.

🤖

MCP server for Claude

A bundled Node.js companion (bulk-seo-meta-editor-mcp on npm) gives Claude Desktop and Claude Code 10 native tools: status, read, write, bulk update, list posts and terms, CSV round-trip, and schema get and set.

🧩

JSON-LD schema injection

Store any schema type per post, from FAQPage to Service to HowTo. It is injected through Yoast's and Rank Math's own filters, so your nodes merge into the existing @graph instead of sitting there as a duplicate second block.

🖼️

Bulk image alt text

Write _wp_attachment_image_alt on up to 200 media-library images per call, by URL. CDN paths and -300x200 thumbnail suffixes resolve back to the parent attachment on their own.

🧭

Detects your SEO plugin

Yoast SEO or Rank Math, free or premium. The plugin picks whichever is active and exposes plugin-neutral aliases (title, description, focus_kw), so nobody has to memorise raw meta keys.

📊

CSV import and export

Pull all SEO meta as CSV with live title_chars and desc_chars columns, edit it in Excel or Google Sheets, push the file back. UTF-8 BOM safe, so accented characters survive the round trip.

🗂️

Terms, archives and globals

Category, tag and custom-taxonomy archives are editable, along with CPT archive pages and the global scopes: author, date, search, 404 and home. The whole indexable surface, not just posts.

🛡️

Allowlisted writes

Only meta keys belonging to the active SEO plugin are accepted. Arbitrary postmeta writes are rejected outright. It cannot touch post content, users, or any other table on your site.

🔑

Per-object permission checks

Every read and every write runs the matching capability check, post by post and term by term. Contributors and Authors see and edit exactly what they could in wp-admin. Site-wide archive settings need an administrator.

Reviewed by WordPress.org

Four rounds of the plugin review team's security audit before approval, covering capability checks, escaping, prefixing and sanitisation. Hosted in the official directory, so auto-updates and host malware scanners both behave.

⚙️

Zero configuration

No admin screen, no options to misconfigure, nothing to break. Activate it, create an Application Password, and the API is live. Drop it into mu-plugins if you run an agency fleet.

Install it from the WordPress.org directory

Free forever, GPL-2.0, and it auto-updates like any other directory plugin. Source on GitHub, MCP companion on npm, one-line install with WP-CLI.

Get it on WordPress.org
Three steps

From install to AI-driven SEO edits.

No API keys to buy and no third-party service in the middle. Authentication is WordPress's own Application Passwords, and the traffic goes straight to your site.

Install from WordPress.org

Download it from the plugin directory and upload it under Plugins → Add New, or install it in one line with WP-CLI. No settings page appears. The REST API is live the moment you activate.

Create an Application Password

Go to Users → Your Profile → Application Passwords and generate one. It is 24 characters and shown once. That is your Basic Auth credential. HTTPS is required in production, and nothing else needs wiring up.

Connect Claude, or call it directly

Add the MCP server to Claude with one command, or hit the endpoints from curl, Python, n8n, Zapier, Make, anything that speaks HTTP. Read, rewrite, bulk update, round-trip a CSV, inject schema.

Why this, not the workaround

How bulk meta editing usually goes.

Editing Yoast or Rank Math meta at scale normally means clicking through wp-admin post by post, paying for a premium SEO tier, writing throwaway WP-CLI scripts, or handing a generic AI connector the keys to your whole site. Here is how a focused REST surface compares.

Capability Bulk SEO Meta Editor wp-admin, post by post SEO plugin premium tier Generic AI or MCP connector
Edit 100 posts in one call Yes Manual, one at a time Some tiers Varies
Works with Yoast and Rank Math Detects both Yes Locked to one Varies
Price Free, GPL-2.0 Free Paid subscription Free or paid
Driven by AI agents (Claude, GPT) MCP and REST No No Yes
Writes scoped to SEO meta only Allowlisted N/A Yes Often full site access
CSV import and export round-trip Yes No Some tiers Rarely
Bulk image alt text 200 per call Manual Add-on Varies
Custom JSON-LD into the existing graph Yes No UI only Duplicate blocks
Term, CPT archive and global SEO Yes Per page only UI only Rarely
No extra service, runs on your site Yes Yes Some cloud External service

Comparison is descriptive only. What premium SEO tiers and third-party connectors do varies by vendor, version and plan.

Built for

Who runs it, and why.

SEO agencies

Rewrite a client site's meta in an afternoon

Export every title and description to CSV, have Claude rewrite them keyword first and inside the character limits, then push the lot back in one call. Pairs with our SEO audit service, which produces the fix list that drives the edits.

AI and automation

Let Claude or ChatGPT own the meta layer

The MCP server hands Claude real tools to read, draft and apply SEO meta. Or wire the REST endpoints into n8n, Zapier or Make so every new post gets an optimised title and description on publish, with nobody in the loop.

Structured data

Push FAQ and Service schema at scale

Store JSON-LD per post and it rides into the SEO plugin's existing graph, which is what stops the duplicate-schema warnings you get from paste-a-block plugins. Useful groundwork for AI search visibility, where machines read the markup before the copy.

Site migrations

Carry SEO meta across a replatform

Export from the old install, transform the CSV to match the new URLs, import into the new one. Titles, descriptions, canonicals and OG tags survive the move instead of quietly resetting to theme defaults on launch day.

WooCommerce

Product and category meta at catalogue scale

Meta is registered on every public post type, so products are covered, and product_cat and product_tag archives are editable through the term endpoints. Fix thin, duplicated category descriptions across thousands of SKUs.

Headless and dev teams

SEO meta inside your deploy pipeline

A predictable, allowlisted REST contract means SEO meta can be managed from CI, a headless front end or a content-ops script, the same way you manage any other structured field. It slots into technical SEO work rather than sitting outside it.

Get it running

Install, then connect Claude.

Pick whichever fits your stack. Once it is active, create an Application Password under Users → Your Profile and you are authenticated. Nothing to buy, nothing to register.

🅦 WordPress.org
  1. Open the plugin page on WordPress.org and hit Download
  2. In wp-admin: Plugins → Add New → Upload Plugin
  3. Activate. The REST API is live, and updates arrive like any directory plugin
⌨️ WP-CLI
wp plugin install \
  bulk-seo-meta-editor-for-ai-agents \
  --activate
Direct download
curl -LO https://downloads.wordpress.org/\
plugin/bulk-seo-meta-editor-for-ai-agents.zip
🤖 Claude Code (MCP)
claude mcp add bulk-seo-meta-editor \
  --env WP_BASE_URL=https://your-site.com \
  --env WP_USER=your-username \
  --env WP_APP_PASS='xxxx xxxx xxxx xxxx' \
  -- npx -y bulk-seo-meta-editor-mcp

Prefer a quick smoke test? curl -u 'user:app pass' https://your-site.com/wp-json/seo-meta-bridge/v1/status returns the active SEO plugin and every field alias available on your install. Using Claude Desktop? The config snippet is in the README. Requires WordPress 5.6 or newer and PHP 7.4 or newer.

Questions

Before you install.

Is it in the official WordPress plugin directory?

Yes. Bulk SEO Meta Editor for AI Agents is approved and hosted at wordpress.org/plugins/bulk-seo-meta-editor-for-ai-agents, currently version 1.8.1. It passed four rounds of the plugin review team's security audit. Installing from the directory also means it survives host malware scanners that quarantine hand-uploaded plugin files.

Does it work with both Yoast SEO and Rank Math?

Both. It detects whichever is active and reads and writes the exact postmeta keys that edition uses, free or premium. You send plugin-neutral aliases like title and description and it maps them to the right keys underneath. If both plugins are somehow active, Yoast wins.

Is it safe to install on a production site?

Yes. There is no admin UI to misconfigure and no code runs until a request hits the REST endpoints. Writes are allowlisted to SEO meta keys, so it cannot edit post content, users or any other table, and every read and write runs a per-object capability check. A Contributor can only touch their own posts through the API, exactly as in wp-admin.

How does authentication work?

Standard WordPress Application Passwords, sent as Basic Auth. Generate one under Users → Your Profile → Application Passwords. HTTPS is required in production, since WordPress disables Application Passwords on non-HTTPS sites by default. No OAuth setup and no third-party tokens.

Can it add JSON-LD schema to a page?

Yes, since version 1.6.0. Store any schema type against a post and the plugin passes it through Yoast's wpseo_schema_graph filter or Rank Math's rank_math/json_ld filter, so your nodes merge into the graph those plugins already output. Add mode appends to the existing graph, replace mode swaps it. Because the SEO plugin does the encoding and output, the page markup stays valid.

Can it edit category and tag archive meta too?

Yes. Beyond posts, pages and custom post types, you can edit SEO meta on category, tag and custom-taxonomy archives, on CPT archive pages, and on the global scopes: author, date, search, 404 and home. The storage differences between Yoast and Rank Math are handled for you.

Why does curl work but my Python or Node script gets a 403?

Your host's firewall is rejecting the request on User-Agent before WordPress ever sees it. Default agents like python-requests sit on most mod_security, Wordfence and Cloudflare blocklists. Send a normal browser User-Agent header and the 403 disappears. The bundled MCP server already does this.

Is the plugin really free?

Yes. GPL-2.0, free forever, source on GitHub, and the MCP companion is free on npm. No account, no metering, no premium tier holding the bulk endpoints hostage.

Open source, free forever

Stop editing meta one post at a time. Let an API do it.

GPL-2.0, built in the open, approved by WordPress.org. Yoast and Rank Math, posts and terms, titles, alt text and schema, all from one authenticated call.

No signup. No credit card. No premium tier. Version 1.8.1, tested to WordPress 7.0.