SkillAtlasSkill 详情

seo-backlinks

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

审核状态:已审核Quality 72Security 70

复制安装命令

用 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.

内容与创作数据与 AI

中风险

  • 来源需自行核对维护者身份。
  • 包含脚本或命令调用,安装前请复核。
  • 可能需要外部 token、网络权限或第三方服务。
  • 未检测到高风险命令。
  • 扫描发现:1 条。

Codex — Git Clone 安装

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

Windsurf — 手动复制安装

  1. 安装前请先查看来源仓库和风险报告。
  2. 从源仓库下载 SKILL.md 及相关文件。
  3. 在 Windsurf 的 skills 目录中创建新文件夹。
  4. 将所有 skill 文件复制到新文件夹中。
  5. 重启 Windsurf 让新的 skill 生效。
查看 SKILL.md 原文
name: seo-backlinks
description: "Backlink 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."
user-invokable: true
argument-hint: "<url>"
license: MIT
compatibility: "Free: Common Crawl + verify always available. Optional: Moz API, Bing Webmaster (free signup). Premium: DataForSEO extension."
metadata:
  author: AgriciDaniel
  version: "1.9.6"
  category: seo

Backlink Profile Analysis

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

Source Detection

Before analysis, detect available data sources:

  1. DataForSEO MCP (premium): Check if dataforseo_backlinks_summary tool is available
  2. Moz API (free signup): python scripts/backlinks_auth.py --check moz --json
  3. Bing Webmaster (free signup): python scripts/backlinks_auth.py --check bing --json
  4. Common Crawl (always available): Domain-level graph with PageRank
  5. Verification Crawler (always available): Checks if known backlinks still exist

Run python scripts/backlinks_auth.py --check --json to detect all sources at once.

If no sources are configured beyond the always-available tier:

  • Still produce a report using Common Crawl domain metrics
  • Suggest: "Run /seo backlinks setup to add free Moz and Bing API keys for richer data"

Quick Reference

CommandPurpose
/seo backlinks <url>Full backlink profile analysis (uses all available sources)
/seo backlinks gap <url1> <url2>Competitor backlink gap analysis
/seo backlinks toxic <url>Toxic link detection and disavow recommendations
/seo backlinks new <url>New and lost backlinks (DataForSEO only)
/seo backlinks verify <url> --links <file>Verify known backlinks still exist
/seo backlinks setupShow setup instructions for free backlink APIs

Analysis Framework

Produce all 7 sections below. Each section lists data sources in preference order.

1. Profile Overview

DataForSEO: dataforseo_backlinks_summary → total backlinks, referring domains, domain rank, follow ratio, trend.

Moz API: python scripts/moz_api.py metrics <url> --json → Domain Authority, Page Authority, Spam Score, linking root domains, external links.

Common Crawl: python scripts/commoncrawl_graph.py <domain> --json → in-degree (referring domain count), PageRank, harmonic centrality.

Scoring:

MetricGoodWarningCritical
Referring domains>10020-100<20
Follow ratio>60%40-60%<40%
Domain diversityNo single domain >5%1 domain >10%1 domain >25%
TrendGrowing or stableSlow declineRapid decline (>20%/quarter)

2. Anchor Text Distribution

DataForSEO: dataforseo_backlinks_anchors

Moz API: python scripts/moz_api.py anchors <url> --json

Bing Webmaster: python scripts/bing_webmaster.py links <url> --json (extract anchor text from link details)

Healthy distribution benchmarks:

Anchor TypeTarget RangeOver-Optimization Signal
Branded (company/domain name)30-50%<15%
URL/naked link15-25%N/A
Generic ("click here", "learn more")10-20%N/A
Exact match keyword3-10%>15%
Partial match keyword5-15%>25%
Long-tail / natural5-15%N/A

Flag if exact-match anchors exceed 15% -- this is a Google Penguin risk signal.

3. Referring Domain Quality

DataForSEO: dataforseo_backlinks_referring_domains

Moz API: python scripts/moz_api.py domains <url> --json → domains with DA scores

