独立站 SEO:数据告诉你先优化哪一页

做独立站的朋友,最常问的是"我到底该优化哪?"答案在数据里。用 SERP 数据看自己的站排了什么词、没排什么词,优化方向就清楚了。

这篇讲怎么用 SERP API 给独立站做 SEO 诊断。下面以 SerpBase 的接口为例。

思路

SEO 诊断 = 查一批词 → 看自己的站排没排 → 分类:

  1. 排上了,位置低:有戏,冲一冲就能上来
  2. 没排上:要么词太难,要么页面没被收录
  3. 没收录:技术问题,优先解决

批量查排名

import requests

KEY = "你的key"
KEYWORDS = ["装修公司", "装修报价", "装修设计", "全屋定制", "装修工期"]

def check_rank(keyword, domain):
    r = requests.post(
        "https://api.serpbase.dev/google/search",
        headers={"X-API-Key": KEY},
        json={"q": keyword, "hl": "zh-CN", "gl": "cn"},
        timeout=10,
    )
    r.raise_for_status()
    for i, item in enumerate(r.json().get("organic", []), 1):
        if domain in (item.get("link") or ""):
            return i
    return None

分类诊断

def diagnose(keywords, domain):
    result = {"opportunity": [], "hard": [], "not_indexed": []}

    for kw in keywords:
        rank = check_rank(kw, domain)
        if rank and rank <= 5:
            result["opportunity"].append((kw, rank, "位置好,守住"))
        elif rank:
            result["opportunity"].append((kw, rank, "位置低,冲一冲"))
        else:
            result["hard"].append((kw, "没进前10,词难或页弱"))

    return result

d = diagnose(KEYWORDS, "yoursite.com")
for kw, info in d["opportunity"]:
    print(f"机会: {kw} {info}")
for kw, info in d["hard"]:
    print(f"难点: {kw} {info}")

怎么定优先级

def prioritize(diag):
    # 1 先处理排 6-10 的(离前5最近)
    near = [x for x in diag["opportunity"] if 6 <= x[1] <= 10]
    # 2 再处理排 1-5 的(守)
    hold = [x for x in diag["opportunity"] if x[1] <= 5]
    # 3 难点词:检查是不是页面没被收录
    return {"先优化": near, "守住": hold, "检查收录": diag["hard"]}

检查是否被收录

难点词没排上,先确认页面被没被 Google 收录。用 site: 查询:

def check_indexed(page_url):
    r = requests.post(
        "https://api.serpbase.dev/google/search",
        headers={"X-API-Key": KEY},
        json={"q": f'site:yoursite.com {page_url.split("/")[-1]}', "hl": "zh-CN", "gl": "cn"},
        timeout=10,
    )
    return bool(r.json().get("organic"))

没被收录 = 技术问题(结构、sitemap、内链),先解决这个。

每月诊断报告

def monthly_seo_audit():
    diag = diagnose(KEYWORDS, "yoursite.com")
    # 对比上月,看排名变化
    report = render_report(diag)
    # 存库 + 发邮件

注意

  1. 固定 hl/gl:诊断要同标准
  2. 词表要准:覆盖你的核心业务词
  3. 排名是时点:多次查取均值,别单次下结论

扩展

  • 竞品对比:查竞品站排什么词
  • 内容机会:挖"大家都在问",找没写的内容
  • 多页面:不同页面分开查,定位薄弱页

完整参数和响应字段参考:serpbase.dev/docs。独立站优化,让数据告诉你先做哪。

posted @ 2026-08-13 11:05  蜘蛛人  阅读(5)  评论(0)    收藏  举报