voltagent-seo-content-marketing-skills

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

📈 SEO & Content Marketing Skills Suite

📈 SEO与内容营销技能套件

Skill by ara.so — Marketing Skills collection.
This skill suite provides specialized commands and workflows for SEO and content marketing, derived from VoltAgent/awesome-agent-skills. It includes 10 commands for keyword research, content audits, technical SEO analysis, competitor research, and 5 multi-step workflows for comprehensive SEO campaigns.
ara.so开发的技能——营销技能合集。
本技能套件提供专为SEO和内容营销设计的命令与流程,源自VoltAgent/awesome-agent-skills项目。它包含10个用于关键词研究、内容审核、技术SEO分析、竞品调研的命令,以及5个用于全面SEO推广的多步骤工作流。

What This Project Does

项目功能

The r16-voltagent-awesome-agent-skills-seo suite gives AI agents structured SEO expertise:
  • Keyword research with clustering, intent mapping, and opportunity scoring
  • Content audits including quality assessment, duplication detection, cannibalization analysis
  • Technical SEO crawl budget, Core Web Vitals, schema validation
  • Competitor analysis backlink gaps, topic gaps, featured snippet opportunities
  • Content generation SEO-optimized briefs, outlines, and publishing pipelines
  • Monitoring rank tracking, SERP volatility alerts
  • Link building prospect identification and outreach automation
All commands follow a consistent 5-step pattern: scope confirmation → live analysis → findings → action plan → next steps.
r16-voltagent-awesome-agent-skills-seo套件为AI Agent提供结构化的SEO专业能力:
  • 关键词研究:包含聚类、意图映射和机会评分
  • 内容审核:涵盖质量评估、重复内容检测、关键词 cannibalization(内部竞争)分析
  • 技术SEO:抓取预算、Core Web Vitals、Schema验证
  • 竞品分析:反向链接差距、主题差距、特色摘要机会
  • 内容生成:SEO优化的简报、大纲和发布流程
  • 监控:排名追踪、SERP波动提醒
  • 外链建设:潜在合作方识别和 outreach(外联)自动化
所有命令遵循统一的5步模式:范围确认→实时分析→结果呈现→行动计划→后续步骤。

Installation

安装

Clone to Claude Skills Directory

克隆到Claude技能目录

bash
undefined
bash
undefined

Create skills directory if it doesn't exist

如果技能目录不存在则创建

mkdir -p ~/.claude/skills/
mkdir -p ~/.claude/skills/

Clone the repository

克隆仓库

Or copy manually

或手动复制

cp -r /path/to/downloaded/repo ~/.claude/skills/voltagent-seo-skills/
undefined
cp -r /path/to/downloaded/repo ~/.claude/skills/voltagent-seo-skills/
undefined

Register in Claude Code Session

在Claude代码会话中注册

In a Claude Code session:
bash
/read ~/.claude/skills/voltagent-seo-skills/SKILL.md
Or programmatically:
python
import os
from pathlib import Path
在Claude代码会话中执行:
bash
/read ~/.claude/skills/voltagent-seo-skills/SKILL.md
或通过代码实现:
python
import os
from pathlib import Path

Load skill definition

加载技能定义

skill_path = Path.home() / ".claude/skills/voltagent-seo-skills/SKILL.md" with open(skill_path) as f: skill_definition = f.read()
skill_path = Path.home() / ".claude/skills/voltagent-seo-skills/SKILL.md" with open(skill_path) as f: skill_definition = f.read()

Register with agent

向Agent注册技能

agent.load_skill(skill_definition)
undefined
agent.load_skill(skill_definition)
undefined

Core Commands

核心命令

/keyword-research

/keyword-research

Deep keyword clustering with intent mapping and opportunity scoring.
Usage:
bash
/keyword-research "outdoor camping gear"

/keyword-research "project management software" \
  --country US \
  --language en \
  --depth deep \
  --output json
Output Structure:
╔════════════════════════════════════════════════╗
║  Keyword Research: outdoor camping gear        ║
╠════════════════════════════════════════════════╣
║  Analyzing search data …  [██████████] 100%    ║
║  Clustering keywords …    [██████████] 100%    ║
║  Mapping intent …         [██████████] 100%    ║
╚════════════════════════════════════════════════╝

┌──────────────────────┬────────┬────┬──────────┬────────┐
│ Keyword              │ Volume │ KD │ Intent   │ Score  │
├──────────────────────┼────────┼────┼──────────┼────────┤
│ camping gear         │ 49 500 │ 67 │ Comm     │ 8.2/10 │
│ best camping gear    │ 18 100 │ 45 │ Comm/Inf │ 9.1/10 │
│ camping gear list    │  8 900 │ 32 │ Info     │ 8.7/10 │
│ camping equipment    │ 33 100 │ 71 │ Comm     │ 7.5/10 │
└──────────────────────┴────────┴────┴──────────┴────────┘

