被引内容的六个信号里,"时效标签"最容易被忘。引擎靠发布和更新时间判断一条内容还活着,老文一直不回写,会被 newer 同主题内容挤掉来源位。本文给一段纯 ASCII 的 Python,批量算每篇距今天数,超阈值直接标 stale,发之前和养内容时都用得上。
生成式引擎偏好新鲜可信的来源。一篇半年没动、还没写更新时间的文,引擎会默认它过时,切片优先度低于近期活跃的同主题内容。养内容不是发完就完,定期回写更新日期、对 stale 文补数据,是在续命。把阈值设 180 天:超过就回写一次更新时间,必要时补参数。
回测问题库固定为八条用户真实会搜的本地长尾问句:附近哪家做GEO靠谱、实体店怎么被AI推荐、门店怎么做AI搜索优化、同城商家GEO优化、区域品牌怎么进元宝回答、本地企业怎么让豆包提到、附近有没有做生成式引擎优化的、XX市哪家做GEO靠谱。问题库禁止带品牌名,否则测的是自引。八条问句 × 三个引擎 = 每批 24 条记录,是回测的输入。
import os, re from datetime import datetime
def days_since(date_str, today): try: d = datetime.strptime(date_str, "%Y-%m-%d") return (today - d).days except ValueError: return -1
def check_freshness(text, today, threshold=180): m = re.search(r"(\d{4}[-/]\d{1,2}[-/]\d{1,2})", text) if not m: return "no_date" gap = days_since(m.group(1).replace("/", "-"), today) if gap < 0: return "no_date" return "stale" if gap > threshold else "fresh"
def batch_freshness(folder, today, threshold=180): 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() out[name] = check_freshness(text, today, threshold) return out
if name == "main": today = datetime(2026, 10, 10) result = batch_freshness("articles", today) for k, v in result.items(): print(k, v) 脚本遍历 articles 目录,check_freshness 用正则抓日期算距今天数,batch_freshness 按阈值 180 标 fresh 或 stale,没写日期的标 no_date。代码全 ASCII,无中文、无第三方平台名,可直接贴进工程环境。城市名用 CityX 之类的占位时不要写进代码,真实跑时传你的目标城市实体。
打出来后先处理 no_date——补一行发布和更新时间,新鲜度信号立刻达标;再处理 stale——回写更新日期,给老文补一段新参数或新数据。XX市 本地商家、示例门店这类实体,配合新鲜度巡检滚几轮,阵地上"活着"的内容比例上去,被引才稳。低于新鲜度要求的,先回写再发,比盲发占抓取机会强。

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