SkillAtlasSkill 详情

seo-programmatic

Codex-first SEO analysis suite with 1 orchestrator skill, 26 specialist workflows, 24 TOML agent...

审核状态:已审核Quality 80Security 88

复制安装命令

用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。

复制前请先查看来源、License 和安全提示。

项目 README

来源文件:README.md

抓取于 2026年8月25日

Codex SEO: SEO audit skill suite for Codex

Watch on YouTube

Codex SEO - SEO Audit Skill Suite for Codex

Codex-first SEO analysis suite with 1 orchestrator skill, 26 specialist workflows, 24 TOML agent profiles, MCP/API extensions, deterministic headless runners, and premium audit report generation.

CI Release Codex Skill License: MIT Python Workflows

Codex SEO is a Codex-native port of AgriciDaniel/claude-seo, synchronized to upstream main at a9cf338 and adapted for Codex skills, Codex plugins, TOML agents, shared cache artifacts, and repeatable local/API execution.

It covers technical SEO, on-page analysis, content quality, E-E-A-T, schema markup, image optimization, sitemap architecture, Core Web Vitals, GEO/AEO for AI search, backlinks, local SEO, maps intelligence, Google APIs, semantic clustering, SXO, drift monitoring, e-commerce SEO, hreflang, FLOW prompts, DataForSEO, Firecrawl, and Gemini/nanobanana image workflows.

Contents

Status

  • Repository visibility: public.
  • Current release: v1.9.6-codex.5.
  • Installer default ref: v1.9.6-codex.5.
  • Latest local validation: 52 tests passing, full installed smoke suite passing, demo readiness passing.
  • Runtime credentials stay outside the repo under Codex/local config paths.
  • Discovery topics: codex, codex-cli, codex-skills, seo, ai-seo, ai-search, technical-seo, generative-engine-optimization, core-web-vitals, schema-markup, local-seo, ecommerce-seo, content-strategy, google-search-console, dataforseo, mcp, python, automation, marketing-automation, open-source.

Install

One-Line Install

curl -fsSL https://raw.githubusercontent.com/AgriciDaniel/codex-seo/v1.9.6-codex.5/install.sh | bash

Windows:

irm https://raw.githubusercontent.com/AgriciDaniel/codex-seo/v1.9.6-codex.5/install.ps1 | iex

Review Before Installing

git clone https://github.com/AgriciDaniel/codex-seo.git
cd codex-seo
bash install.sh

Windows:

git clone https://github.com/AgriciDaniel/codex-seo.git
cd codex-seo
powershell -ExecutionPolicy Bypass -File .\install.ps1

The installer copies the skill suite into ~/.codex/skills/, installs TOML agents into ~/.codex/agents/, creates a Python virtualenv at ~/.codex/skills/seo/.venv/, installs core runtime dependencies, attempts optional capability groups, and verifies the runtime.

Installer Overrides

CODEX_HOME=~/.codex \
CODEX_SEO_REPO=https://github.com/AgriciDaniel/codex-seo \
CODEX_SEO_REF=v1.9.6-codex.5 \
bash install.sh
VariablePurpose
CODEX_HOMEAlternate Codex home. Defaults to ~/.codex.
CODEX_SEO_REPOGit URL, fork URL, or local repository path.
CODEX_SEO_REFBranch, tag, or commit. Defaults to v1.9.6-codex.5.
CODEX_SEO_SKIP_PLAYWRIGHT_BROWSER=1Skip Chromium install for visual/PDF workflows.
CODEX_SEO_PLAYWRIGHT_WITH_DEPS=1Ask Playwright to install system dependencies where supported.

Quick Start

Restart Codex after installation. Then ask naturally; a /seo command is not required:

Do a full SEO check on https://example.com following best practices.
Review this page for schema, Core Web Vitals, image SEO, and AI search readiness.
Create an SEO strategy and content roadmap for a local dental clinic.

Command-style prompts also work:

