seo-domain-analyzer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

SEO 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
undefined
bash
undefined

Basic domain analysis

基础域名分析

python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com"
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--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"
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--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"
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--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
undefined
python3 skills/seo-domain-analyzer/scripts/analyze_domain.py
--domain "example.com" --output clients/acme/research/seo-profile.json
undefined

Inputs

输入参数

ParameterRequiredDefaultDescription
domainYesDomain to analyze (e.g., "example.com")
competitorsNoauto-discoveredComma-separated competitor domains
keywordsNoauto-inferredSpecific keywords to check rankings for
outputNostdoutPath to save JSON output
skip-backlinksNofalseSkip Ahrefs backlink analysis (saves ~$0.10)
参数是否必填默认值描述
domain待分析的域名(例如:"example.com")
competitors自动识别以逗号分隔的竞品域名
keywords自动推断需检查排名的特定关键词
output标准输出保存JSON结果的路径
skip-backlinksfalse跳过Ahrefs反向链接分析(可节省约0.10美元)

Cost

成本

Data SourceApify ActorEst. Cost
Domain overview (Semrush)
devnaz/semrush-scraper
~$0.10/domain
Backlink profile (Ahrefs)
radeance/ahrefs-scraper
~$0.10/domain
Keyword rank checks
apify/google-search-scraper
~$0.002/keyword
Typical full run~$0.50-1.00
With 3 competitors~$1.50-3.00
数据源Apify Actor预估成本
域名概览(Semrush)
devnaz/semrush-scraper
约0.10美元/域名
反向链接档案(Ahrefs)
radeance/ahrefs-scraper
约0.10美元/域名
关键词排名检查
apify/google-search-scraper
约0.002美元/关键词
典型完整运行约0.50-1.00美元
含3个竞品的分析约1.50-3.00美元

Process

处理流程

Phase 1: Domain Overview (Semrush Data)

阶段1:域名概览(Semrush数据)

Use Apify actor
devnaz/semrush-scraper
to get:
python
undefined
使用Apify actor
devnaz/semrush-scraper
获取:
python
undefined

Actor: 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
radeance/ahrefs-scraper
to get:
python
undefined
使用Apify actor
radeance/ahrefs-scraper
获取:
python
undefined

Actor: 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
undefined

Actor: 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:
    site:[domain]
    and note which pages appear first (proxy for importance)
  • WebSearch:
    site:[domain] blog
    for top blog content
从Semrush数据中提取流量最高的页面:
  • URL
  • 预估月流量
  • 驱动流量的核心关键词
  • 有排名的关键词数量
如果Semrush未提供页面级详情,则补充以下数据:
  • WebSearch:
    site:[domain]
    ,记录排名靠前的页面(作为重要性的替代指标)
  • WebSearch:
    site:[domain] blog
    ,获取顶级博客内容

Phase 5: Competitor Discovery

阶段5:竞品识别

Competitors are identified from multiple sources:
  1. Semrush competitor data (Phase 1) — domains competing for same keywords
  2. User-provided competitors — always included
  3. 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
竞品通过多个来源识别:
  1. Semrush竞品数据(阶段1)——竞争相同关键词的域名
  2. 用户提供的竞品——始终包含在内
  3. 谷歌搜索结果页(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
undefined
markdown
undefined

SEO Domain Profile: example.com

SEO域名档案:example.com

Date: 2026-02-25
日期: 2026-02-25

Domain Metrics

域名指标

MetricValue
Semrush Authority Score45/100
Ahrefs Domain Rating52/100
Monthly Organic Traffic~28,500
Organic Keywords1,240
Backlinks8,930
Referring Domains412
Traffic TrendIncreasing
指标数值
Semrush权威值45/100
Ahrefs域名评级52/100
月自然流量~28,500
自然关键词数量1,240
反向链接数量8,930
引用域名数量412
流量趋势增长中

Top Performing Pages

高表现页面

#URLEst. TrafficTop Keyword
1/blog/reduce-aws-costs3,200reduce aws costs
...
序号URL预估流量核心关键词
1/blog/reduce-aws-costs3,200reduce aws costs
...

Keyword Rankings

关键词排名

KeywordPositionURLSERP Competitors
cloud cost optimization#4/blog/cloud-cost...vantage.sh, antimetal.com
...
关键词排名URLSERP竞品
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

竞品对比

DomainAuthorityTrafficKeywordsOverlap
example.com4528.5K1,240
competitor1.com6245K2,100340
...
undefined
域名权威值流量关键词数量重叠关键词数
example.com4528.5K1,240
competitor1.com6245K2,100340
...
undefined

Tips

使用提示

  • 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
    seo-traffic-analyzer
    skill which uses web search probes.
  • Semrush爬虫数据质量不稳定。Apify actors抓取Semrush公开页面,非订阅用户可查看的数据有限。流量预估和顶级关键词可用,但详细的页面级细分数据可能不完整。
  • 与site-content-catalog结合使用,同时获取内容清单和表现数据——两者结合可告诉你现有哪些内容,以及哪些内容真正驱动流量。
  • 通过谷歌验证关键词排名是最可靠的数据点。Semrush/Ahrefs的预估可能有偏差,但检查实际SERP可获得真实结果。
  • 简化竞品分析。对5个竞品进行完整反向链接分析成本较高。仅做域名概览(仅Semrush数据)通常足以满足对比需求。
  • Apify actors可能失效。这些工具抓取Semrush/Ahrefs公开页面,而页面可能会更新。如果某个actor失效,可退而使用免费的
    seo-traffic-analyzer
    技能,该技能使用网页搜索探测。

Fallback: Free Mode

备用方案:免费模式

If
APIFY_API_TOKEN
is not set or Apify actors fail, the script falls back to:
  1. WebSearch probes (like
    seo-traffic-analyzer
    skill)
  2. site:[domain]
    for indexed page count
  3. SimilarWeb free tier for traffic estimates
  4. Manual Google SERP checks for keyword rankings
This gives less precise data but still produces a useful report.
如果未设置
APIFY_API_TOKEN
或Apify actors失效,脚本将自动切换为:
  1. 网页搜索探测(类似
    seo-traffic-analyzer
    技能)
  2. site:[domain]
    获取索引页面数量
  3. SimilarWeb免费版获取流量预估
  4. 手动检查谷歌SERP获取关键词排名
这种模式下数据精度较低,但仍能生成有用的报告。

Dependencies

依赖项

  • Python 3.8+
  • requests
    library
  • APIFY_API_TOKEN
    env var (for Apify mode; falls back to free probes without it)
  • Python 3.8+
  • requests
  • APIFY_API_TOKEN
    环境变量(Apify模式下需要;无此变量则自动切换为免费探测模式)