royal-mcp__seo_optimize_for_launch
[Royal MCP Pro] Transactional launch composer for a single post: SiteVault pre-snapshot → audit stored SEO title/description → auto-fix meta (opt-in) → verify JSON-LD schema present on rendered post → create 301 redirects from old slugs → push URL to IndexNow (Bing / Yandex, opt-in) → push URL to Google Search Console via Site Kit (opt-in) → purge cache (auto-detect ForgeCache / WP Rocket / W3TC / WP Super Cache). Default compose_mode=strict — any sub-op error aborts + reverses reversible sub-ops (meta writes + created redirects). Use compose_mode=report_only for a dry-run: read-only sub-ops (audit + verify_schema) STILL EXECUTE and return real findings; write sub-ops are planned only (nothing mutates). 7-day undo restores pre-fix SEO meta AND deletes redirects the composer created. IndexNow / GSC / cache-purge sub-ops are cannot-recall (surfaced transparently in undo response). (site: demo.royalplugins.com) Through Royally: waits for a person to approve it in Royally; nothing on the site changes until then.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fixes | No | Per-sub-op toggles. Meta-write flags default false (opt-in, mutate live user-facing content). Additive/idempotent sub-ops (schema verify, cache purge) default true. External-service pushes (IndexNow, GSC) default false (opt-in — hit third-party endpoints). | |
| post_id | Yes | Post ID to optimize. Caller must have edit_post capability on the target post. | |
| site_id | No | Site to run this tool on: 8ef2e52b-bd07-4671-a363-ebe8b480b65c (https://demo.royalplugins.com) | |
| snapshot | No | If true (default), trigger a SiteVault snapshot before any writes. Skipped-with-note when SiteVault is not installed. Undo does NOT restore from snapshot — invoke SiteVault directly for full-site restore. | |
| compose_mode | No | strict aborts + rolls back on first error; best_effort continues past failures; report_only returns the plan for write sub-ops AND executes read-only sub-ops (audit / schema-verify) so callers get real findings from a dry-run. Write sub-ops never mutate in report_only. |