/digital-marketing-pro:seo-implement skill

Implement approved SEO fixes on a connected CMS, approval-gated.

by indranilbanerjee·MIT license·★ 866 Stars on the repo·GitHub ↗

Use now

Inside this skill

SKILL.md · the author's own words
# /digital-marketing-pro:seo-implement

> **Script location.** If your host does not set `${CLAUDE_PLUGIN_ROOT}`, the scripts are in this plugin's `scripts/` folder, next to `skil…

## Purpose

Execute SEO implementation changes on connected CMS platforms. Goes beyond analysis to actually update meta tags, deploy JSON-LD schema mar…

## Execution gate (MANDATORY — cannot be skipped)

1. Present the full preview — the before/after diff of every meta / schema / canonical / redirect change, plus scope and compliance — as an…
2. The user must type `yes` (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cance…
3. Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
4. Only after the user types `yes`, record it: `python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-a…
5. Execute. A write sent through `connector_executor.py` needs `--approval-id` and fires only against a matching, unused, unexpired record…

Word-for-word excerpt, not a result. Read the full SKILL.md ↓

Files of /digital-marketing-pro:seo-implement

indranilbanerjee/main1 file shown
SKILL.md
Show the full text56 lines

/digital-marketing-pro:seo-implement

Script location. If your host does not set ${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin's scripts/ folder, next to skills/. Run them with Python 3.10 or newer: python, or python3 where python is not found (macOS, many Linux systems).

Purpose

Execute SEO implementation changes on connected CMS platforms. Goes beyond analysis to actually update meta tags, deploy JSON-LD schema markup, manage canonical URLs, create 301/302 redirects, and request indexing — all via WordPress or Webflow MCP connections. This command bridges the gap between SEO recommendations and live deployment, ensuring that audit findings and optimization plans translate into real page-level changes with full audit trails and rollback capability.

Execution gate (MANDATORY — cannot be skipped)

  1. Present the full preview — the before/after diff of every meta / schema / canonical / redirect change, plus scope and compliance — as an Execution Summary before touching any live page.
  2. The user must type yes (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run.
  3. Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
  4. Only after the user types yes, record it: python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"seo-implement","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}', then python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}. If either command errors, stop and report the error; never work around it with another tool. The record proves the approval step ran for this action; it cannot prove who typed yes.
  5. Execute. A write sent through connector_executor.py needs --approval-id and fires only against a matching, unused, unexpired record (see /digital-marketing-pro:execute-action). A write through a connected MCP server tool is outside that code check: it relies on this typed yes and on your host's permission prompt. Afterwards run python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}' (or failure).

Input Required

The user must provide (or will be prompted for):

  • Target URL(s): One or more URLs to modify — a single page for targeted updates or a batch of URLs for bulk operations like site-wide schema deployment or migration-related meta tag updates
  • Change type: The SEO modification to perform — meta-update (title tag, meta description, robots directives), schema-deploy (JSON-LD structured data), canonical (set or update canonical URL), redirect (create 301/302 redirect), or indexing-request (submit URL to Google for crawling via Search Console). Multiple change types can be combined for a single URL
  • Specific values: The new data to apply — new title tag text and character count, new meta description text and character count, JSON-LD schema object or schema type to auto-generate (Article, Product, FAQ, HowTo, LocalBusiness, BreadcrumbList), canonical URL target, redirect source and destination with type (301 or 302), or indexing priority (normal or urgent)
  • CMS platform: wordpress or webflow — must have the corresponding CMS MCP server connected. For WordPress, specify whether SEO fields are managed by Yoast, RankMath, or All in One SEO. For Webflow, native SEO settings are used directly

Process

  1. Load brand context: Read ~/.claude-marketing/brands/_active-brand.json for the active slug, then load ~/.claude-marketing/brands/{slug}/profile.json. Apply brand voice, compliance rules for target markets (skills/context-engine/compliance-rules.md), and industry context. Also check for guidelines at ~/.claude-marketing/brands/{slug}/guidelines/_manifest.json — if present, load restrictions. Check for agency SOPs at ~/.claude-marketing/sops/. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
  2. Validate proposed changes against current page state: Capture a pre-change snapshot of the existing meta tags, schema markup, canonical settings, and redirect rules for each target URL via the CMS MCP. Compare proposed changes against SEO best practices — title tag length (50-60 characters), meta description length (150-160 characters), schema validity against Google's structured data requirements, canonical URL accessibility, and redirect target status codes.
  3. Generate the change specification for each URL: Map proposed changes to CMS API fields — for WordPress: Yoast meta fields (_yoast_wpseo_title, _yoast_wpseo_metadesc), RankMath equivalents, or AIOSEO fields; for Webflow: page SEO settings object. For schema deployment, generate valid JSON-LD from the specified type using page content and brand data, or validate user-provided JSON-LD against schema.org specifications and Google's rich result requirements.
  4. Create approval gate: Present all changes as a diff (before/after) for user review — old title tag vs. new title tag, old schema vs. new schema, current canonical vs. proposed canonical. Assess risk level: medium for single-page changes with straightforward updates, high for bulk updates affecting more than 5 pages, redirect creation, or canonical changes that could affect indexation. Display estimated impact and any warnings (e.g., title too long, schema missing required fields).
  5. Execute changes via CMS MCP on approval: Deploy the approved changes through the connected WordPress or Webflow MCP server. For meta updates: write new values to the SEO plugin fields. For schema: inject JSON-LD into the page head or SEO plugin schema field. For redirects: create rules via the Redirection plugin API, RankMath redirects, or Webflow native redirect API. For indexing requests: submit URLs via Google Search Console MCP.
  6. Verify post-deployment: Read the updated page data back from the CMS to confirm changes took effect — compare deployed values against the approved specification. For redirects, test the HTTP response code and destination. For indexing requests, confirm submission acceptance. Flag any discrepancies between intended and actual deployed state.
  7. Log all changes via seo-executor.py: Record every change with timestamp, URL, change type, before-state, after-state, CMS platform, approval reference, and rollback data. Store rollback snapshots so changes can be reverted if needed.

Output

A structured implementation report containing:

  • Change confirmation: Before/after comparison for each URL and change type — showing exactly what was modified, with character counts for meta tags and validation status for schema markup
  • Verification status: Post-deployment check results confirming each change is live and matches the approved specification, with any discrepancies flagged
  • Rollback instructions: Step-by-step instructions and stored snapshots to revert each change if needed — previous meta values, removed schema, deleted redirects, or restored canonicals
  • Execution log entry: Timestamped record with full change metadata, CMS API responses, approval reference, and rollback data for audit trail

Agents Used

  • seo-specialist — Pre-change SEO validation against best practices (title length, description length, schema requirements, canonical logic, redirect rules), change specification generation mapping SEO fields to CMS API parameters, JSON-LD schema generation and validation against schema.org and Google structured data guidelines, and post-deployment verification of SEO correctness
  • execution-coordinator — CMS MCP execution for WordPress (Yoast, RankMath, AIOSEO, Redirection plugin) and Webflow (native SEO settings and redirect API), approval workflow with risk assessment scaled to change scope and type, rollback data capture and storage, and execution logging with full audit trail
1---
2name: seo-implement
3description: "Implement approved SEO fixes on a connected CMS, approval-gated. \"push the audit fixes live\""
4disable-model-invocation: false
5argument-hint: "[URL or change-type]"
6---
7 
8# /digital-marketing-pro:seo-implement
9 
10> **Script location.** If your host does not set `${CLAUDE_PLUGIN_ROOT}`, the scripts are in this plugin's `scripts/` folder, next to `skills/`. Run them with Python 3.10 or newer: `python`, or `python3` where `python` is not found (macOS, many Linux systems).
11 
12## Purpose
13 
14Execute SEO implementation changes on connected CMS platforms. Goes beyond analysis to actually update meta tags, deploy JSON-LD schema markup, manage canonical URLs, create 301/302 redirects, and request indexing — all via WordPress or Webflow MCP connections. This command bridges the gap between SEO recommendations and live deployment, ensuring that audit findings and optimization plans translate into real page-level changes with full audit trails and rollback capability.
15 
16## Execution gate (MANDATORY — cannot be skipped)
17 
181. Present the full preview — the before/after diff of every meta / schema / canonical / redirect change, plus scope and compliance — as an **Execution Summary** before touching any live page.
192. The user must type `yes` (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run.
203. Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
214. Only after the user types `yes`, record it: `python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"seo-implement","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}'`, then `python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}`. If either command errors, stop and report the error; never work around it with another tool. The record proves the approval step ran for this action; it cannot prove who typed `yes`.
225. Execute. A write sent through `connector_executor.py` needs `--approval-id` and fires only against a matching, unused, unexpired record (see `/digital-marketing-pro:execute-action`). A write through a connected MCP server tool is outside that code check: it relies on this typed `yes` and on your host's permission prompt. Afterwards run `python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}'` (or `failure`).
23 
24## Input Required
25 
26The user must provide (or will be prompted for):
27 
28- **Target URL(s)**: One or more URLs to modify — a single page for targeted updates or a batch of URLs for bulk operations like site-wide schema deployment or migration-related meta tag updates
29- **Change type**: The SEO modification to perform — `meta-update` (title tag, meta description, robots directives), `schema-deploy` (JSON-LD structured data), `canonical` (set or update canonical URL), `redirect` (create 301/302 redirect), or `indexing-request` (submit URL to Google for crawling via Search Console). Multiple change types can be combined for a single URL
30- **Specific values**: The new data to apply — new title tag text and character count, new meta description text and character count, JSON-LD schema object or schema type to auto-generate (Article, Product, FAQ, HowTo, LocalBusiness, BreadcrumbList), canonical URL target, redirect source and destination with type (301 or 302), or indexing priority (normal or urgent)
31- **CMS platform**: `wordpress` or `webflow` — must have the corresponding CMS MCP server connected. For WordPress, specify whether SEO fields are managed by Yoast, RankMath, or All in One SEO. For Webflow, native SEO settings are used directly
32 
33## Process
34 
351. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply brand voice, compliance rules for target markets (`skills/context-engine/compliance-rules.md`), and industry context. Also check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, load restrictions. Check for agency SOPs at `~/.claude-marketing/sops/`. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
362. **Validate proposed changes against current page state**: Capture a pre-change snapshot of the existing meta tags, schema markup, canonical settings, and redirect rules for each target URL via the CMS MCP. Compare proposed changes against SEO best practices — title tag length (50-60 characters), meta description length (150-160 characters), schema validity against Google's structured data requirements, canonical URL accessibility, and redirect target status codes.
373. **Generate the change specification for each URL**: Map proposed changes to CMS API fields — for WordPress: Yoast meta fields (`_yoast_wpseo_title`, `_yoast_wpseo_metadesc`), RankMath equivalents, or AIOSEO fields; for Webflow: page SEO settings object. For schema deployment, generate valid JSON-LD from the specified type using page content and brand data, or validate user-provided JSON-LD against schema.org specifications and Google's rich result requirements.
384. **Create approval gate**: Present all changes as a diff (before/after) for user review — old title tag vs. new title tag, old schema vs. new schema, current canonical vs. proposed canonical. Assess risk level: `medium` for single-page changes with straightforward updates, `high` for bulk updates affecting more than 5 pages, redirect creation, or canonical changes that could affect indexation. Display estimated impact and any warnings (e.g., title too long, schema missing required fields).
395. **Execute changes via CMS MCP on approval**: Deploy the approved changes through the connected WordPress or Webflow MCP server. For meta updates: write new values to the SEO plugin fields. For schema: inject JSON-LD into the page head or SEO plugin schema field. For redirects: create rules via the Redirection plugin API, RankMath redirects, or Webflow native redirect API. For indexing requests: submit URLs via Google Search Console MCP.
406. **Verify post-deployment**: Read the updated page data back from the CMS to confirm changes took effect — compare deployed values against the approved specification. For redirects, test the HTTP response code and destination. For indexing requests, confirm submission acceptance. Flag any discrepancies between intended and actual deployed state.
417. **Log all changes via seo-executor.py**: Record every change with timestamp, URL, change type, before-state, after-state, CMS platform, approval reference, and rollback data. Store rollback snapshots so changes can be reverted if needed.
42 
43## Output
44 
45A structured implementation report containing:
46 
47- **Change confirmation**: Before/after comparison for each URL and change type — showing exactly what was modified, with character counts for meta tags and validation status for schema markup
48- **Verification status**: Post-deployment check results confirming each change is live and matches the approved specification, with any discrepancies flagged
49- **Rollback instructions**: Step-by-step instructions and stored snapshots to revert each change if needed — previous meta values, removed schema, deleted redirects, or restored canonicals
50- **Execution log entry**: Timestamped record with full change metadata, CMS API responses, approval reference, and rollback data for audit trail
51 
52## Agents Used
53 
54- **seo-specialist** — Pre-change SEO validation against best practices (title length, description length, schema requirements, canonical logic, redirect rules), change specification generation mapping SEO fields to CMS API parameters, JSON-LD schema generation and validation against schema.org and Google structured data guidelines, and post-deployment verification of SEO correctness
55- **execution-coordinator** — CMS MCP execution for WordPress (Yoast, RankMath, AIOSEO, Redirection plugin) and Webflow (native SEO settings and redirect API), approval workflow with risk assessment scaled to change scope and type, rollback data capture and storage, and execution logging with full audit trail
56 

Discussion

Alternatives

Agentic Browsing ReadinessAudit and fix agent readiness: the Lighthouse Agentic Browsing fraction, accessibility tree for agents, robots.txt and Content-Signal for AI agents, WAF treatment of agent traffic, llms.txt, Markdown delivery, ai-catalog.json, /.well-known discovery files, and WebMCP tools. Exclude AI citability and brand signals (seo-geo) and commerce protocol depth (seo-ecommerce).Marketing · MITBacklink Profile AnalysisBacklink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.Marketing · MIT/setup-cmsConnect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my CMS", "set up WordPress", "configure Strapi", "add Contentful", "connect Ghost", or "CMS setup". Also trigger if the user asks why no CMS data appears in a seo-analysis report. · MITBacklink checkBacklink profile for any domain — referring domains, authority, anchors, new/lost links, and a side-by-side vs a competitor. Use when asked "check my backlinks", "backlink profile of X", "who links to them", or "link gap vs competitor".Marketing · MIT