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.
# 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": [ ... ] }
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
wp plugin install \ bulk-seo-meta-editor-for-ai-agents \ --activate
curl -LO https://downloads.wordpress.org/\ plugin/bulk-seo-meta-editor-for-ai-agents.zip
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.
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.
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.
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.
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.
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.
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.
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.
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.
Bulk-editing titles is the easy part. Knowing what they should say is the work.
Site architecture, Core Web Vitals, schema, indexation and JavaScript rendering, fixed.
Learn more →A full audit with a prioritised fix list, traffic projections and a 12-month roadmap.
Learn more →Optimise for ChatGPT, Perplexity and Google AI Overviews. Get cited where search is heading.
Learn more →Map-pack rankings, Google Business Profile work, citations, reviews and location pages.
Learn more →Editorial outreach, digital PR and broken-link reclamation. Links that move rankings.
Learn more →Our free desktop crawler for technical audits. Same idea as this plugin: build it, open it up.
Learn more →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.
