SEO 数据分析
High Contrast
Dark Mode
Light Mode
Sepia
Forest
2 min read353 words

SEO 数据分析

没有数据就没有优化——用 GSC 和 GA4 驱动每一个 SEO 决策。

SEO 数据体系

graph TD DATA[SEO 数据体系] --> GSC[Google Search Console] DATA --> GA4[Google Analytics 4] DATA --> RANK[排名追踪工具] DATA --> AUDIT_T[技术审计工具] GSC --> IMP[展示次数] GSC --> CLK[点击次数] GSC --> CTR_D[平均 CTR] GSC --> POS[平均排名] GSC --> IDX[索引状态] GA4 --> TRAFFIC[自然流量] GA4 --> BEHAVIOR[用户行为] GA4 --> CONV[转化] style DATA fill:#e3f2fd,stroke:#1565c0,stroke-width:2px style GSC fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px

GSC 关键报告

"""
GSC 数据分析框架
"""
from dataclasses import dataclass
@dataclass
class GSCAnalysis:
"""GSC 数据分析"""
@staticmethod
def find_opportunities(queries: list[dict]) -> dict:
"""发现优化机会"""
quick_wins = []
optimize = []
new_content = []
for q in queries:
if 4 <= q["position"] <= 10 and q["impressions"] > 500:
quick_wins.append({
"关键词": q["query"],
"当前排名": q["position"],
"展示量": q["impressions"],
"建议": "已在首页,优化内容冲前3",
})
elif 11 <= q["position"] <= 20 and q["impressions"] > 1000:
optimize.append({
"关键词": q["query"],
"当前排名": q["position"],
"展示量": q["impressions"],
"建议": "第2页, 大量展示但无点击, 值得优化",
})
elif q["ctr"] < 2 and q["position"] <= 5:
new_content.append({
"关键词": q["query"],
"排名": q["position"],
"CTR": f"{q['ctr']}%",
"建议": "排名好但 CTR 低, 优化标题和描述",
})
return {
"速赢机会": quick_wins,
"值得优化": optimize,
"CTR 优化": new_content,
}
queries = [
{"query": "python 教程", "position": 5, "impressions": 8000, "clicks": 320, "ctr": 4.0},
{"query": "python 入门", "position": 12, "impressions": 5000, "clicks": 50, "ctr": 1.0},
{"query": "python 安装", "position": 3, "impressions": 3000, "clicks": 45, "ctr": 1.5},
{"query": "python 列表操作", "position": 7, "impressions": 2000, "clicks": 100, "ctr": 5.0},
{"query": "python vs java", "position": 15, "impressions": 4000, "clicks": 40, "ctr": 1.0},
]
result = GSCAnalysis.find_opportunities(queries)
print("=== GSC 机会分析 ===")
for category, items in result.items():
if items:
print(f"\n【{category}】({len(items)} 个)")
for item in items:
print(f"  • {item['关键词']} → {item['建议']}")

GA4 SEO 报告

"""
GA4 自然流量分析
"""
GA4_SEO_REPORTS = {
"着陆页分析": {
"维度": "Landing Page + Source = organic",
"指标": ["会话数", "用户数", "参与时间", "跳出率", "转化"],
"用途": "找出流量最高和转化最好的页面",
},
"自然流量趋势": {
"维度": "日期 + Source/Medium = google/organic",
"指标": ["会话数", "新用户"],
"用途": "监控自然流量增长趋势和异常",
},
"转化路径": {
"维度": "转化路径报告",
"指标": ["辅助转化", "首次互动", "末次互动"],
"用途": "量化 SEO 对转化的真实贡献",
},
"用户行为": {
"维度": "参与度 + 自然流量",
"指标": ["页面浏览", "滚动深度", "事件"],
"用途": "评估内容质量和用户满意度",
},
}
print("=== GA4 SEO 核心报告 ===")
for report, info in GA4_SEO_REPORTS.items():
print(f"\n【{report}】")
print(f"  维度: {info['维度']}")
print(f"  指标: {', '.join(info['指标'])}")
print(f"  用途: {info['用途']}")

SEO KPI 仪表盘

"""
SEO KPI 追踪
"""
SEO_KPIS = {
"流量指标": [
{"KPI": "自然流量", "基准": "月均同比增长 10%+", "频率": "周"},
{"KPI": "品牌搜索量", "基准": "持续增长", "频率": "月"},
{"KPI": "新关键词排名数", "基准": "每月新增 50+", "频率": "月"},
],
"排名指标": [
{"KPI": "Top 3 关键词数", "基准": "持续增长", "频率": "周"},
{"KPI": "Top 10 关键词数", "基准": "月增 10%", "频率": "周"},
{"KPI": "平均排名位置", "基准": "持续下降(更好)", "频率": "月"},
],
"技术指标": [
{"KPI": "索引覆盖率", "基准": "> 95%", "频率": "月"},
{"KPI": "CWV 通过率", "基准": "> 75%", "频率": "月"},
{"KPI": "爬取错误数", "基准": "< 1%", "频率": "周"},
],
"商业指标": [
{"KPI": "自然流量转化率", "基准": "> 2%", "频率": "月"},
{"KPI": "SEO 带来收入", "基准": "持续增长", "频率": "月"},
{"KPI": "每次自然访问成本", "基准": "持续降低", "频率": "季"},
],
}
print("=== SEO KPI 仪表盘 ===")
for category, kpis in SEO_KPIS.items():
print(f"\n{category}:")
for kpi in kpis:
print(f"  • {kpi['KPI']}: {kpi['基准']} [{kpi['频率']}]")

SEO ROI 计算

"""
SEO ROI 计算器
"""
def seo_roi(
monthly_spend: float,
organic_sessions: int,
conversion_rate: float,
avg_order_value: float,
) -> dict:
"""计算 SEO ROI"""
conversions = organic_sessions * conversion_rate / 100
revenue = conversions * avg_order_value
roi = (revenue - monthly_spend) / monthly_spend * 100
cost_per_visit = monthly_spend / organic_sessions if organic_sessions else 0
# 对比付费流量成本
estimated_cpc = 3.0  # 假设行业平均 CPC
saved_ad_spend = organic_sessions * estimated_cpc
return {
"月度 SEO 投入": f"¥{monthly_spend:,.0f}",
"自然流量": f"{organic_sessions:,}",
"转化数": f"{conversions:,.0f}",
"收入": f"¥{revenue:,.0f}",
"ROI": f"{roi:.0f}%",
"每次访问成本": f"¥{cost_per_visit:.2f}",
"等价广告费": f"¥{saved_ad_spend:,.0f} (CPC ¥{estimated_cpc})",
"节省广告费": f"¥{saved_ad_spend - monthly_spend:,.0f}",
}
result = seo_roi(
monthly_spend=15000,
organic_sessions=50000,
conversion_rate=2.5,
avg_order_value=200,
)
print("=== SEO ROI 分析 ===")
for k, v in result.items():
print(f"  {k}: {v}")

常用工具

工具 用途 价格
Google Search Console 排名/索引/CWV 免费
Google Analytics 4 流量/行为/转化 免费
Ahrefs 外链/关键词/竞品 $99+/月
SEMrush 全能 SEO 工具 $130+/月
Screaming Frog 技术审计 500URL免费

行动清单

下一节02-SEO报告与向管理层汇报 — 把 SEO 数据翻译成管理层能理解的业务语言。