Start here
Three steps from install to the first change you approve. Most people are done in under twenty minutes.
Install and set up
Upload the plugin, run the setup wizard, bring your old SEO data across.
Getting started 02Connect your agent
Claude, Cursor, Codex or Hermes, each with its own limited login.
Connect your agent 03Give it a first safe job
One meta description, proposed, approved and undone, so you see the loop.
First safe task01Getting started
- Download the plugin zip from your account.
- In WordPress, Plugins › Add New › Upload Plugin, upload the zip and activate it.
- Open AgentedSEO in the admin menu. The setup wizard asks for your site type, identity and post types, and offers to import from another SEO plugin. Run it again from AgentedSEO › Tools › Setup wizard.
- Activate your licence in AgentedSEO › Tools › Licence.
- Work through AgentedSEO › Dashboard › Setup checklist.
Living with another SEO plugin
While another SEO plugin is active, AgentedSEO prints nothing in the head, sitemaps or robots.txt, so you can import and check before you switch. Verification tags and code snippets still print. With Classic Monks on the same site, AgentedSEO takes over sitemaps, 404s, redirects and noindex and keeps Classic Monks’ redirects in sync.
02Connect your agent
Every agent connects to the same endpoint, built into the plugin. Start in AgentedSEO › Agents › Connections › Connect an agent and pick where your agent runs.
https://your-site.com/wp-json/agentedseo/mcpConnect Claude to WordPress
Claude.ai, Claude Desktop and Claude Code. OAuth for Claude.ai and Desktop, an application password for Claude Code.
Open the guide mcp.jsonCursor WordPress MCP
One mcp.json entry with an application password.
Codex WordPress MCP
One config.toml block with an application password.
Connect Hermes Agent
Hermes Agent by Nous Research, with an application password in its MCP config.
Open the guideScripts and servers
The same 72 abilities are REST routes under /wp-json/agentedseo/v1/ and wp agentedseo commands. See Developer.
Test the connection
On the Connections screen, Run test checks OAuth discovery, whether the endpoint asks clients to sign in, whether your host passes the Authorization header, and how many tools an agent is offered.
03How approvals and undo work
- Its own loginYour agent signs in as its own user with the SEO Agent role. It works through AgentedSEO only: no users, plugins, themes or settings outside AgentedSEO.
- Applied or proposedEach write comes back
applied,proposedorpartial. What waits for you is set per area in Agents › Approval rules. - You approveIn Dashboard › Approvals, one at a time, per request, or up to 100 at once. A rejection can carry a reason back to the agent.
- Undo any timeEvery change, from a person, an agent or an import, is in Dashboard › Change log with Undo, batch undo and Redo.