/seo audit https://example.com
/seo technical https://example.com
/seo schema https://example.com
/seo dataforseo serp "best seo tools"

Visual Overview

Codex SEO is designed as a Codex-first routing layer: the user can ask naturally, the orchestrator selects the right specialist workflow, and deterministic runners write repeatable artifacts instead of relying on invisible chat-only output.

%%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%%
flowchart LR
  user["User prompt<br/>natural language or /seo"] --> orchestrator["skills/seo/SKILL.md<br/>main orchestrator"]
  orchestrator --> cache[".seo-cache<br/>shared evidence"]
  orchestrator --> skills["26 specialist<br/>SEO workflows"]
  skills --> agents["24 TOML agents<br/>parallel analysis slices"]
  skills --> scripts["scripts/<br/>deterministic runners"]
  scripts --> output["output/<br/>Markdown, JSON, HTML, PDF"]
  cache --> skills
  class user,orchestrator accent
  class cache,scripts data
  class output output
  classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px
  classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px
  classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px
  classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px

Commands

PromptPurpose
/seo audit <url>Full site audit with specialist routing and premium report support
/seo page <url>Deep single-page SEO analysis
/seo technical <url>Crawlability, indexability, security, JavaScript, CWV
/seo content <url>E-E-A-T, helpfulness, readability, AI citation readiness
/seo schema <url>Structured data detection, validation, and JSON-LD generation
/seo images <url>Alt text, image weight, formats, metadata, image SERP opportunities
/seo sitemap <url>XML sitemap discovery, quality gates, generation guidance
/seo geo <url>AI Overviews, ChatGPT, Perplexity, llms.txt, citability
/seo performance <url>Core Web Vitals, Lighthouse-oriented performance signals
/seo visual <url>Screenshots, mobile rendering, above-the-fold analysis
/seo plan <business-type>Strategic SEO roadmap and content plan
/seo programmatic <url>Programmatic SEO risk and scale planning
/seo competitor-pages <url>Comparison and alternatives page opportunities
/seo hreflang <url>International SEO, locale validation, content parity
/seo local <url>Local SEO, GBP signals, NAP, citations, reviews
/seo maps <command>Geo-grid, GBP audit, review intelligence, local maps signals
/seo google <command>GSC, PageSpeed, CrUX, Indexing API, GA4 workflows
/seo backlinks <url>Backlink profile summary and source-tier detection
/seo cluster <keyword>SERP-based topic clustering and hub-spoke planning
/seo sxo <url>Search Experience Optimization, intent/page-type fit
/seo drift baseline <url>Capture an SEO baseline before changes
/seo drift compare <url>Compare current SEO signals against a baseline
/seo ecommerce <url>Product SEO, marketplace visibility, product schema
/seo flow <stage>FLOW framework prompts for Find, Leverage, Optimize, Win
/seo dataforseo <command>Live SERP, keyword, backlink, content, and AI visibility data
/seo firecrawl <command>JS-rendered crawling and site mapping via Firecrawl
/seo image-gen <use-case>OG images, hero images, product visuals, infographics

Full command details live in docs/COMMANDS.md.

Features

Full Audit Pipeline

  • Detects site/business type.
  • Runs technical, content, schema, sitemap, performance, visual, GEO, image, and on-page analysis.
  • Adds conditional specialists for local, maps, Google APIs, backlinks, clusters, SXO, drift, and e-commerce.
  • Writes markdown reports, JSON summaries, cache artifacts, and optional premium HTML/PDF output.