🎯 Recommended targets: best camping gear, camping gear list
API Integration:
python
import os
from seo_skills import KeywordResearch
深度关键词聚类,包含意图映射和机会评分。
使用方式:
bash
/keyword-research "outdoor camping gear"

/keyword-research "project management software" \
  --country US \
  --language en \
  --depth deep \
  --output json
输出结构:
╔════════════════════════════════════════════════╗
║  Keyword Research: outdoor camping gear        ║
╠════════════════════════════════════════════════╣
║  Analyzing search data …  [██████████] 100%    ║
║  Clustering keywords …    [██████████] 100%    ║
║  Mapping intent …         [██████████] 100%    ║
╚════════════════════════════════════════════════╝

┌──────────────────────┬────────┬────┬──────────┬────────┐
│ Keyword              │ Volume │ KD │ Intent   │ Score  │
├──────────────────────┼────────┼────┼──────────┼────────┤
│ camping gear         │ 49 500 │ 67 │ Comm     │ 8.2/10 │
│ best camping gear    │ 18 100 │ 45 │ Comm/Inf │ 9.1/10 │
│ camping gear list    │  8 900 │ 32 │ Info     │ 8.7/10 │
│ camping equipment    │ 33 100 │ 71 │ Comm     │ 7.5/10 │
└──────────────────────┴────────┴────┴──────────┴────────┘

🎯 推荐目标关键词:best camping gear, camping gear list
API集成:
python
import os
from seo_skills import KeywordResearch

Initialize with API credentials from env vars

使用环境变量中的API凭证初始化

kr = KeywordResearch( api_key=os.getenv("SEO_API_KEY"), country="US" )
kr = KeywordResearch( api_key=os.getenv("SEO_API_KEY"), country="US" )

Run keyword research

执行关键词研究

results = kr.analyze( seed_keyword="outdoor camping gear", depth="deep", min_volume=100, max_difficulty=60 )
results = kr.analyze( seed_keyword="outdoor camping gear", depth="deep", min_volume=100, max_difficulty=60 )

Access structured data

访问结构化数据

for cluster in results.clusters: print(f"Cluster: {cluster.theme}") for kw in cluster.keywords: print(f" {kw.term}: {kw.volume} vol, {kw.difficulty} KD")
undefined
for cluster in results.clusters: print(f"Cluster: {cluster.theme}") for kw in cluster.keywords: print(f" {kw.term}: {kw.volume} vol, {kw.difficulty} KD")
undefined

/content-audit

/content-audit

Full-site content quality analysis with duplication and cannibalization detection.
Usage:
bash
/content-audit --scope full --output md

/content-audit \
  --url https://example.com \
  --scope /blog \
  --min-words 300 \
  --check-duplicates
Output:
╔════════════════════════════════════════════════╗
║  Content Audit: example.com                    ║
╠════════════════════════════════════════════════╣
║  Crawling pages …     [████████░░]  82%  823/1002 ║
║  Analyzing content …  [██████░░░░]  65%  651/1002 ║
╚════════════════════════════════════════════════╝

┌─────────────────────┬─────────┬─────────┬────────┐
│ Issue               │ Pages   │ Severity│ Impact │
├─────────────────────┼─────────┼─────────┼────────┤
│ 🔴 Thin content     │     127 │ High    │ -45%   │
│ 🔴 Duplicate title  │      89 │ High    │ -38%   │
│ 🟠 Missing H1       │      64 │ Medium  │ -22%   │
│ 🟠 Keyword cannibal │      43 │ Medium  │ -19%   │
│ 🟡 Long meta desc   │      31 │ Low     │ -5%    │
└─────────────────────┴─────────┴─────────┴────────┘

✅ Quick wins (1-2 days):
  • Add H1 tags to 64 pages
  • Shorten 31 meta descriptions

⚠️  Medium-term (1-2 weeks):
  • Expand 127 thin content pages to 800+ words
  • Resolve 43 keyword cannibalization conflicts
全站点内容质量分析,包含重复内容和关键词内部竞争检测。
使用方式:
bash
/content-audit --scope full --output md

/content-audit \
  --url https://example.com \
  --scope /blog \
  --min-words 300 \
  --check-duplicates
输出:
╔════════════════════════════════════════════════╗
║  Content Audit: example.com                    ║
╠════════════════════════════════════════════════╣
║  Crawling pages …     [████████░░]  82%  823/1002 ║
║  Analyzing content …  [██████░░░░]  65%  651/1002 ║
╚════════════════════════════════════════════════╝

