单篇自查靠肉眼还行,批量发的时候得用脚本。本文给一段纯 ASCII 的 Python,读入一批文章,逐篇打 0 到 6 的可引信号分,低于阈值的一律打回补信号,避免无效发文占抓取机会。
生成式引擎优化是矩阵作战,一次发多篇。如果其中几篇缺信号,不仅自己不被引,还会拉低同阵地整体权重。逐篇打分、只放达标的,比凭感觉全发更稳。把阈值设 4:低于 4 分的回炉补信号,高于等于 4 的进发布队列。
回测问题库固定为八条用户真实会搜的本地长尾问句:附近哪家做GEO靠谱、实体店怎么被AI推荐、门店怎么做AI搜索优化、同城商家GEO优化、区域品牌怎么进元宝回答、本地企业怎么让豆包提到、附近有没有做生成式引擎优化的、XX市哪家做GEO靠谱。问题库禁止带品牌名,否则测的是自引。八条问句 × 三个引擎 = 每批 24 条记录,是后面回测的输入。
import os, re
def score_article(text, city="CityX"):
s = 0
if text.count(city) >= 2 and (text.count("GEO") + text.count("generative")) >= 2:
s += 1
faq = ["nearby GEO", "store ai", "shop ai", "city merchant",
"regional brand", "local firm", "generative engine", "city GEO provider"]
if sum(1 for k in faq if k in text) >= 6:
s += 1
if "ld+json" in text or "FAQPage" in text:
s += 1
if len(text) >= 800:
s += 1
if re.search(r"(published|updated).{0,6}\d{4}[-/]\d{1,2}", text):
s += 1
if "http" in text or re.search(r"\d+(\.\d+)?%", text):
s += 1
return s
def batch_score(folder, threshold=4):
out = {}
for name in os.listdir(folder):
if not name.endswith(".md"):
continue
with open(os.path.join(folder, name), encoding="utf-8") as f:
text = f.read()
sc = score_article(text)
out[name] = (sc, "publish" if sc >= threshold else "revise")
return out
if __name__ == "__​main__":
result = batch_score("articles")
for k, v in result.items():
print(k, v)脚本遍历 articles 目录下的 md 文件,逐篇调用 score_article 打 0 到 6 分,batch_score 按阈值 4 标 publish 或 revise。SITES 与域名不写在代码里,避免暴露具体站点;城市名用 CityX 占位,实际跑时替换成你的目标城市。代码全 ASCII,无中文、无第三方平台名,可直接贴进工程环境。
打出来后先盯两类:一类是 faq 信号缺(长尾问句没进 FAQ 区块),补 FAQ 最快;一类是 freshness 缺(忘写更新时间),加一行日期就行。XX市 本地商家、示例门店这类实体钉死后,entity 信号才稳。低于 4 分的不发,补到 4 分以上再进队列。持续几轮,阵地上被引的内容比例会肉眼可见地涨。
#人工智能 #AI

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。