%%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%%
flowchart TD
  request["Audit request"] --> detect["Detect site type<br/>business model and context"]
  detect --> core["Core audit specialists"]
  core --> technical["Technical"]
  core --> content["Content"]
  core --> schema["Schema"]
  core --> sitemap["Sitemap"]
  core --> geo["GEO / AI search"]
  core --> images["Images"]
  core --> performance["Performance"]
  core --> visual["Visual"]
  detect --> conditional["Conditional specialists"]
  conditional --> local["Local / Maps"]
  conditional --> backlinks["Backlinks"]
  conditional --> google["Google APIs"]
  conditional --> ecommerce["E-commerce"]
  conditional --> drift["Drift"]
  technical --> report["Unified SEO report"]
  content --> report
  schema --> report
  sitemap --> report
  geo --> report
  images --> report
  performance --> report
  visual --> report
  local --> report
  backlinks --> report
  google --> report
  ecommerce --> report
  drift --> report
  report --> artifacts["SUMMARY.json<br/>FULL-AUDIT-REPORT.md<br/>ACTION-PLAN.md<br/>optional HTML/PDF"]
  class request,detect accent
  class core,conditional data
  class report,artifacts output
  classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px
  classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px
  classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px
  classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px

Technical SEO

  • Robots.txt, sitemap discovery, canonical checks, indexability, URL hygiene.
  • Security headers, JavaScript rendering risk, mobile basics, IndexNow.
  • Core Web Vitals with INP, LCP, CLS, FCP, TTFB, and PageSpeed/CrUX integrations where available.

Content, GEO, And SXO

  • E-E-A-T and helpful content signals.
  • AI citation readiness, answer-first formatting, entity clarity, llms.txt support.
  • Search experience analysis: page type, user stories, persona fit, intent mismatch.

Structured Data

  • JSON-LD extraction and validation.
  • Schema recommendations for Organization, LocalBusiness, Product, Article, FAQ, Breadcrumb, and related types.
  • Generated schema artifacts for downstream use.

Local, Maps, And E-Commerce SEO

  • Local SEO signals, GBP readiness, citations, reviews, NAP consistency.
  • Maps intelligence via free sources and DataForSEO when configured.
  • Product schema, marketplace endpoints, merchant visibility, and e-commerce template checks.

Drift Monitoring

  • Capture SEO-critical baselines.
  • Compare deployments or page changes.
  • Track title, meta, headings, canonical, schema, robots, links, and content deltas.
%%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","actorBkg":"#07131c","actorBorder":"#00d7e6","actorTextColor":"#f5fbff","actorLineColor":"#21e6c1","signalColor":"#21e6c1","signalTextColor":"#f5fbff","labelBoxBkgColor":"#10151a","labelTextColor":"#f5fbff","noteBkgColor":"#10151a","noteTextColor":"#f5fbff","activationBkgColor":"#06222a","activationBorderColor":"#ff9f1c","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%%
sequenceDiagram
  participant Before as Baseline
  participant Runner as Drift runner
  participant After as Current page
  participant Cache as .seo-cache
  participant Report as Drift report
  Before->>Runner: Capture titles, metas, canonicals, schema, headings
  Runner->>Cache: Store baseline snapshot
  After->>Runner: Re-check current SEO signals
  Cache->>Runner: Load prior snapshot
  Runner->>Report: Write changed, missing, and regressed signals

Deterministic Runners

  • scripts/run_skill_workflow.py standardizes output for every user-invokable workflow.
  • scripts/run_api_smoke_suite.py runs all supported workflows in one pass.
  • Setup-required workflows return structured fallback results instead of pretending live data exists.

Extensions

ExtensionSkillSetupNotes
DataForSEOseo-dataforseo, seo-maps, seo-ecommerce, seo-cluster./extensions/dataforseo/install.shLive SERP, keyword, backlinks, on-page, content, business data, AI visibility
Google APIsseo-google, seo-performancepython scripts/google_auth.py --setupPageSpeed, CrUX, GSC, URL Inspection, Indexing API, GA4
Firecrawlseo-firecrawl./extensions/firecrawl/install.shJS-rendered crawl, scrape, site map
Banana / Geminiseo-image-gen./extensions/banana/install.shAI image generation through nanobanana-mcp

Optional integrations enrich the same workflow surface. If credentials or MCP servers are missing, wrappers return setup_required or mcp_configured states with no fabricated live data.