┌─────────────────────┬─────────┬─────────┬────────┐
│ Issue               │ Pages   │ Severity│ Impact │
├─────────────────────┼─────────┼─────────┼────────┤
│ 🔴 内容单薄         │     127 │ High    │ -45%   │
│ 🔴 标题重复         │      89 │ High    │ -38%   │
│ 🟠 缺少H1标签       │      64 │ Medium  │ -22%   │
│ 🟠 关键词内部竞争    │      43 │ Medium  │ -19%   │
│ 🟡 元描述过长       │      31 │ Low     │ -5%    │
└─────────────────────┴─────────┴─────────┴────────┘

✅ 快速优化方案(1-2天):
  • 为64个页面添加H1标签
  • 缩短31个过长的元描述

⚠️ 中期优化方案(1-2周):
  • 将127篇单薄内容扩展至800字以上
  • 解决43个关键词内部竞争冲突

/technical-seo

/technical-seo

Comprehensive technical SEO audit covering crawlability, performance, and indexability.
Usage:
bash
/technical-seo https://example.com

/technical-seo https://example.com \
  --check-core-web-vitals \
  --validate-schema \
  --crawl-budget-analysis
Integration Example:
javascript
const { TechnicalSEO } = require('voltagent-seo-skills');

const audit = new TechnicalSEO({
  apiKey: process.env.SEO_API_KEY,
  userAgent: 'SEO-Audit-Bot/1.0'
});

async function runAudit(url) {
  const results = await audit.analyze(url, {
    checkCoreWebVitals: true,
    validateSchema: true,
    crawlBudgetAnalysis: true,
    checkMobileFriendly: true
  });

  // Access results
  console.log('Core Web Vitals:', results.coreWebVitals);
  console.log('Schema Issues:', results.schemaValidation.errors);
  console.log('Crawl Budget:', results.crawlBudget.efficiency);

  // Generate report
  await audit.generateReport(results, 'audit-report.html');
}

runAudit('https://example.com');
全面的技术SEO审核,涵盖可抓取性、性能和可索引性。
使用方式:
bash
/technical-seo https://example.com

/technical-seo https://example.com \
  --check-core-web-vitals \
  --validate-schema \
  --crawl-budget-analysis
集成示例:
javascript
const { TechnicalSEO } = require('voltagent-seo-skills');

const audit = new TechnicalSEO({
  apiKey: process.env.SEO_API_KEY,
  userAgent: 'SEO-Audit-Bot/1.0'
});

async function runAudit(url) {
  const results = await audit.analyze(url, {
    checkCoreWebVitals: true,
    validateSchema: true,
    crawlBudgetAnalysis: true,
    checkMobileFriendly: true
  });

  // 访问结果
  console.log('Core Web Vitals:', results.coreWebVitals);
  console.log('Schema Issues:', results.schemaValidation.errors);
  console.log('Crawl Budget:', results.crawlBudget.efficiency);

  // 生成报告
  await audit.generateReport(results, 'audit-report.html');
}

runAudit('https://example.com');

/competitor-gap

/competitor-gap

Identify backlink gaps, content gaps, and featured snippet opportunities.
Usage:
bash
/competitor-gap \
  --my-site example.com \
  --competitors competitor1.com,competitor2.com,competitor3.com

/competitor-gap \
  --my-site example.com \
  --competitors competitor1.com,competitor2.com \
  --focus backlinks \
  --min-dr 40
识别反向链接差距、内容差距和特色摘要机会。
使用方式:
bash
/competitor-gap \
  --my-site example.com \
  --competitors competitor1.com,competitor2.com,competitor3.com

/competitor-gap \
  --my-site example.com \
  --competitors competitor1.com,competitor2.com \
  --focus backlinks \
  --min-dr 40

/content-brief

/content-brief

Generate AI-powered SEO content briefs with outlines, NLP terms, and word count targets.
Usage:
bash
/content-brief "best project management tools 2024"

/content-brief "how to start a podcast" \
  --target-keywords "podcast hosting,podcast equipment" \
  --word-count 2500 \
  --include-nlp-terms \
  --competitor-analysis
Programmatic Usage:
python
from seo_skills import ContentBrief

brief_generator = ContentBrief(api_key=os.getenv("SEO_API_KEY"))

brief = brief_generator.create(
    target_keyword="best project management tools 2024",
    additional_keywords=["project management software", "team collaboration"],
    word_count_target=2500,
    include_nlp_terms=True,
    analyze_competitors=True,
    top_n_competitors=10
)
生成AI驱动的SEO内容简报,包含大纲、NLP术语和字数目标。
使用方式:
bash
/content-brief "best project management tools 2024"

/content-brief "how to start a podcast" \
  --target-keywords "podcast hosting,podcast equipment" \
  --word-count 2500 \
  --include-nlp-terms \
  --competitor-analysis