Common Crawl: python scripts/commoncrawl_graph.py <domain> --json → top referring domains (domain-level, no authority scores)

Analyze:

  • TLD distribution: .edu, .gov, .org = high authority. Excessive .xyz, .info = low quality
  • Country distribution: Match target market. 80%+ from irrelevant countries = PBN signal
  • Domain rank distribution: Healthy profiles have links from all authority tiers
  • Follow/nofollow per domain: Sites that only nofollow = limited SEO value

4. Toxic Link Detection

DataForSEO: dataforseo_backlinks_bulk_spam_score + toxic patterns from reference

Moz API: Spam Score from python scripts/moz_api.py metrics <url> --json (1-17% scale, >11% = high risk)

Verification Crawler: python scripts/verify_backlinks.py --target <url> --links <file> --json (verify suspicious links still exist)

High-risk indicators (flag immediately):

  • Links from known PBN (Private Blog Network) domains
  • Unnatural anchor text patterns (100% exact match from a domain)
  • Links from penalized or deindexed domains
  • Mass directory submissions (50+ directory links)
  • Link farms (sites with 10K+ outbound links per page)
  • Paid link patterns (footer/sidebar links across all pages of a domain)

Medium-risk indicators (review manually):

  • Links from unrelated niches
  • Reciprocal link patterns
  • Links from thin content pages (<100 words)
  • Excessive links from a single domain (>50 backlinks from 1 domain)

Load references/backlink-quality.md for the full 30 toxic patterns and disavow criteria.

5. Top Pages by Backlinks

DataForSEO: dataforseo_backlinks_backlinks with target type "page"

Moz API: python scripts/moz_api.py pages <domain> --json

Find:

  • Which pages attract the most backlinks
  • Pages with high-authority links (link magnets)
  • Pages with zero backlinks (internal linking opportunities)
  • 404 pages with backlinks (redirect opportunities to reclaim link equity)

6. Competitor Gap Analysis

DataForSEO: dataforseo_backlinks_referring_domains for both domains, then compare

Bing Webmaster (unique!): python scripts/bing_webmaster.py compare <url1> <url2> --json — the only free tool with built-in competitor comparison

Moz API: Compare DA/PA between domains via python scripts/moz_api.py metrics <url> --json for each

Output:

  • Domains linking to competitor but NOT to target = link building opportunities
  • Domains linking to both = validate existing relationships
  • Domains linking only to target = competitive advantage
  • Top 20 link building opportunities with domain authority

7. New and Lost Backlinks

DataForSEO only: dataforseo_backlinks_backlinks with date filters for 30/60/90 day changes

Verification Crawler: For known links, verify current status with python scripts/verify_backlinks.py

Note: Free sources cannot track new/lost links over time. If this section is requested without DataForSEO, inform the user: "Link velocity tracking requires the DataForSEO extension. Free sources provide point-in-time snapshots only."

Red flags:

  • Sudden spike in new links (possible negative SEO attack)
  • Sudden loss of many links (site penalty or content removal)
  • Declining velocity over 3+ months (content not attracting links)

Backlink Health Score

Calculate a 0-100 score. When mixing sources, apply confidence weighting:

FactorWeightSources (preference order)Confidence
Referring domain count20%DataForSEO > Moz > CC in-degree1.0 / 0.85 / 0.50
Domain quality distribution20%DataForSEO > Moz DA distribution1.0 / 0.85
Anchor text naturalness15%DataForSEO > Moz > Bing anchors1.0 / 0.85 / 0.70
Toxic link ratio20%DataForSEO > Moz spam score1.0 / 0.85
Link velocity trend10%DataForSEO only1.0
Follow/nofollow ratio5%DataForSEO > Bing details1.0 / 0.70
Geographic relevance10%DataForSEO > Bing country1.0 / 0.70