%%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%%
flowchart LR
  codex["Codex SEO workflows"] --> local["Local evidence<br/>HTML, robots, sitemaps, screenshots"]
  codex --> dfs["DataForSEO MCP<br/>SERP, keywords, backlinks, maps"]
  codex --> google["Google APIs<br/>GSC, PageSpeed, CrUX, GA4"]
  codex --> firecrawl["Firecrawl MCP<br/>JS crawl and site maps"]
  codex --> banana["Gemini / nanobanana<br/>SEO image assets"]
  local --> artifacts["Reports and .seo-cache"]
  dfs --> artifacts
  google --> artifacts
  firecrawl --> artifacts
  banana --> artifacts
  class codex accent
  class local,dfs,google,firecrawl,banana data
  class artifacts output
  classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px
  classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px
  classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px
  classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px

Demo readiness:

python scripts/demo_readiness.py --target https://example.com --live-apis --workflows --json

One low-depth DataForSEO proof:

python scripts/demo_readiness.py --target https://example.com --live-apis --live-serp --serp-keyword "seo tools" --json

Headless/API Usage

Run a single workflow:

python scripts/run_skill_workflow.py --skill seo-technical https://example.com --json
python scripts/run_skill_workflow.py --skill seo-google https://example.com --json
python scripts/run_skill_workflow.py --skill seo-dataforseo https://example.com --json

Run the full smoke suite:

python scripts/run_api_smoke_suite.py https://example.com --json

Verify environment:

python scripts/verify_environment.py --target https://example.com --json

Bootstrap a clean runtime:

python scripts/bootstrap_environment.py --venv .venv --json

Artifacts are written to output/. Shared project cache is written to .seo-cache/. Both are ignored by git.

%%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%%
flowchart LR
  cli["run_skill_workflow.py<br/>single workflow"] --> json["JSON result"]
  cli --> markdown["Markdown report"]
  cli --> cacheWrite[".seo-cache update"]
  suite["run_api_smoke_suite.py<br/>all workflows"] --> json
  suite --> outputRoot["output/api-smoke-*"]
  verify["verify_environment.py"] --> readiness["ready / setup_required<br/>capability status"]
  markdown --> outputRoot
  json --> outputRoot
  cacheWrite --> cache[".seo-cache"]
  class cli,suite,verify accent
  class cacheWrite,readiness data
  class json,markdown,outputRoot,cache output
  classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px
  classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px
  classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px
  classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px

Architecture

The repository separates Codex-facing instructions, deterministic runtime code, optional provider setup, and validation contracts. That keeps the skill system usable in chat, installable as a suite, and testable from CI/API workflows.

%%{init: {"theme":"base","themeVariables":{"background":"#05080d","primaryColor":"#07131c","primaryTextColor":"#f5fbff","primaryBorderColor":"#00d7e6","lineColor":"#00d7e6","secondaryColor":"#06222a","tertiaryColor":"#ff9f1c","edgeLabelBackground":"#05080d","fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif"}}}%%
flowchart TB
  manifest[".codex-plugin/plugin.json"] --> skillsRoot["skills/"]
  skillsRoot --> orchestrator["seo/SKILL.md<br/>routing and orchestration"]
  skillsRoot --> specialists["seo-*/SKILL.md<br/>specialist workflows"]
  agentsDir["agents/seo-*.toml"] --> specialists
  scriptsDir["scripts/<br/>deterministic runners"] --> specialists
  extensionsDir["extensions/<br/>optional MCP setup"] --> specialists
  references["skills/seo/references/<br/>thresholds and shared contracts"] --> specialists
  specialists --> cacheDir[".seo-cache/<br/>cross-skill memory"]
  specialists --> outputDir["output/<br/>reports and artifacts"]
  testsDir["tests/<br/>contract and smoke coverage"] --> manifest
  testsDir --> skillsRoot
  testsDir --> scriptsDir
  class manifest,orchestrator accent
  class skillsRoot,specialists,agentsDir,scriptsDir,extensionsDir,references,testsDir data
  class cacheDir,outputDir output
  classDef default fill:#07131c,stroke:#00d7e6,color:#f5fbff,stroke-width:1.4px
  classDef accent fill:#10151a,stroke:#ff9f1c,color:#fff7ed,stroke-width:2px
  classDef data fill:#06222a,stroke:#21e6c1,color:#ecfeff,stroke-width:1.5px
  classDef output fill:#15101a,stroke:#ff9f1c,color:#fff7ed,stroke-width:1.8px