代码调用方式:
python
from seo_skills import ContentBrief

brief_generator = ContentBrief(api_key=os.getenv("SEO_API_KEY"))

brief = brief_generator.create(
    target_keyword="best project management tools 2024",
    additional_keywords=["project management software", "team collaboration"],
    word_count_target=2500,
    include_nlp_terms=True,
    analyze_competitors=True,
    top_n_competitors=10
)

Access brief components

访问简报组件

print(brief.title) print(brief.meta_description) print(brief.outline) print(brief.nlp_terms) print(brief.word_count_recommendation)
undefined
print(brief.title) print(brief.meta_description) print(brief.outline) print(brief.nlp_terms) print(brief.word_count_recommendation)
undefined

/serp-monitor

/serp-monitor

Daily rank tracking with volatility alerts and CTR optimization.
Usage:
bash
/serp-monitor \
  --keywords "project management,team collaboration,remote work tools" \
  --url example.com \
  --frequency daily

/serp-monitor \
  --keyword-file keywords.csv \
  --alert-on-drop 3 \
  --ctr-optimization
每日排名追踪,包含波动提醒和CTR优化。
使用方式:
bash
/serp-monitor \
  --keywords "project management,team collaboration,remote work tools" \
  --url example.com \
  --frequency daily

/serp-monitor \
  --keyword-file keywords.csv \
  --alert-on-drop 3 \
  --ctr-optimization

/link-prospecting

/link-prospecting

Quality backlink prospect identification with DA/DR filters and outreach templates.
Usage:
bash
/link-prospecting \
  --topic "sustainable fashion" \
  --min-da 30 \
  --max-results 100 \
  --with-contact-info

/link-prospecting \
  --topic "AI marketing tools" \
  --competitor-backlinks competitor.com \
  --generate-outreach-templates
高质量反向链接潜在合作方识别,包含DA/DR筛选和外联模板。
使用方式:
bash
/link-prospecting \
  --topic "sustainable fashion" \
  --min-da 30 \
  --max-results 100 \
  --with-contact-info

/link-prospecting \
  --topic "AI marketing tools" \
  --competitor-backlinks competitor.com \
  --generate-outreach-templates

/page-speed-seo

/page-speed-seo

Page speed analysis mapped to SEO ranking impact.
Usage:
bash
/page-speed-seo https://example.com/page

/page-speed-seo https://example.com \
  --check-lcp \
  --check-cls \
  --check-fid \
  --render-blocking-analysis
页面速度分析,映射至SEO排名影响。
使用方式:
bash
/page-speed-seo https://example.com/page

/page-speed-seo https://example.com \
  --check-lcp \
  --check-cls \
  --check-fid \
  --render-blocking-analysis

/local-seo

/local-seo

Local SEO audit including NAP consistency, Google Business Profile optimization, and citations.
Usage:
bash
/local-seo \
  --business-name "Acme Coffee Shop" \
  --location "Seattle, WA" \
  --check-nap \
  --check-gbp \
  --citation-audit

/local-seo \
  --business-name "Tech Repair Store" \
  --location "Austin, TX" \
  --competitors competitor1.com,competitor2.com
本地SEO审核,包含NAP一致性、Google Business Profile优化和引用检查。
使用方式:
bash
/local-seo \
  --business-name "Acme Coffee Shop" \
  --location "Seattle, WA" \
  --check-nap \
  --check-gbp \
  --citation-audit

/local-seo \
  --business-name "Tech Repair Store" \
  --location "Austin, TX" \
  --competitors competitor1.com,competitor2.com

/content-calendar

/content-calendar

Data-driven editorial calendar based on search demand and seasonality.
Usage:
bash
/content-calendar \
  --topics "fitness,nutrition,wellness" \
  --duration 90 \
  --include-seasonality

/content-calendar \
  --keyword-file topics.csv \
  --duration 180 \
  --publishing-frequency 3 \
  --format json
基于搜索需求和季节性的数据驱动型编辑日历。
使用方式:
bash
/content-calendar \
  --topics "fitness,nutrition,wellness" \
  --duration 90 \
  --include-seasonality

/content-calendar \
  --keyword-file topics.csv \
  --duration 180 \
  --publishing-frequency 3 \
  --format json

Workflows (Multi-Step)

工作流(多步骤)

full-seo-sprint

full-seo-sprint

12-step comprehensive SEO audit and implementation workflow.
Usage:
bash
/workflows:full-seo-sprint example.com --scope full

/workflows:full-seo-sprint example.com \
  --scope full \
  --include-content-plan \
  --include-technical-fixes \
  --timeline 30
