seo-domain-analyzer
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSEO Domain Analyzer
SEO域名分析工具
Pull real SEO performance data for any domain — no Semrush or Ahrefs subscription needed. Uses Apify actors that scrape Semrush/Ahrefs public pages to get authority scores, traffic estimates, keyword rankings, backlink profiles, and competitor discovery.
提取任意域名的真实SEO表现数据——无需订阅Semrush或Ahrefs。使用Apify actors抓取Semrush/Ahrefs公开页面,获取权威值、流量预估、关键词排名、反向链接档案及竞品识别结果。
Quick Start
快速开始
bash
undefinedbash
undefinedBasic domain analysis
基础域名分析
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com"
--domain "example.com"
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com"
--domain "example.com"
With competitor comparison
竞品对比分析
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com"
--competitors "competitor1.com,competitor2.com,competitor3.com"
--domain "example.com"
--competitors "competitor1.com,competitor2.com,competitor3.com"
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com"
--competitors "competitor1.com,competitor2.com,competitor3.com"
--domain "example.com"
--competitors "competitor1.com,competitor2.com,competitor3.com"
Check specific keywords
检查特定关键词
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com"
--keywords "cloud cost optimization,reduce aws bill,finops tools"
--domain "example.com"
--keywords "cloud cost optimization,reduce aws bill,finops tools"
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com"
--keywords "cloud cost optimization,reduce aws bill,finops tools"
--domain "example.com"
--keywords "cloud cost optimization,reduce aws bill,finops tools"
Save output
保存输出结果
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com" --output clients/acme/research/seo-profile.json
--domain "example.com" --output clients/acme/research/seo-profile.json
undefinedpython3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com" --output clients/acme/research/seo-profile.json
--domain "example.com" --output clients/acme/research/seo-profile.json
undefinedInputs
输入参数
| Parameter | Required | Default | Description |
|---|---|---|---|
| domain | Yes | — | Domain to analyze (e.g., "example.com") |
| competitors | No | auto-discovered | Comma-separated competitor domains |
| keywords | No | auto-inferred | Specific keywords to check rankings for |
| output | No | stdout | Path to save JSON output |
| skip-backlinks | No | false | Skip Ahrefs backlink analysis (saves ~$0.10) |
| 参数 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|
| domain | 是 | — | 待分析的域名(例如:"example.com") |
| competitors | 否 | 自动识别 | 以逗号分隔的竞品域名 |
| keywords | 否 | 自动推断 | 需检查排名的特定关键词 |
| output | 否 | 标准输出 | 保存JSON结果的路径 |
| skip-backlinks | 否 | false | 跳过Ahrefs反向链接分析(可节省约0.10美元) |
Cost
成本
| Data Source | Apify Actor | Est. Cost |
|---|---|---|
| Domain overview (Semrush) | | ~$0.10/domain |
| Backlink profile (Ahrefs) | | ~$0.10/domain |
| Keyword rank checks | | ~$0.002/keyword |
| Typical full run | ~$0.50-1.00 | |
| With 3 competitors | ~$1.50-3.00 |
| 数据源 | Apify Actor | 预估成本 |
|---|---|---|
| 域名概览(Semrush) | | 约0.10美元/域名 |
| 反向链接档案(Ahrefs) | | 约0.10美元/域名 |
| 关键词排名检查 | | 约0.002美元/关键词 |
| 典型完整运行 | 约0.50-1.00美元 | |
| 含3个竞品的分析 | 约1.50-3.00美元 |
Process
处理流程
Phase 1: Domain Overview (Semrush Data)
阶段1:域名概览(Semrush数据)
Use Apify actor to get:
devnaz/semrush-scraperpython
undefined使用Apify actor 获取:
devnaz/semrush-scraperpython
undefinedActor: devnaz/semrush-scraper
Actor: devnaz/semrush-scraper
Input: domain URL
输入:域名URL
{
"urls": ["https://example.com"]
}
**Extracted metrics:**
- **Authority Score** (0-100)
- **Organic monthly traffic** estimate
- **Organic keywords count** (how many keywords the domain ranks for)
- **Paid traffic** estimate (if any)
- **Backlinks count** (Semrush's count)
- **Referring domains count**
- **Top organic keywords** (keyword, position, traffic share)
- **Top competitors** (competing domains by keyword overlap)
- **Traffic trend** (month-over-month direction){
"urls": ["https://example.com"]
}
**提取的指标:**
- **权威值**(0-100)
- **自然月流量**预估
- **自然关键词数量**(域名有排名的关键词总数)
- **付费流量**预估(如有)
- **反向链接数量**(Semrush统计值)
- **引用域名数量**
- **顶级自然关键词**(关键词、排名、流量占比)
- **顶级竞品**(通过关键词重叠识别的竞争域名)
- **流量趋势**(月度变化方向)Phase 2: Backlink Profile (Ahrefs Data)
阶段2:反向链接档案(Ahrefs数据)
Use Apify actor to get:
radeance/ahrefs-scraperpython
undefined使用Apify actor 获取:
radeance/ahrefs-scraperpython
undefinedActor: radeance/ahrefs-scraper
Actor: radeance/ahrefs-scraper
Input: domain for backlink analysis
输入:用于反向链接分析的域名
{
"urls": ["https://example.com"],
"mode": "domain-overview"
}
**Extracted metrics:**
- **Domain Rating (DR)** (0-100)
- **URL Rating** of homepage
- **Referring domains** count and trend
- **Backlinks** total count
- **Top referring domains** (which sites link to them)
- **Anchor text distribution** (branded vs keyword vs generic)
- **Dofollow vs nofollow ratio**{
"urls": ["https://example.com"],
"mode": "domain-overview"
}
**提取的指标:**
- **域名评级(DR)**(0-100)
- 首页的**URL评级**
- **引用域名**数量及趋势
- **反向链接**总数
- **顶级引用域名**(哪些网站链接到该域名)
- **锚文本分布**(品牌词、关键词、通用词占比)
- **Dofollow与Nofollow比例**Phase 3: Keyword Rank Verification
阶段3:关键词排名验证
For specific keywords (user-provided or auto-inferred from Phase 1), verify actual rankings using Google search:
python
undefined针对特定关键词(用户提供或从阶段1自动推断),通过谷歌搜索验证实际排名:
python
undefinedActor: apify/google-search-scraper
Actor: apify/google-search-scraper
Input: keyword queries
输入:关键词查询
{
"queries": "cloud cost optimization",
"maxPagesPerQuery": 1,
"resultsPerPage": 10,
"countryCode": "us",
"languageCode": "en"
}
**For each keyword:**
- Does the target domain appear in top 10?
- What position?
- What specific URL ranks?
- Who else ranks? (competitive landscape for that keyword)
**Keyword sources (in priority order):**
1. User-provided keywords
2. Top organic keywords from Semrush data (Phase 1)
3. Auto-inferred from domain content (WebSearch `site:[domain]` to see page titles){
"queries": "cloud cost optimization",
"maxPagesPerQuery": 1,
"resultsPerPage": 10,
"countryCode": "us",
"languageCode": "en"
}
**针对每个关键词:**
- 目标域名是否出现在前10名?
- 具体排名位置?
- 哪个具体URL获得排名?
- 还有哪些域名排名?(该关键词的竞争格局)
**关键词来源(优先级顺序):**
1. 用户提供的关键词
2. 阶段1中Semrush数据的顶级自然关键词
3. 从域名内容自动推断(通过WebSearch `site:[domain]`查看页面标题)Phase 4: Top Pages Analysis
阶段4:高表现页面分析
From the Semrush data, extract the highest-traffic pages:
- URL
- Estimated monthly traffic
- Primary keyword(s) driving traffic
- Number of ranking keywords
If Semrush doesn't provide per-page data, supplement with:
- WebSearch: and note which pages appear first (proxy for importance)
site:[domain] - WebSearch: for top blog content
site:[domain] blog
从Semrush数据中提取流量最高的页面:
- URL
- 预估月流量
- 驱动流量的核心关键词
- 有排名的关键词数量
如果Semrush未提供页面级详情,则补充以下数据:
- WebSearch:,记录排名靠前的页面(作为重要性的替代指标)
site:[domain] - WebSearch:,获取顶级博客内容
site:[domain] blog
Phase 5: Competitor Discovery
阶段5:竞品识别
Competitors are identified from multiple sources:
- Semrush competitor data (Phase 1) — domains competing for same keywords
- User-provided competitors — always included
- Google SERP competitors — from Phase 3 keyword checks, note which domains consistently appear
For each competitor, run a lighter version of Phase 1 (domain overview only):
- Authority score
- Organic traffic estimate
- Keyword count
- Top keywords
竞品通过多个来源识别:
- Semrush竞品数据(阶段1)——竞争相同关键词的域名
- 用户提供的竞品——始终包含在内
- 谷歌搜索结果页(SERP)竞品——从阶段3的关键词检查中,记录持续出现的域名
针对每个竞品,运行阶段1的简化版本(仅域名概览):
- 权威值
- 自然流量预估
- 关键词数量
- 顶级关键词
Phase 6: Output
阶段6:输出结果
JSON Output
JSON输出
json
{
"domain": "example.com",
"analysis_date": "2026-02-25",
"domain_metrics": {
"semrush_authority_score": 45,
"ahrefs_domain_rating": 52,
"organic_monthly_traffic": 28500,
"organic_keywords": 1240,
"backlinks": 8930,
"referring_domains": 412,
"traffic_trend": "increasing"
},
"top_pages": [
{
"url": "https://example.com/blog/reduce-aws-costs",
"estimated_traffic": 3200,
"top_keyword": "reduce aws costs",
"ranking_keywords": 45
}
],
"keyword_rankings": [
{
"keyword": "cloud cost optimization",
"position": 4,
"url": "https://example.com/blog/cloud-cost-optimization-guide",
"serp_competitors": ["vantage.sh", "antimetal.com", "finout.io"]
}
],
"backlink_profile": {
"domain_rating": 52,
"total_backlinks": 8930,
"referring_domains": 412,
"dofollow_ratio": 0.78,
"top_referring_domains": ["techcrunch.com", "producthunt.com", ...],
"anchor_text_distribution": {
"branded": 0.45,
"keyword": 0.22,
"generic": 0.18,
"url": 0.15
}
},
"competitors": [
{
"domain": "competitor1.com",
"authority_score": 62,
"organic_traffic": 45000,
"organic_keywords": 2100,
"keyword_overlap": 340
}
]
}json
{
"domain": "example.com",
"analysis_date": "2026-02-25",
"domain_metrics": {
"semrush_authority_score": 45,
"ahrefs_domain_rating": 52,
"organic_monthly_traffic": 28500,
"organic_keywords": 1240,
"backlinks": 8930,
"referring_domains": 412,
"traffic_trend": "increasing"
},
"top_pages": [
{
"url": "https://example.com/blog/reduce-aws-costs",
"estimated_traffic": 3200,
"top_keyword": "reduce aws costs",
"ranking_keywords": 45
}
],
"keyword_rankings": [
{
"keyword": "cloud cost optimization",
"position": 4,
"url": "https://example.com/blog/cloud-cost-optimization-guide",
"serp_competitors": ["vantage.sh", "antimetal.com", "finout.io"]
}
],
"backlink_profile": {
"domain_rating": 52,
"total_backlinks": 8930,
"referring_domains": 412,
"dofollow_ratio": 0.78,
"top_referring_domains": ["techcrunch.com", "producthunt.com", ...],
"anchor_text_distribution": {
"branded": 0.45,
"keyword": 0.22,
"generic": 0.18,
"url": 0.15
}
},
"competitors": [
{
"domain": "competitor1.com",
"authority_score": 62,
"organic_traffic": 45000,
"organic_keywords": 2100,
"keyword_overlap": 340
}
]
}Markdown Summary (also generated)
Markdown摘要(同时生成)
markdown
undefinedmarkdown
undefinedSEO Domain Profile: example.com
SEO域名档案:example.com
Date: 2026-02-25
日期: 2026-02-25
Domain Metrics
域名指标
| Metric | Value |
|---|---|
| Semrush Authority Score | 45/100 |
| Ahrefs Domain Rating | 52/100 |
| Monthly Organic Traffic | ~28,500 |
| Organic Keywords | 1,240 |
| Backlinks | 8,930 |
| Referring Domains | 412 |
| Traffic Trend | Increasing |
| 指标 | 数值 |
|---|---|
| Semrush权威值 | 45/100 |
| Ahrefs域名评级 | 52/100 |
| 月自然流量 | ~28,500 |
| 自然关键词数量 | 1,240 |
| 反向链接数量 | 8,930 |
| 引用域名数量 | 412 |
| 流量趋势 | 增长中 |
Top Performing Pages
高表现页面
| # | URL | Est. Traffic | Top Keyword |
|---|---|---|---|
| 1 | /blog/reduce-aws-costs | 3,200 | reduce aws costs |
| ... |
| 序号 | URL | 预估流量 | 核心关键词 |
|---|---|---|---|
| 1 | /blog/reduce-aws-costs | 3,200 | reduce aws costs |
| ... |
Keyword Rankings
关键词排名
| Keyword | Position | URL | SERP Competitors |
|---|---|---|---|
| cloud cost optimization | #4 | /blog/cloud-cost... | vantage.sh, antimetal.com |
| ... |
| 关键词 | 排名 | URL | SERP竞品 |
|---|---|---|---|
| cloud cost optimization | #4 | /blog/cloud-cost... | vantage.sh, antimetal.com |
| ... |
Backlink Profile
反向链接档案
- Domain Rating: 52/100
- Referring Domains: 412
- Dofollow Ratio: 78%
- Top linking sites: TechCrunch, Product Hunt, ...
- 域名评级:52/100
- 引用域名数量:412
- Dofollow比例:78%
- 顶级链接网站:TechCrunch, Product Hunt, ...
Competitor Comparison
竞品对比
| Domain | Authority | Traffic | Keywords | Overlap |
|---|---|---|---|---|
| example.com | 45 | 28.5K | 1,240 | — |
| competitor1.com | 62 | 45K | 2,100 | 340 |
| ... |
undefined| 域名 | 权威值 | 流量 | 关键词数量 | 重叠关键词数 |
|---|---|---|---|---|
| example.com | 45 | 28.5K | 1,240 | — |
| competitor1.com | 62 | 45K | 2,100 | 340 |
| ... |
undefinedTips
使用提示
- Semrush scraper data quality varies. The Apify actors scrape public Semrush pages, which show limited data for non-subscribers. Traffic estimates and top keywords are available, but detailed per-page breakdowns may be partial.
- Combine with site-content-catalog to get both the content inventory AND performance data — together they tell you what content exists AND which pieces actually drive traffic.
- Keyword rank verification via Google is the most reliable data point. Semrush/Ahrefs estimates can be off, but checking actual SERPs gives ground truth.
- Run competitors lighter. Full backlink analysis on 5 competitors gets expensive. Domain overview (Semrush only) is usually sufficient for comparison.
- Apify actors may break. These scrape Semrush/Ahrefs public pages, which can change. If an actor fails, fall back to the free skill which uses web search probes.
seo-traffic-analyzer
- Semrush爬虫数据质量不稳定。Apify actors抓取Semrush公开页面,非订阅用户可查看的数据有限。流量预估和顶级关键词可用,但详细的页面级细分数据可能不完整。
- 与site-content-catalog结合使用,同时获取内容清单和表现数据——两者结合可告诉你现有哪些内容,以及哪些内容真正驱动流量。
- 通过谷歌验证关键词排名是最可靠的数据点。Semrush/Ahrefs的预估可能有偏差,但检查实际SERP可获得真实结果。
- 简化竞品分析。对5个竞品进行完整反向链接分析成本较高。仅做域名概览(仅Semrush数据)通常足以满足对比需求。
- Apify actors可能失效。这些工具抓取Semrush/Ahrefs公开页面,而页面可能会更新。如果某个actor失效,可退而使用免费的技能,该技能使用网页搜索探测。
seo-traffic-analyzer
Fallback: Free Mode
备用方案:免费模式
If is not set or Apify actors fail, the script falls back to:
APIFY_API_TOKEN- WebSearch probes (like skill)
seo-traffic-analyzer - for indexed page count
site:[domain] - SimilarWeb free tier for traffic estimates
- Manual Google SERP checks for keyword rankings
This gives less precise data but still produces a useful report.
如果未设置或Apify actors失效,脚本将自动切换为:
APIFY_API_TOKEN- 网页搜索探测(类似技能)
seo-traffic-analyzer - 获取索引页面数量
site:[domain] - SimilarWeb免费版获取流量预估
- 手动检查谷歌SERP获取关键词排名
这种模式下数据精度较低,但仍能生成有用的报告。
Dependencies
依赖项
- Python 3.8+
- library
requests - env var (for Apify mode; falls back to free probes without it)
APIFY_API_TOKEN
- Python 3.8+
- 库
requests - 环境变量(Apify模式下需要;无此变量则自动切换为免费探测模式)
APIFY_API_TOKEN