codex-seo/
├── .codex-plugin/plugin.json        # Codex plugin manifest
├── skills/
│   ├── seo/SKILL.md                 # Main orchestrator
│   └── seo-*/SKILL.md               # 26 specialist workflows
├── agents/                          # 24 Codex TOML agent profiles
├── scripts/                         # Deterministic runners and API helpers
├── extensions/
│   ├── dataforseo/                  # DataForSEO MCP setup and docs
│   ├── firecrawl/                   # Firecrawl MCP setup and docs
│   └── banana/                      # Gemini/nanobanana image generation setup
├── hooks/                           # Quality-gate hooks
├── schema/                          # Schema.org templates
├── docs/                            # Architecture, commands, installation, MCP, demo
└── tests/                           # Contract and workflow tests

Design principles:

  • skills/ is the source of truth.
  • skills/seo/SKILL.md routes natural-language SEO requests.
  • TOML agents are Codex-native and mirror specialist workflows.
  • Runtime credentials stay in ~/.config/codex-seo/ or ~/.codex/settings.json.
  • Legacy claude-seo config/cache paths are read only as migration fallback.

More detail: docs/ARCHITECTURE.md.

Verification

Local release gate:

python -m pytest tests/
bash -n install.sh uninstall.sh
python -m compileall -q scripts hooks
python scripts/run_api_smoke_suite.py https://example.com --json

PowerShell parse check:

$files = Get-ChildItem -Recurse -Filter *.ps1
foreach ($f in $files) {
  $tokens = $null
  $errs = $null
  [System.Management.Automation.Language.Parser]::ParseFile($f.FullName, [ref]$tokens, [ref]$errs) > $null
  if ($errs.Count) { $errs; exit 1 }
}

Current GitHub CI runs:

  • dependency install
  • shell syntax checks
  • Python compile checks
  • --help checks for runner scripts
  • python -m pytest tests/
  • contract smoke checks for MCP-aware workflows

Requirements

  • Codex CLI with local skills support
  • Python 3.10+
  • Git
  • Optional: Playwright Chromium for screenshots and PDF reports
  • Optional: DataForSEO account for live SEO data
  • Optional: Google API credentials for PageSpeed/CrUX/GSC/GA4
  • Optional: Firecrawl API key for JS-rendered crawling
  • Optional: Google AI API key for Gemini/nanobanana image generation

Credentials And Cache

Codex SEO writes new local credentials and state to Codex-specific paths:

  • ~/.codex/settings.json for MCP server configuration
  • ~/.config/codex-seo/ for API configs and cost ledgers
  • ~/.cache/codex-seo/ for runtime caches
  • .seo-cache/ inside the active project for cross-skill summaries

Legacy ~/.config/claude-seo/ and ~/.cache/claude-seo/ paths are read only as migration fallback. Do not commit .seo-cache/, output/, .mcp.json, .env, OAuth tokens, service accounts, or provider keys.

Security

  • URL-aware scripts block private, loopback, reserved, multicast, unspecified, and metadata hosts.
  • Credential setup writes outside tracked repo files.
  • Sensitive local settings are expected to use 0600 file permissions.
  • DataForSEO calls use cost guardrails through scripts/dataforseo_costs.py.
  • Report vulnerabilities through SECURITY.md.