Workflow Steps:
① Technical audit
② Keyword research
③ Competitor analysis
④ Content audit
⑤ Backlink profile analysis
⑥ Keyword mapping
⑦ Content gap identification
⑧ Priority technical fixes
⑨ Content creation plan
⑩ Link building strategy
⑪ Implementation roadmap
⑫ Measurement framework
12步全面SEO审核与实施工作流。
使用方式:
bash
/workflows:full-seo-sprint example.com --scope full

/workflows:full-seo-sprint example.com \
  --scope full \
  --include-content-plan \
  --include-technical-fixes \
  --timeline 30
工作流步骤:
① 技术审核
② 关键词研究
③ 竞品分析
④ 内容审核
⑤ 反向链接分析
⑥ 关键词映射
⑦ 内容差距识别
⑧ 优先级技术修复
⑨ 内容创作计划
⑩ 外链建设策略
⑪ 实施路线图
⑫ 衡量框架

launch-seo

launch-seo

Pre-launch SEO checklist and validation.
Usage:
bash
/workflows:launch-seo https://staging.example.com

/workflows:launch-seo https://staging.example.com \
  --check-canonical \
  --check-hreflang \
  --validate-sitemap \
  --check-robots-txt
上线前SEO检查清单与验证。
使用方式:
bash
/workflows:launch-seo https://staging.example.com

/workflows:launch-seo https://staging.example.com \
  --check-canonical \
  --check-hreflang \
  --validate-sitemap \
  --check-robots-txt

content-refresh

content-refresh

Identify and refresh underperforming content.
Usage:
bash
/workflows:content-refresh example.com \
  --ranking-drop 5 \
  --time-period 90

/workflows:content-refresh example.com \
  --min-impressions 1000 \
  --max-ctr 2 \
  --priority high
识别并刷新表现不佳的内容。
使用方式:
bash
/workflows:content-refresh example.com \
  --ranking-drop 5 \
  --time-period 90

/workflows:content-refresh example.com \
  --min-impressions 1000 \
  --max-ctr 2 \
  --priority high

authority-building

authority-building

End-to-end digital PR and link-building campaign.
Usage:
bash
/workflows:authority-building \
  --topic "sustainable technology" \
  --target-dr-increase 15 \
  --duration 180

/workflows:authority-building \
  --niche "B2B SaaS" \
  --competitor-analysis \
  --outreach-automation
端到端数字PR与外链建设活动。
使用方式:
bash
/workflows:authority-building \
  --topic "sustainable technology" \
  --target-dr-increase 15 \
  --duration 180

/workflows:authority-building \
  --niche "B2B SaaS" \
  --competitor-analysis \
  --outreach-automation

ai-content-pipeline

ai-content-pipeline

Automated content creation pipeline from keyword to publish.
Usage:
bash
/workflows:ai-content-pipeline \
  --keywords-file keywords.csv \
  --publishing-schedule weekly \
  --auto-optimize

/workflows:ai-content-pipeline \
  --topic "digital marketing trends 2024" \
  --content-type blog \
  --word-count 2000 \
  --include-images
从关键词到发布的自动化内容创作流程。
使用方式:
bash
/workflows:ai-content-pipeline \
  --keywords-file keywords.csv \
  --publishing-schedule weekly \
  --auto-optimize

/workflows:ai-content-pipeline \
  --topic "digital marketing trends 2024" \
  --content-type blog \
  --word-count 2000 \
  --include-images

Configuration

配置

Create a configuration file at
~/.claude/skills/voltagent-seo-skills/config.yml
:
yaml
undefined
~/.claude/skills/voltagent-seo-skills/config.yml
创建配置文件:
yaml
undefined

SEO API credentials (use env vars in production)

SEO API凭证(生产环境使用环境变量)

api: seo_api_key: ${SEO_API_KEY} search_console_credentials: ${GOOGLE_SEARCH_CONSOLE_JSON} analytics_key: ${GOOGLE_ANALYTICS_KEY}
api: seo_api_key: ${SEO_API_KEY} search_console_credentials: ${GOOGLE_SEARCH_CONSOLE_JSON} analytics_key: ${GOOGLE_ANALYTICS_KEY}

Default settings

默认设置

defaults: country: US language: en user_agent: "SEO-Agent/1.0" crawl_delay: 1.0 max_pages: 10000
defaults: country: US language: en user_agent: "SEO-Agent/1.0" crawl_delay: 1.0 max_pages: 10000

Output preferences

输出偏好

output: format: markdown include_charts: true export_csv: true progress_bars: true
output: format: markdown include_charts: true export_csv: true progress_bars: true

Thresholds

阈值

thresholds: min_word_count: 300 thin_content: 300 max_keyword_difficulty: 70 min_domain_rating: 30 core_web_vitals_lcp: 2.5 core_web_vitals_fid: 100 core_web_vitals_cls: 0.1
thresholds: min_word_count: 300 thin_content: 300 max_keyword_difficulty: 70 min_domain_rating: 30 core_web_vitals_lcp: 2.5 core_web_vitals_fid: 100 core_web_vitals_cls: 0.1

