commit 2dbdf37e8bb59860e12f1fea8feac2da54307a51 Author: Zhongwei Li Date: Sat Nov 29 18:31:52 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..8d36eb9 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,24 @@ +{ + "name": "seo", + "description": "Keyword strategy, on-page optimization, and technical SEO operations", + "version": "1.0.0", + "author": { + "name": "GTM Agents", + "email": "opensource@intentgpt.ai" + }, + "skills": [ + "./skills/keyword-research/SKILL.md", + "./skills/on-page/SKILL.md", + "./skills/technical-seo/SKILL.md" + ], + "agents": [ + "./agents/seo-architect.md", + "./agents/content-optimizer.md", + "./agents/technical-lead.md" + ], + "commands": [ + "./commands/build-keyword-strategy.md", + "./commands/optimize-page.md", + "./commands/audit-site.md" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8df93ca --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# seo + +Keyword strategy, on-page optimization, and technical SEO operations diff --git a/agents/content-optimizer.md b/agents/content-optimizer.md new file mode 100644 index 0000000..7042288 --- /dev/null +++ b/agents/content-optimizer.md @@ -0,0 +1,27 @@ +--- +name: content-optimizer +description: Produces SEO briefs, outlines, and on-page optimization guidance for each asset. +model: haiku +--- + +# Content Optimizer Agent + +## Responsibilities +- Convert keyword targets into detailed content briefs (search intent, outline, FAQs, CTAs). +- Optimize existing pages for title/meta, headings, copy depth, multimedia, and internal links. +- Collaborate with writers/designers to ensure brand voice + SEO compliance. +- Track performance and recommend refresh cadences. + +## Process +1. **Input Intake** – confirm audience, funnel stage, desired action. +2. **SERP Review** – analyze competing results, content types, schema usage. +3. **Brief Creation** – outline structure, talking points, proof sources, CTA. +4. **Optimization Checklist** – specify keyword placement, media, structured data, accessibility. +5. **Measurement** – log publish date, target metrics, refresh reminders. + +## Deliverables +- Brief document with outline + resources. +- Optimization diff (before/after suggestions). +- Tracking sheet entry with KPI targets. + +--- diff --git a/agents/seo-architect.md b/agents/seo-architect.md new file mode 100644 index 0000000..bebe41f --- /dev/null +++ b/agents/seo-architect.md @@ -0,0 +1,27 @@ +--- +name: seo-architect +description: Defines keyword strategy, information architecture, and on-page optimization plans. +model: sonnet +--- + +# SEO Architect Agent + +## Responsibilities +- Translate GTM priorities into keyword/topic clusters with search intent mapping. +- Design site architecture, pillar pages, and internal linking plans. +- Recommend technical SEO requirements (schema, core web vitals, crawl budget). +- Partner with content, web, and product teams to execute roadmaps. + +## Workflow +1. **Discovery** – gather goals, ICP, current rankings, constraints. +2. **Research** – compile keyword universe, SERP analysis, competitor gaps. +3. **Architecture** – map topics to pages, define URL conventions, linking strategy. +4. **Optimization Specs** – create on-page checklist (title, meta, H1/H2, schema, CTA). +5. **Measurement** – set KPIs (rank, traffic, conversions) and instrumentation plan. + +## Outputs +- Keyword strategy brief with cluster hierarchy. +- Page-level optimization specs. +- Implementation backlog prioritized by impact vs effort. + +--- diff --git a/agents/technical-lead.md b/agents/technical-lead.md new file mode 100644 index 0000000..cf13dc4 --- /dev/null +++ b/agents/technical-lead.md @@ -0,0 +1,29 @@ +--- +name: technical-lead +description: Diagnoses site health, crawlability, and performance to unlock organic + growth. +model: haiku +--- + + +# Technical SEO Lead Agent + +## Responsibilities +- Monitor crawl stats, indexation, sitemap health, and canonicalization. +- Define requirements for schema, page speed, mobile friendliness, and internationalization. +- Coordinate with engineering to roll out fixes (redirects, hreflang, structured data). +- Build alerting for regressions (Core Web Vitals, crawl errors, 404 spikes). + +## Diagnostics Flow +1. **Crawl Review** – Screaming Frog/JetOctopus crawl, log files, Search Console. +2. **Performance Scan** – Lighthouse/Core Web Vitals, third-party blockers, JS hydration. +3. **Indexation** – sitemap coverage, duplicates, canonicals, noindex tags. +4. **Structured Data** – schema coverage, errors, opportunities. +5. **Action Plan** – prioritize fixes by impact, complexity, owner. + +## Outputs +- Technical SEO audit deck + spreadsheet. +- Jira backlog with prioritized tickets. +- Monitoring checklist (alerts, dashboards, owner assignments). + +--- diff --git a/commands/audit-site.md b/commands/audit-site.md new file mode 100644 index 0000000..846cbb2 --- /dev/null +++ b/commands/audit-site.md @@ -0,0 +1,32 @@ +--- +name: audit-site +description: Runs a technical SEO audit covering crawlability, indexation, and performance. +usage: /seo:audit-site --domain example.com --scope "core pages" --depth 3 +--- + +# Command: audit-site + +## Inputs +- **domain** – root domain or subdomain to audit. +- **scope** – optional focus (core pages, blog, docs, regional site). +- **depth** – crawl depth (default 3 levels). +- **include_logfiles** – flag indicating whether log files are available. + +## Workflow +1. **Crawl Setup** – configure crawler (user agent, JS rendering, throttling) and run sample crawl. +2. **Issue Detection** – flag broken links, duplicate content, redirect chains, orphan pages, sitemap gaps. +3. **Technical Checks** – review Core Web Vitals, structured data coverage, hreflang, canonical tags, robots directives. +4. **Indexation Review** – compare sitemap vs Search Console coverage, identify noindex/blocked assets. +5. **Action Plan** – prioritize fixes with owners, dependencies, and estimated effort. + +## Outputs +- Audit summary deck and spreadsheet with severity scoring. +- Ticket-ready backlog grouped by theme (performance, crawlability, content, infra). +- Monitoring recommendations (alerts, dashboards, regression tests). + +## Agent/Skill Invocations +- `technical-seo-lead` – leads crawl and action plan. +- `technical-seo` skill – provides diagnostic templates and remediation references. +- `keyword-research` skill – aligns technical fixes with priority keyword clusters when relevant. + +--- diff --git a/commands/build-keyword-strategy.md b/commands/build-keyword-strategy.md new file mode 100644 index 0000000..d59fcc9 --- /dev/null +++ b/commands/build-keyword-strategy.md @@ -0,0 +1,32 @@ +--- +name: build-keyword-strategy +description: Generates intent-based keyword clusters and prioritization for SEO roadmaps. +usage: /seo:build-keyword-strategy --topic "revops automation" --locale en-US --tier 3 +--- + +# Command: build-keyword-strategy + +## Inputs +- **topic** – seed topic, product, or persona focus. +- **locale** – market/language (default en-US). +- **tier** – optional priority (1 = must-win, 3 = explore). +- **competitors** – optional competitor domains for SERP gap analysis. + +## Workflow +1. **Seed Expansion** – build keyword universe via semantic expansion + intent variants. +2. **Classification** – bucket by funnel stage, search intent, and pillar vs cluster. +3. **Scoring** – attach volume, difficulty, SERP features, click potential. +4. **Gap Analysis** – compare against existing URLs + competitor coverage. +5. **Roadmap** – prioritize clusters with recommended owners, assets, and deadlines. + +## Outputs +- Keyword cluster table (term, intent, volume, KD, current URL, opportunity). +- Pillar/cluster mapping visual (mermaid or table). +- Action plan with sprint-ready tasks. + +## Agent/Skill Invocations +- `seo-architect` – oversees strategy and architecture. +- `keyword-research` skill – supplies research frameworks and quality gates. +- `technical-seo-lead` – validates feasibility for new pillar structures. + +--- diff --git a/commands/optimize-page.md b/commands/optimize-page.md new file mode 100644 index 0000000..a9b4af9 --- /dev/null +++ b/commands/optimize-page.md @@ -0,0 +1,32 @@ +--- +name: optimize-page +description: Audits and enhances an existing page for target keywords, UX, and conversion goals. +usage: /seo:optimize-page --url https://example.com/guide --target "sales enablement platform" +--- + +# Command: optimize-page + +## Inputs +- **url** – page to audit. +- **target** – primary keyword or topic. +- **secondary_terms** – optional supporting keywords. +- **goal** – conversion goal (lead, signup, demo) to align CTAs. + +## Workflow +1. **Baseline Snapshot** – capture current rankings, traffic, SERP snippet, schema. +2. **Gap Analysis** – compare page structure vs ranking competitors, search intent alignment. +3. **Optimization Plan** – recommend updates for title/meta, headings, copy depth, media, CTAs, internal links. +4. **Technical Check** – validate core web vitals, structured data, mobile usability. +5. **Measurement Plan** – document KPIs, publish date, refresh reminders. + +## Outputs +- Optimization diff (table of recommended changes). +- Updated metadata + structured data snippets. +- Internal link recommendations and CTA experiments. + +## Agent/Skill Invocations +- `content-optimizer` – crafts updated copy/brief. +- `on-page` skill – enforces placement/checklists. +- `technical-seo-lead` – ensures performance/schema compliance. + +--- diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..2f04927 --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,77 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:gtmagents/gtm-agents:plugins/seo", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "8d58f2170487c3189fff81b5a0bc78501cbf299b", + "treeHash": "48f4c29a4cff558547deec5ad470ee876d9d8ef1557865cc7bbd03b52cf84a3f", + "generatedAt": "2025-11-28T10:17:08.752398Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "seo", + "description": "Keyword strategy, on-page optimization, and technical SEO operations", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "b1dac72527bddfdc15999c5797e9d7c4eadea74a6b7f64bc23dcd8fcaa670f80" + }, + { + "path": "agents/seo-architect.md", + "sha256": "cc689d0d5490e85686694f45e76a133e16360c787edc4a379d36dff556a7d1ac" + }, + { + "path": "agents/content-optimizer.md", + "sha256": "e1dfbcb67ed5e09e799ace3d2ade804b0c11396f43b0475a85d26d82968fb0a3" + }, + { + "path": "agents/technical-lead.md", + "sha256": "052e6e7e783f85faacd9e299613e536a29a69d2bf0bf16313303c8fa3be7b681" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "454d8e075e4af6a1c3e0c69ca641e54d8d92a220b9e97c1fa616fafd28f72968" + }, + { + "path": "commands/audit-site.md", + "sha256": "33bf541d821684d426b80fcf67e2f5699d691bfabdd8d4064da27a0a59d9e70b" + }, + { + "path": "commands/build-keyword-strategy.md", + "sha256": "21a574f4022775257049b952b83c5d3fd0ae49afcf1106776aa53f9903e40f7d" + }, + { + "path": "commands/optimize-page.md", + "sha256": "835e294a137096699ea572001b0234ca7e14ba5ab301e484c52e8242b603c69a" + }, + { + "path": "skills/on-page/SKILL.md", + "sha256": "359ba14ef0463cfed8a163d09cd2bfcdba712ab557968073fad6d4bd8970ba62" + }, + { + "path": "skills/keyword-research/SKILL.md", + "sha256": "adcd75dd8998797199094f030f4090874549952b00e2d1eada8201ec05998a53" + }, + { + "path": "skills/technical-seo/SKILL.md", + "sha256": "3e0b3b38472849d90e2d464b54b87e65f5bda489ca1b3c7f114f455ccf2bf194" + } + ], + "dirSha256": "48f4c29a4cff558547deec5ad470ee876d9d8ef1557865cc7bbd03b52cf84a3f" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file diff --git a/skills/keyword-research/SKILL.md b/skills/keyword-research/SKILL.md new file mode 100644 index 0000000..89129c6 --- /dev/null +++ b/skills/keyword-research/SKILL.md @@ -0,0 +1,31 @@ +--- +name: keyword-research +description: Use when expanding seed topics into intent-based clusters and prioritizing + opportunities. +--- + +# Keyword Research Systems Skill + +## When to Use +- Kicking off a new product/vertical SEO plan. +- Validating which clusters justify net-new content. +- Refreshing legacy keyword maps with updated volumes/intent. + +## Framework +1. **Seed Intake** – capture ICP, problems solved, solution terms. +2. **Expansion Sources** – combine auto-suggest, People Also Ask, competitor URLs, forums. +3. **Classification** – assign funnel stage + intent (informational, commercial, transactional, navigational). +4. **Scoring** – evaluate search volume, keyword difficulty, SERP click potential, seasonality. +5. **Prioritization** – stack rank via ICE/RICE or weighted scoring tied to business impact. + +## Templates +- Cluster worksheet `Topic → Intent → Page Type → Owner`. +- SERP teardown table (result type, schema, search feature presence). +- Opportunity score calculator (volume * intent-fit / difficulty). + +## Tips +- Map 1 pillar page for every 4-6 cluster articles to support internal linking. +- Track query freshness to schedule refresh cadences. +- Align with paid search data to spot immediate conversion opportunities. + +--- diff --git a/skills/on-page/SKILL.md b/skills/on-page/SKILL.md new file mode 100644 index 0000000..a9ebc22 --- /dev/null +++ b/skills/on-page/SKILL.md @@ -0,0 +1,34 @@ +--- +name: on-page +description: Use when crafting or refreshing pages to align copy, UX, and conversion + goals with target keywords. +--- + +# On-Page Optimization Checklist + +## When to Use +- Writing a new page or blog post targeting a specific keyword cluster. +- Refreshing an existing asset to regain rankings. +- QA before publishing to ensure metadata/structure compliance. + +## Framework +1. **Search Intent Match** – confirm headline + intro address intent quickly. +2. **Metadata** – title <60 chars with primary keyword, compelling meta description, og tags. +3. **Structure** – H1 exact match, H2/H3 covering supporting terms, TOC for long form. +4. **Copy Enhancements** – add stats, quotes, proof points, multimedia blocks. +5. **Internal/External Links** – link to pillar + related clusters; cite credible sources. +6. **Conversion Hooks** – contextual CTAs, sticky bars, lead magnets. +7. **Accessibility** – descriptive alt text, ARIA labels, high contrast. +8. **Structured Data** – FAQ, HowTo, Article schema as relevant. + +## Templates +- Optimization diff table (Element, Current, Recommended, Rationale). +- CTA matrix aligning funnel stage with offers. +- Internal link planner. + +## Tips +- Keep paragraph length 2–3 sentences for readability. +- Embed video/audio transcripts for multimedia. +- Track refresh date + metrics to measure impact. + +--- diff --git a/skills/technical-seo/SKILL.md b/skills/technical-seo/SKILL.md new file mode 100644 index 0000000..15b4dc9 --- /dev/null +++ b/skills/technical-seo/SKILL.md @@ -0,0 +1,53 @@ +--- +name: technical-seo +description: Use when diagnosing crawl/index issues, performance regressions, or structured + data gaps. +--- + +# Technical SEO Playbooks + +## When to Use +- Sites experiencing ranking drops despite strong content. +- Launching major site changes (CMS migrations, redesigns). +- Investigating Core Web Vitals, crawl budget, or indexing issues. + +## Framework +1. **Crawl Health** – Screaming Frog/JetOctopus results, search console coverage, log file sampling. +2. **Performance** – Lighthouse field vs lab data, render-blocking assets, code splitting, image optimization. +3. **Indexation & Signals** – robots.txt, canonicals, hreflang, pagination, parameter handling. +4. **Structured Data** – schema coverage, errors, merchant/product feeds. +5. **Security & Compliance** – HTTPS, mixed content, cookie banners, accessibility. + +## Playbooks +- **Migrations** – pre/post launch checklist, redirect maps, monitoring dashboards. +- **CWV Improvements** – prioritized backlog (LCP, INP, CLS fixes) with eng dependencies. +- **International SEO** – hreflang matrix, localized sitemaps, translation QA. +- **GTM Agents Audit Checklist** – five-pass review (crawl → index → performance → schema → reporting) @puerto/README.md#183-212. +- **Issue Escalation Flow** – Marketing Director ↔ DevOps ↔ Content to fast-track blocking defects. + +## Templates +- Crawl issue tracker (URL, issue, severity, owner, status). +- Core Web Vitals monitoring dashboard. +- Structured data coverage sheet. +- KPI guardrail sheet (sessions, rankings, conversions) with "alert" thresholds matching GTM Agents governance cadence. + +## Tips +- Pair log-file analysis with Search Console stats to confirm real-world crawl behavior. +- Automate regression alerts via Lighthouse CI or SpeedCurve. +- Document every infra change with timestamp to correlate with ranking volatility. +- Share Guardrail snapshots weekly using GTM Agents-style status packet (target vs actual vs guardrail) to keep Sales + Execs aligned. +- Trigger rollback when three guardrail breaches occur in 24h or when crawl errors spike >25% vs baseline. + +## GTM Agents SEO Escalation Workflow +1. **Detection** – SEO specialist flags issue via crawl report or KPI guardrail breach. +2. **Triage** – assign severity (P0-P2) + owner across Engineering, Content, or RevOps. +3. **Action** – implement fix, document via Serena patch or CMS change log. +4. **Validation** – rerun crawl/perf audits, update structured data validator. +5. **Comms** – send 3-point summary (issue, fix, KPI impact) in status packet. + +## KPI Guardrails +- Organic sessions: ±10% vs trailing 4-week baseline (alert beyond 15%). +- Priority keyword avg rank: no more than 2 position drop for Tier-1 terms. +- Conversion contribution: must stay within 5% of forecasted pipeline; otherwise notify Growth + Sales. + +---