Uninstall

bash uninstall.sh

Windows:

powershell -ExecutionPolicy Bypass -File .\uninstall.ps1

Contributing

Use CONTRIBUTING.md for local setup and validation, CODE_OF_CONDUCT.md for project standards, SECURITY.md for vulnerability reporting, and CREDITS.md for project credits. Agent-facing project context is also available in llms.txt.

Related Projects

Credits

Special thanks to avalonreset for making the Codex conversion possible and for creating the initial Codex SEO version that this repository builds on.

Attribution

Original project and concept by AgriciDaniel in claude-seo. This Codex port preserves upstream SEO capabilities and adapts the runtime for Codex skills, TOML agents, plugin discovery, cache sharing, MCP extension setup, and API-safe wrappers.

Codex SEO is released under the MIT License. FLOW prompt references retain their upstream attribution and licensing notices where included.

内容与创作

中风险

  • 来源需自行核对维护者身份。
  • 未检测到明显脚本安装指令。
  • 未检测到明显外部权限要求。
  • 未检测到高风险命令。
  • 扫描发现:1 条。

Codex — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/AgriciDaniel/codex-seo.git
  3. 将 "skills/seo-programmatic" 文件夹复制到 Codex 的 skills 目录中。
  4. 重启 Codex 让新的 skill 生效。

Codex — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Codex 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Codex 让新的 skill 生效。

Claude Code — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/AgriciDaniel/codex-seo.git
  3. 将 "skills/seo-programmatic" 文件夹复制到 Claude Code 的 skills 目录中。
  4. 重启 Claude Code 让新的 skill 生效。

Claude Code — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Claude Code 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Claude Code 让新的 skill 生效。

Cursor — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/AgriciDaniel/codex-seo.git
  3. 将 "skills/seo-programmatic" 文件夹复制到 Cursor 的 skills 目录中。
  4. 重启 Cursor 让新的 skill 生效。

Cursor — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Cursor 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Cursor 让新的 skill 生效。

GitHub Copilot — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/AgriciDaniel/codex-seo.git
  3. 将 "skills/seo-programmatic" 文件夹复制到 GitHub Copilot 的 skills 目录中。
  4. 重启 GitHub Copilot 让新的 skill 生效。

GitHub Copilot — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 GitHub Copilot 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 GitHub Copilot 让新的 skill 生效。

Windsurf — Git Clone 安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 克隆仓库:git clone https://github.com/AgriciDaniel/codex-seo.git
  3. 将 "skills/seo-programmatic" 文件夹复制到 Windsurf 的 skills 目录中。
  4. 重启 Windsurf 让新的 skill 生效。

Windsurf — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Windsurf 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Windsurf 让新的 skill 生效。
查看 SKILL.md 原文
name: seo-programmatic
description: >
  Programmatic SEO planning and analysis for pages generated at scale from data
  sources. Covers template engines, URL patterns, internal linking automation,
  thin content safeguards, and index bloat prevention. Use when user says
  "programmatic SEO", "pages at scale", "dynamic pages", "template pages",
  "generated pages", or "data-driven SEO".
user-invokable: true
argument-hint: "[url or plan]"
license: MIT
metadata:
  author: AgriciDaniel
  version: "1.9.6"
  category: seo

Programmatic SEO Analysis & Planning

Shared Data Cache

Step 0 -- Check shared data cache:

Before gathering, check .seo-cache/ for reusable context from related SEO skills. Reference: ../seo/references/shared-data-cache.md for schemas and dependency map.

Check these cache files when present:

  • .seo-cache/site-meta.json for domain, business type, industry, and crawl context

  • .seo-cache/audit-scores.json for prior full-audit priorities

  • .seo-cache/pages/{url-slug}/page-analysis.json for page-level context when a URL is provided

  • If found: parse and use clearly valid fields (note "Using cached [X] from [date]")

  • If missing, corrupt, or irrelevant: continue with fresh evidence

  • If the user says "refresh" or "re-run": ignore cache reads and overwrite on write