Workflows

工作流

workflows: full_seo_sprint_steps: 12 content_refresh_lookback_days: 90 authority_building_duration_days: 180

Load configuration programmatically:

```python
import os
import yaml
from pathlib import Path

config_path = Path.home() / ".claude/skills/voltagent-seo-skills/config.yml"

with open(config_path) as f:
    config = yaml.safe_load(f)
workflows: full_seo_sprint_steps: 12 content_refresh_lookback_days: 90 authority_building_duration_days: 180

通过代码加载配置:

```python
import os
import yaml
from pathlib import Path

config_path = Path.home() / ".claude/skills/voltagent-seo-skills/config.yml"

with open(config_path) as f:
    config = yaml.safe_load(f)

Expand environment variables

展开环境变量

for key in config['api']: if isinstance(config['api'][key], str) and config['api'][key].startswith('${'): env_var = config['api'][key][2:-1] config['api'][key] = os.getenv(env_var)
undefined
for key in config['api']: if isinstance(config['api'][key], str) and config['api'][key].startswith('${'): env_var = config['api'][key][2:-1] config['api'][key] = os.getenv(env_var)
undefined

Common Patterns

常见使用模式

Pattern 1: Complete Site Audit

模式1:完整站点审核

bash
undefined
bash
undefined

Step 1: Technical audit

步骤1:技术审核

/technical-seo https://example.com --check-core-web-vitals
/technical-seo https://example.com --check-core-web-vitals

Step 2: Content audit

步骤2:内容审核

/content-audit --scope full --check-duplicates
/content-audit --scope full --check-duplicates

Step 3: Keyword research

步骤3:关键词研究

/keyword-research "main topic" --depth deep
/keyword-research "main topic" --depth deep

Step 4: Competitor analysis

步骤4:竞品分析

/competitor-gap
--my-site example.com
--competitors competitor1.com,competitor2.com
/competitor-gap
--my-site example.com
--competitors competitor1.com,competitor2.com

Step 5: Backlink prospecting

步骤5:外链潜在合作方挖掘

/link-prospecting --topic "your niche" --min-da 30
undefined
/link-prospecting --topic "your niche" --min-da 30
undefined

Pattern 2: New Content Creation

模式2:新内容创作

bash
undefined
bash
undefined

Step 1: Research keyword

步骤1:关键词研究

/keyword-research "target topic" --output json
/keyword-research "target topic" --output json

Step 2: Generate brief

步骤2:生成内容简报

/content-brief "target keyword"
--word-count 2000
--include-nlp-terms
--competitor-analysis
/content-brief "target keyword"
--word-count 2000
--include-nlp-terms
--competitor-analysis

Step 3: Add to calendar

步骤3:添加到内容日历

/content-calendar --topics "target topic" --duration 30
undefined
/content-calendar --topics "target topic" --duration 30
undefined

Pattern 3: Rank Recovery

模式3:排名恢复

bash
undefined
bash
undefined

Step 1: Identify drops

步骤1:识别排名下降

/serp-monitor --alert-on-drop 5 --time-period 30
/serp-monitor --alert-on-drop 5 --time-period 30

Step 2: Run content refresh workflow

步骤2:执行内容刷新工作流

/workflows:content-refresh example.com
--ranking-drop 5
--time-period 30
--priority high
/workflows:content-refresh example.com
--ranking-drop 5
--time-period 30
--priority high

Step 3: Monitor improvements

步骤3:监控排名提升

/serp-monitor --frequency daily --ctr-optimization
undefined
/serp-monitor --frequency daily --ctr-optimization
undefined

Pattern 4: Programmatic Batch Processing

模式4:批量程序化处理

python
from seo_skills import KeywordResearch, ContentBrief, ContentCalendar
import pandas as pd
python
from seo_skills import KeywordResearch, ContentBrief, ContentCalendar
import pandas as pd

Load keyword list

加载关键词列表

keywords = pd.read_csv('seed_keywords.csv')
keywords = pd.read_csv('seed_keywords.csv')

Initialize tools

初始化工具

kr = KeywordResearch(api_key=os.getenv("SEO_API_KEY")) cb = ContentBrief(api_key=os.getenv("SEO_API_KEY")) cc = ContentCalendar()
kr = KeywordResearch(api_key=os.getenv("SEO_API_KEY")) cb = ContentBrief(api_key=os.getenv("SEO_API_KEY")) cc = ContentCalendar()

Process each keyword

处理每个关键词