Data sufficiency gate: Count how many of the 7 factors have at least one data source available.

  • 4+ factors with data: Produce a numeric 0-100 score (redistribute missing weights proportionally)
  • Fewer than 4 factors: Do NOT produce a numeric score. Instead display:
    Backlink Health Score: INSUFFICIENT DATA (X/7 factors scored)
    
    Show individual factor scores that ARE available with their source and confidence. Recommend: "Configure Moz API (free) for a scoreable profile. Run /seo backlinks setup"

When only CC is available, cap maximum score at 70/100. A numeric score with fewer than 4 data sources is misleading — it implies poor health when the reality is we simply lack data.

Output Format

Backlink Health Score: XX/100 (or INSUFFICIENT DATA)

SectionStatusScoreData Source
Profile Overviewpass/warn/failXX/100Moz (0.85)
Anchor Distributionpass/warn/failXX/100Moz (0.85)
Referring Domain Qualitypass/warn/failXX/100CC (0.50)
Toxic Linkspass/warn/failXX/100Moz Spam (0.85)
Top PagesinfoN/AMoz (0.85)
Link Velocitypass/warn/failXX/100DataForSEO only

Critical Issues (fix immediately)

High Priority (fix within 1 month)

Medium Priority (ongoing improvement)

Link Building Opportunities (top 10)

Error Handling

ErrorCauseResolution
No sources configuredNo API keys, no DataForSEORun /seo backlinks setup
Moz rate limitFree tier: 1 req/10sWait 10 seconds, retry. Built into script.
Bing site not verifiedSite not verified in BingVerify at https://www.bing.com/webmasters
CC download timeoutLarge graph file, slow connectionUse --timeout 180 flag
DataForSEO unavailableExtension not installedRun ./extensions/dataforseo/install.sh
No backlink data returnedDomain too new or very smallNote: small sites may have <10 backlinks

Fallback cascade:

  1. DataForSEO available? → Use as primary (confidence: 1.0)
  2. Moz configured? → Use for DA/PA/spam/anchors (confidence: 0.85)
  3. Bing configured? → Use for links/competitor comparison (confidence: 0.70)
  4. Always: Common Crawl for domain-level metrics (confidence: 0.50)
  5. Always: Verification crawler for known link checks (confidence: 0.95)
  6. Nothing works? → "Run /seo backlinks setup to configure free APIs"

Pre-Delivery Review (MANDATORY)

Before presenting any backlink analysis to the user, run this checklist internally. Do NOT skip this step. Fix any issues found before showing the report.

Fact-Check Every Claim

  • Schema claims: Did parse_html return @type for each block? If any @type is missing, re-check — it may use @graph wrapper (valid JSON-LD, not malformed).
  • "link_removed" findings: Is the page JS-rendered? If unverifiable_js, say so — never report a JS-rendered page as "link removed" (that's a false negative).
  • H1 findings: Are any H1s in the h1_suspicious list? If so, note they are likely counters/stats, not semantic headings.
  • Reciprocal links: If site A links to site B AND B links back to A, flag it as a reciprocal link pattern. Check outbound links against verified inbound sources.
  • Health score: Are 4+ of 7 factors scored? If not, report INSUFFICIENT DATA — never show a misleading numeric score.

Verify Data Source Labels

  • Every metric in the report has a source label (e.g., "Parsed (0.95)", "CC (0.50)")
  • Every "not found" result distinguishes between "not crawled" vs "below threshold" vs "error"
  • Social media pages flagged as unverifiable_js (not link_removed)

Cross-Check Consistency

  • Platform detection matches actual signals (check for wp-content, shopify CDN, etc.)
  • Referring domain count in summary matches the actual verified links list
  • No claim is presented without a data source backing it

If ANY check fails, fix the finding before presenting. Never present inferred data as fact.

Post-Analysis

After completing any backlink analysis command, always offer: "Generate a professional PDF report? Use /seo google report"

Reference Documentation

Load on demand (do NOT load at startup):

  • skills/seo/references/backlink-quality.md -- Detailed toxic link patterns and scoring methodology (shared reference, load when analyzing toxic links or spam scores)
  • skills/seo/references/free-backlink-sources.md -- Source comparison, confidence weighting, setup guides (shared reference, load when configuring free backlink APIs)

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)

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