Build and audit SEO pages generated at scale from structured data sources. Enforces quality gates to prevent thin content penalties and index bloat.

Data Source Assessment

Evaluate the data powering programmatic pages:

  • CSV/JSON files: Row count, column uniqueness, missing values
  • API endpoints: Response structure, data freshness, rate limits
  • Database queries: Record count, field completeness, update frequency
  • Data quality checks:
    • Each record must have enough unique attributes to generate distinct content
    • Flag duplicate or near-duplicate records (>80% field overlap)
    • Verify data freshness; stale data produces stale pages

Template Engine Planning

Design templates that produce unique, valuable pages:

  • Variable injection points: Title, H1, body sections, meta description, schema
  • Content blocks: Static (shared across pages) vs dynamic (unique per page)
  • Conditional logic: Show/hide sections based on data availability
  • Supplementary content: Related items, contextual tips, user-generated content
  • Template review checklist:
    • Each page must read as a standalone, valuable resource
    • No "mad-libs" patterns (just swapping city/product names in identical text)
    • Dynamic sections must add genuine information, not just keyword variations

URL Pattern Strategy

Common Patterns

  • /tools/[tool-name]: Tool/product directory pages
  • /[city]/[service]: Location + service pages
  • /integrations/[platform]: Integration landing pages
  • /glossary/[term]: Definition/reference pages
  • /templates/[template-name]: Downloadable template pages

URL Rules

  • Lowercase, hyphenated slugs derived from data
  • Logical hierarchy reflecting site architecture
  • No duplicate slugs; enforce uniqueness at generation time
  • Keep URLs under 100 characters
  • No query parameters for primary content URLs
  • Consistent trailing slash usage (match existing site pattern)

Internal Linking Automation

  • Hub/spoke model: Category hub pages linking to individual programmatic pages
  • Related items: Auto-link to 3-5 related pages based on data attributes
  • Breadcrumbs: Generate BreadcrumbList schema from URL hierarchy
  • Cross-linking: Link between programmatic pages sharing attributes (same category, same city, same feature)
  • Anchor text: Use descriptive, varied anchor text. Avoid exact-match keyword repetition
  • Link density: 3-5 internal links per 1000 words (match seo-content guidelines)

Thin Content Safeguards

Quality Gates

MetricThresholdAction
Pages without content review100+⚠️ WARNING: require content audit before publishing
Pages without justification500+🛑 HARD STOP: require explicit user approval and thin content audit
Unique content per page<40%❌ Flag as thin content (likely penalty risk)
Word count per page<300⚠️ Flag for review (may lack sufficient value)

Scaled Content Abuse: Enforcement Context (2025-2026)

Google's Scaled Content Abuse policy (introduced March 2024) saw major enforcement escalation in 2025:

  • June 2025: Wave of manual actions targeting websites with AI-generated content at scale
  • August 2025: SpamBrain spam update enhanced pattern detection for AI-generated link schemes and content farms
  • Result: Google reported 45% reduction in low-quality, unoriginal content in search results post-March 2024 enforcement

Enhanced quality gates for programmatic pages:

  • Content differentiation: ≥30-40% of content must be genuinely unique between any two programmatic pages (not just city/keyword string replacement)
  • Human review: Minimum 5-10% sample review of generated pages before publishing
  • Progressive rollout: Publish in batches of 50-100 pages. Monitor indexing and rankings for 2-4 weeks before expanding. Never publish 500+ programmatic pages simultaneously without explicit quality review.
  • Standalone value test: Each page should pass: "Would this page be worth publishing even if no other similar pages existed?"
  • Site reputation abuse: If publishing programmatic content under a high-authority domain (not your own), this may trigger site reputation abuse penalties. Google began enforcing this aggressively in November 2024.