briefs = [] for keyword in keywords['keyword']: # Research keyword opportunities research = kr.analyze(keyword, depth="deep")
# Generate brief for top opportunity
top_kw = research.top_opportunities[0]
brief = cb.create(
    target_keyword=top_kw.term,
    word_count_target=2000,
    include_nlp_terms=True
)
briefs.append(brief)
briefs = [] for keyword in keywords['keyword']: # 研究关键词机会 research = kr.analyze(keyword, depth="deep")
# 为最优机会生成简报
top_kw = research.top_opportunities[0]
brief = cb.create(
    target_keyword=top_kw.term,
    word_count_target=2000,
    include_nlp_terms=True
)
briefs.append(brief)

Create content calendar

创建内容日历

calendar = cc.generate( briefs=briefs, duration_days=90, publishing_frequency=3, include_seasonality=True )
calendar = cc.generate( briefs=briefs, duration_days=90, publishing_frequency=3, include_seasonality=True )

Export

导出

calendar.to_csv('content_calendar.csv')
undefined
calendar.to_csv('content_calendar.csv')
undefined

Troubleshooting

故障排除

Issue: API Rate Limiting

问题:API速率限制

Symptom:
RateLimitError: API quota exceeded
Solution:
python
from seo_skills import KeywordResearch
import time

kr = KeywordResearch(
    api_key=os.getenv("SEO_API_KEY"),
    rate_limit_delay=2.0  # Add 2 second delay between requests
)
症状:
RateLimitError: API quota exceeded
解决方案:
python
from seo_skills import KeywordResearch
import time

kr = KeywordResearch(
    api_key=os.getenv("SEO_API_KEY"),
    rate_limit_delay=2.0  # 请求间添加2秒延迟
)

Or implement exponential backoff

或实现指数退避

from tenacity import retry, wait_exponential, stop_after_attempt
@retry(wait=wait_exponential(min=1, max=60), stop=stop_after_attempt(5)) def research_with_retry(keyword): return kr.analyze(keyword)
undefined
from tenacity import retry, wait_exponential, stop_after_attempt
@retry(wait=wait_exponential(min=1, max=60), stop=stop_after_attempt(5)) def research_with_retry(keyword): return kr.analyze(keyword)
undefined

Issue: Incomplete Crawl Results

问题:抓取结果不完整

Symptom: Content audit missing pages
Solution:
bash
undefined
症状: 内容审核遗漏页面
解决方案:
bash
undefined

Increase crawl depth and timeout

增加抓取深度和超时时间

/content-audit
--scope full
--max-depth 10
--timeout 300
--follow-redirects
--include-noindex

Or programmatically:

```python
from seo_skills import ContentAudit

audit = ContentAudit(
    max_depth=10,
    timeout=300,
    follow_redirects=True,
    respect_robots_txt=True,
    include_noindex=True,
    max_pages=50000
)
/content-audit
--scope full
--max-depth 10
--timeout 300
--follow-redirects
--include-noindex

或通过代码实现:

```python
from seo_skills import ContentAudit

audit = ContentAudit(
    max_depth=10,
    timeout=300,
    follow_redirects=True,
    respect_robots_txt=True,
    include_noindex=True,
    max_pages=50000
)

Issue: Missing Environment Variables

问题:缺少环境变量

Symptom:
EnvironmentError: SEO_API_KEY not found
Solution:
Create
.env
file:
bash
undefined
症状:
EnvironmentError: SEO_API_KEY not found
解决方案:
创建
.env
文件:
bash
undefined

.env

.env

SEO_API_KEY=your_api_key_here GOOGLE_SEARCH_CONSOLE_JSON=/path/to/credentials.json GOOGLE_ANALYTICS_KEY=your_ga_key_here

Load in your script:

```python
from dotenv import load_dotenv
import os

load_dotenv()
SEO_API_KEY=your_api_key_here GOOGLE_SEARCH_CONSOLE_JSON=/path/to/credentials.json GOOGLE_ANALYTICS_KEY=your_ga_key_here

在脚本中加载:

```python
from dotenv import load_dotenv
import os

load_dotenv()

Now environment variables are available

现在可访问环境变量

api_key = os.getenv("SEO_API_KEY")
undefined
api_key = os.getenv("SEO_API_KEY")
undefined

Issue: Keyword Research Returns No Results

问题:关键词研究无结果

Symptom: Empty keyword list for seed term
Solution:
bash
undefined
症状: 种子关键词返回空列表
解决方案:
bash
undefined

Broaden search parameters

放宽搜索参数

/keyword-research "narrow topic"
--depth deep
--min-volume 10
--include-related
--include-questions
--language en
--country US
undefined
/keyword-research "narrow topic"
--depth deep
--min-volume 10
--include-related
--include-questions
--language en
--country US
undefined

Issue: Schema Validation Failures

问题:Schema验证失败

Symptom: Multiple schema errors in technical audit
Solution:
python
from seo_skills import TechnicalSEO