I left approving out of the agent’s tools on purpose. An agent can propose, preview and undo. I want a person to make the last call on anything visitors see.
Full table: What your agent can and can’t change.
04Modules
Switch modules on or off in AgentedSEO › Tools › Features. A switched-off module hides its screens and its agent tools.
| Module | What it does |
|---|---|
| Meta | Title and description templates with variables and a live preview, robots meta, canonicals, indexing rules |
| Social | Open Graph and X cards, defaults per content type and previews |
| Schema | One JSON-LD @graph per page, site identity, rules and templates, validation against Google’s rich result rules, WooCommerce Product |
| FAQ | A FAQ block that prints FAQPage schema |
| Breadcrumbs | A trail with an editable structure, as a block, shortcode or template tag |
| Sitemaps | XML sitemaps at /sitemap.xml, plus video and news sitemaps and every WPML or Polylang language |
| Robots | A robots.txt editor, a URL tester and switches for AI crawlers |
| llms.txt | Serves /llms.txt for AI search |
| Redirects | 301, 302, 307, 410 and 451 redirects, regex, loop and chain refusal, CSV, automatic redirects on slug change |
| 404 monitor | Logs missing URLs, with one-click redirects |
| Links | Broken link checks and rules for links to other sites |
| Images | Image SEO on upload and the alt text screen |
| Keywords | A keyword plan and warnings when two pages target the same keyword |
| RSS | Text before or after each post in your feeds, plus feed noindex and comment feed settings |
| Header and footer code | Verification codes and snippets; agents can never edit them |
| Content | Agent tools to create, edit, publish, schedule and trash posts, and upload media, with a revision for every edit |
| Importers | Bring SEO data from 10 other plugins |
| Search Console | Coming soon Screens are built and arrive in an update once the connection service is live |
05Importers
AgentedSEO imports from Yoast SEO, Rank Math, SEOPress, SureRank, All in One SEO, The SEO Framework, Slim SEO, SiteSEO, SmartCrawl and Squirrly SEO. Open AgentedSEO › Tools › Import & export.
- A preview of what will move before anything is written.
- Titles, descriptions, keywords, canonicals, robots, social, primary term, redirects and schema, plus settings that vary by plugin.
- Keep or overwrite values a page already has.
- The other plugin’s data is never touched, and the whole import undoes in one step from the Change log.
- The redirect CSV import also reads Yoast, Rank Math, Slim SEO and SEOPress exports.
What moves from each plugin: Switch to AgentedSEO.
06Developer
Anything not listed here is internal and may change. To change SEO data, call an ability or a REST route; never write _agentedseo_* meta or agentedseo_* options directly.
Template tags
| Function | Returns |
|---|---|
agentedseo_breadcrumbs( bool $display = true ) | Prints the trail as escaped markup, or returns it with false |
agentedseo_get_breadcrumbs() | The trail as data: { label, url, current }, unescaped |
agentedseo_get_seo_metadata( $item = null ) | { title, description, canonical, robots } as the head prints them |
Shortcode, blocks and hooks
[agentedseo_breadcrumbs]
agentedseo/breadcrumbsagentedseo/faq
agentedseo_schema_graphagentedseo_head_partsagentedseo_head_always_partsagentedseo_head_enabledagentedseo_resolved_recordagentedseo_validate_fieldagentedseo_robots_txtagentedseo_checksagentedseo_block_unresolved_queryagentedseo_lockout_ipagentedseo_conflicting_pluginsagentedseo_object_labelagentedseo_abilities
agentedseo_proposedagentedseo_revertedagentedseo_redirects_changedagentedseo_gsc_resetagentedseo_classic_monks_synced
REST, OpenAPI and WP-CLI
Routes under /wp-json/agentedseo/v1/; the OpenAPI 3.1 file is at /wp-json/agentedseo/v1/openapi.json. WP-CLI has one command per ability, wp agentedseo <group> <command>, with JSON output and --dry-run on every write.
$ wp agentedseo capabilities --user=agentedseo-claude
$ wp agentedseo record get post:42 --user=agentedseo-claude
$ wp agentedseo redirects test /old-page --user=agentedseo-claude
$ wp help agentedseo--user. Without it, WP-CLI runs as the site itself: no capability check and no approval rule.07Troubleshooting
| Symptom | Fix |
|---|---|
| Agent can’t sign in, “Authorization header reaches WordPress” fails | On Apache add SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 to .htaccess, or ask your host. |
| Claude.ai can’t find the sign-in | A security plugin, the host or a cache blocks /.well-known/. The site must answer /.well-known/oauth-authorization-server at the domain root. |
| “Application passwords are turned off on this site” | WordPress needs HTTPS for application passwords. |
429 agentedseo_locked_out | Ten failed sign-ins from one address in 15 minutes lock it out for 15 minutes. Behind a proxy, see agentedseo_lockout_ip. |
| Nothing prints in the head, no sitemap | Another SEO plugin is active, so conflict mode is on. Deactivate it after importing. |
Agent edit came back proposed | It waits in Approvals, by design. |
agentedseo_blocked_by_rule | The change hit a fixed rule, such as header and footer code or a permanent delete. |
| Agent can’t edit a Bricks or Elementor page | Builder layouts are read-only for agents. Their SEO fields still change. |
08Still stuck?
Write to us from the support page. Include the self-test results from the Connections screen.