Recommendation: The WARNING gate at <40% unique content remains appropriate. Consider a HARD STOP at <30% unique content to prevent scaled content abuse risk.

Safe Programmatic Pages (OK at scale)

✅ Integration pages (with real setup docs, API details, screenshots) ✅ Template/tool pages (with downloadable content, usage instructions) ✅ Glossary pages (200+ word definitions with examples, related terms) ✅ Product pages (unique specs, reviews, comparison data) ✅ Data-driven pages (unique statistics, charts, analysis per record)

Penalty Risk (avoid at scale)

❌ Location pages with only city name swapped in identical text ❌ "Best [tool] for [industry]" without industry-specific value ❌ "[Competitor] alternative" without real comparison data ❌ AI-generated pages without human review and unique value-add ❌ Pages where >60% of content is shared template boilerplate

Uniqueness Calculation

Unique content % = (words unique to this page) / (total words on page) × 100

Measure against all other pages in the programmatic set. Shared headers, footers, and navigation are excluded from the calculation. Template boilerplate text IS included.

Canonical Strategy

  • Every programmatic page must have a self-referencing canonical tag
  • Parameter variations (sort, filter, pagination) canonical to the base URL
  • Paginated series: canonical to page 1 or use rel=next/prev
  • If programmatic pages overlap with manual pages, the manual page is canonical
  • No canonical to a different domain unless intentional cross-domain setup

Sitemap Integration

  • Auto-generate sitemap entries for all programmatic pages
  • Split at 50,000 URLs per sitemap file (protocol limit)
  • Use sitemap index if multiple sitemap files needed
  • <lastmod> reflects actual data update timestamp (not generation time)
  • Exclude noindexed programmatic pages from sitemap
  • Register sitemap in robots.txt
  • Update sitemap dynamically as new records are added to data source

Index Bloat Prevention

  • Noindex low-value pages: Pages that don't meet quality gates
  • Pagination: Noindex paginated results beyond page 1 (or use rel=next/prev)
  • Faceted navigation: Noindex filtered views, canonical to base category
  • Crawl budget: For sites with >10k programmatic pages, monitor crawl stats in Search Console
  • Thin page consolidation: Merge records with insufficient data into aggregated pages
  • Regular audits: Monthly review of indexed page count vs intended count

Output

Programmatic SEO Score: XX/100

Assessment Summary

CategoryStatusScore
Data Quality✅/⚠️/❌XX/100
Template Uniqueness✅/⚠️/❌XX/100
URL Structure✅/⚠️/❌XX/100
Internal Linking✅/⚠️/❌XX/100
Thin Content Risk✅/⚠️/❌XX/100
Index Management✅/⚠️/❌XX/100

Critical Issues (fix immediately)

High Priority (fix within 1 week)

Medium Priority (fix within 1 month)

Low Priority (backlog)

Recommendations

  • Data source improvements
  • Template modifications
  • URL pattern adjustments
  • Quality gate compliance actions

Error Handling

ScenarioAction
URL unreachableReport connection error with status code. Suggest verifying URL accessibility and checking for authentication requirements.
No programmatic pages detectedInform user that no template-generated or data-driven page patterns were found. Suggest checking if pages use client-side rendering or if the URL points to the correct section.
Thin content threshold exceededTrigger quality gate warning. Report the unique content percentage and flag pages below 40% uniqueness. Require user acknowledgment before proceeding.
Quality gate violationHalt analysis at the HARD STOP threshold (500+ pages without justification or <30% unique content). Present findings and require explicit user approval to continue.

Write to shared data cache

After completing all work, write a concise JSON summary to .seo-cache/ when the workflow produced durable findings. Use the schemas and naming rules in ../seo/references/shared-data-cache.md; include at least cache_type, analyzed_at, source URL/domain, key findings, issues, recommendations, and tool limitations. Add .seo-cache/ to .gitignore if it is missing.

发现问题?提交给管理员复核

评分:

评论 (0)

暂无评论,成为第一个评论者吧!