audit = TechnicalSEO()
results = audit.validate_schema(
    url='https://example.com',
    schema_types=['Product', 'Article', 'Organization'],
    strict_mode=False  # Use lenient validation first
)
症状: 技术审核中出现多个Schema错误
解决方案:
python
from seo_skills import TechnicalSEO

audit = TechnicalSEO()
results = audit.validate_schema(
    url='https://example.com',
    schema_types=['Product', 'Article', 'Organization'],
    strict_mode=False  # 先使用宽松验证
)

Review specific errors

查看具体错误

for error in results.errors: print(f"Path: {error.path}") print(f"Issue: {error.message}") print(f"Fix: {error.recommendation}")
undefined
for error in results.errors: print(f"路径: {error.path}") print(f"问题: {error.message}") print(f"修复建议: {error.recommendation}")
undefined

Advanced Usage

高级用法

Custom Scoring Algorithm

自定义评分算法

python
from seo_skills import KeywordResearch

class CustomKeywordScoring(KeywordResearch):
    def calculate_opportunity_score(self, keyword):
        """Custom scoring based on your business priorities"""
        volume_score = min(keyword.volume / 10000, 1.0) * 40
        difficulty_score = (100 - keyword.difficulty) / 100 * 30
        intent_score = self.intent_multiplier(keyword.intent) * 20
        trend_score = keyword.trend_direction * 10
        
        return volume_score + difficulty_score + intent_score + trend_score
    
    def intent_multiplier(self, intent):
        # Prioritize commercial intent
        multipliers = {
            'transactional': 1.0,
            'commercial': 0.9,
            'informational': 0.6,
            'navigational': 0.3
        }
        return multipliers.get(intent, 0.5)
python
from seo_skills import KeywordResearch

class CustomKeywordScoring(KeywordResearch):
    def calculate_opportunity_score(self, keyword):
        """基于业务优先级的自定义评分"""
        volume_score = min(keyword.volume / 10000, 1.0) * 40
        difficulty_score = (100 - keyword.difficulty) / 100 * 30
        intent_score = self.intent_multiplier(keyword.intent) * 20
        trend_score = keyword.trend_direction * 10
        
        return volume_score + difficulty_score + intent_score + trend_score
    
    def intent_multiplier(self, intent):
        # 优先考虑商业意图
        multipliers = {
            'transactional': 1.0,
            'commercial': 0.9,
            'informational': 0.6,
            'navigational': 0.3
        }
        return multipliers.get(intent, 0.5)

Use custom scorer

使用自定义评分器

kr = CustomKeywordScoring(api_key=os.getenv("SEO_API_KEY")) results = kr.analyze("project management software")
undefined
kr = CustomKeywordScoring(api_key=os.getenv("SEO_API_KEY")) results = kr.analyze("project management software")
undefined

Integration with CI/CD

与CI/CD集成

yaml
undefined
yaml
undefined

.github/workflows/seo-monitoring.yml

.github/workflows/seo-monitoring.yml

name: SEO Monitoring
on: schedule: - cron: '0 0 * * *' # Daily at midnight
jobs: seo-audit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3
  - name: Setup Python
    uses: actions/setup-python@v4
    with:
      python-version: '3.11'
  
  - name: Install dependencies
    run: |
      pip install voltagent-seo-skills pyyaml
  
  - name: Run daily SEO checks
    env:
      SEO_API_KEY: ${{ secrets.SEO_API_KEY }}
    run: |
      python scripts/daily_seo_check.py
  
  - name: Create issue if problems found
    if: failure()
    uses: actions/github-script@v6
    with:
      script: |
        github.rest.issues.create({
          owner: context.repo.owner,
          repo: context.repo.repo,
          title: 'SEO Issues Detected',
          body: 'Daily SEO audit found issues. Check workflow logs.'
        })
undefined
name: SEO Monitoring
on: schedule: - cron: '0 0 * * *' # 每日午夜执行
jobs: seo-audit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3
  - name: 设置Python环境
    uses: actions/setup-python@v4
    with:
      python-version: '3.11'
  
  - name: 安装依赖
    run: |
      pip install voltagent-seo-skills pyyaml
  
  - name: 执行每日SEO检查
    env:
      SEO_API_KEY: ${{ secrets.SEO_API_KEY }}
    run: |
      python scripts/daily_seo_check.py
  
  - name: 发现问题时创建Issue
    if: failure()
    uses: actions/github-script@v6
    with:
      script: |
        github.rest.issues.create({
          owner: context.repo.owner,
          repo: context.repo.repo,
          title: '检测到SEO问题',
          body: '每日SEO审核发现问题,请查看工作流日志。'
        })
undefined

Resources

资源


License: MIT

许可证: MIT