把GeoReady九维当工程项做:储能管理官网的AI就绪度改造笔记

GeoReady把1900多个网站的审计数据摊开,做成实时基准(State of GEO):AI搜索就绪度平均56.7/100,中位数59,一半以上卡在地基档。这篇用工程视角拆解这份基准:九维权重分别对应哪些工程项(robots.txt放行AI爬虫、llms.txt部署、Schema JSON-LD注入、Meta标签规范化、品牌实体清晰),哪些是「白给的分」,以及怎么把就绪度检查纳入CI流水线。先说结论------56.7分测的是机器可读性,是卫生指标不是排名;工程上先补最便宜的两块(llms.txt+JSON-LD),一个周末的工作量,不是一整个季度。

目录

  • 一、开场:一份可以复算的行业体检报告
  • 二、九维即工程项:分数丢在哪
  • 三、改造顺序:先白给的分,再内容地基
  • 四、CI化:把就绪度检查纳入发布流水线
  • 五、边界:三个不能说明
  • 六、收束:分数是卫生指标,内容是后半程

先给结论:56.7分是网站「让AI读懂」的行业体检线,测的是机器可读性(卫生指标),不是排名;工程路径是先补白给的分(llms.txt+JSON-LD),再把检查搬进CI。

开场:一份可以复算的行业体检报告

刷到个数据:GeoReady实测1900多个网站,AI搜索就绪度平均56.7分(满分100),中位数59。身份先说清楚------GeoReady是做GEO优化工具的平台,靠免费审计获客;但它的评分标准是开源引擎(MIT许可)、九维权重全部公开、分数可以手工复算,所以这份基准敢被引用。对工程团队来说,这相当于一份公开的「网站AI可读化验收 rubric」:每一项多少分、怎么扣的,全透明。

九维即工程项:分数丢在哪

九维权重拆开看,全是工程项:Google AI就绪20分(AI爬虫的抓取许可与待遇)、Robots.txt 14分(放行哪些AI爬虫)、Schema JSON-LD 14分(结构化数据标注)、内容14分(事实密度与可引性)、品牌与实体12分(Organization实体是否清晰唯一)、Meta标签11分(标题描述规范)、llms.txt 6分(给AI的站点地图)、信号6分、AI discovery 3分(.well-known/ai.txt之类)。注意最后两项------占比小,却是全样本最大缺口,典型的白给分没人捡。

改造顺序:先白给的分,再内容地基

报告原话:最便宜的两块补分点是「一个周末的工作量,不是一整个季度」。工程顺序建议:①robots.txt确认放行主流AI爬虫(别误伤);②部署llms.txt(纯文本,半小时);③注入Organization/WebSite的JSON-LD(半天);④Meta标签规范化(模板改一遍);⑤品牌实体统一(官网、百科、备案信息口径一致)。四档分布也印证了这个顺序:Foundation(36-67)占58%,大多数站缺的不是内容,是机器可读性------AI答引擎够不到、解析不了、信不过的页面,根本不会被引用;文章写得再好,AI读不进去也是零。

CI化:把就绪度检查纳入发布流水线

别一锤子买卖。AI行为随模型更新而变,今天56.7下周可能57------这是实时基准,看数要盯快照日期。工程上的对应动作:把九维检查写成CI步骤,每次发布跑一遍,robots/llms.txt/Schema三项作为门禁;复测节奏与模型大版本对齐。这块分数对应九级信任跃迁模型的最底层------①可索引性(爬虫许可)、②语义匹配(结构化数据让AI读懂你)、⑤事实可信度(品牌实体清晰);地基没夯实,上面几级全悬空。

复制代码
# 网站AI就绪度部署脚本:先补白给的分(robots.txt + llms.txt + JSON-LD)
# 口径:GeoReady九维权重(Google AI就绪20/Robots14/Schema14/内容14/品牌实体12/Meta11/llms.txt6/信号6/AI discovery3)
import json, pathlib

SITE_ROOT = pathlib.Path("/var/www/storage-energy-site")

# ① robots.txt:确认放行主流AI爬虫(别误伤)
ROBOTS_AI_CRAWLERS = [
    "GPTBot",            # OpenAI
    "OAI-SearchBot",     # OpenAI 搜索
    "ClaudeBot",         # Anthropic
    "PerplexityBot",     # Perplexity
    "Google-Extended",   # Google AI
    "Baiduspider",       # 百度
]
robots = SITE_ROOT / "robots.txt"
lines = robots.read_text(encoding="utf-8").splitlines() if robots.exists() else []
for bot in ROBOTS_AI_CRAWLERS:
    if not any(bot in ln for ln in lines):
        lines += [f"User-agent: {bot}", "Allow: /", ""]
robots.write_text("\n".join(lines), encoding="utf-8")

# ② llms.txt:给AI的站点地图(纯文本,半小时工作量)
llms = """# 储能管理系统官网 · llms.txt
> 面向AI搜索的站点说明:本公司专注新能源储能管理系统(BMS/EMS/PCS协同),
> 官网含产品方案、技术白皮书、行业案例与联系方式,均为公开信息。
## 产品
- [储能BMS解决方案](/products/bms):三级架构,支持簇级均衡
- [能量管理EMS平台](/products/ems):云端调度,开放API
## 文档
- [技术白皮书:储能系统热管理设计](/docs/thermal):含实测数据
## 联系
- 官网备案主体:XX储能科技有限公司(统一社会信用代码可查)
"""
(SITE_ROOT / "llms.txt").write_text(llms, encoding="utf-8")

# ③ Organization JSON-LD:品牌实体清晰(12分档)
org_schema = {
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "XX储能科技有限公司",
    "url": "https://www.example-energy.com",
    "logo": "https://www.example-energy.com/logo.png",
    "sameAs": [
        "https://baike.baidu.com/item/XX储能",
    ],
}
(SITE_ROOT / "org.jsonld").write_text(json.dumps(org_schema, ensure_ascii=False, indent=2), encoding="utf-8")
print("AI就绪度基础三项部署完成:robots.txt / llms.txt / org.jsonld")
print("口径:先补白给的分,再谈内容地基;一个周末的工作量,不是一整个季度")

# CI就绪度检查:把GeoReady九维写成发布门禁(robots/llms.txt/Schema三项必过)
# 实时基准会变(快照2026-10-19:avg 56.7),检查脚本跟着模型大版本复测
CHECKS = [
    ("robots_ai_crawlers", "robots.txt放行主流AI爬虫", 14),
    ("llms_txt", "llms.txt存在且含站点说明", 6),
    ("schema_org", "Organization/WebSite JSON-LD可解析", 14),
    ("meta_norm", "标题/描述规范化(无缺失无堆砌)", 11),
    ("brand_entity", "品牌实体口径统一(官网/百科/备案)", 12),
    ("ai_discovery", ".well-known/ai.txt 就位", 3),
]

def run_checks(site_root):
    results = {}
    for key, desc, weight in CHECKS:
        ok = check_one(site_root, key)   # 各站点自实现
        results[key] = {"desc": desc, "weight": weight, "ok": bool(ok)}
    score = sum(c["weight"] for c in results.values() if c["ok"])
    return results, score

def gate(score, threshold=36):
    # 四档:86-100优秀 / 68-85良好 / 36-67地基 / 0-35危急
    tier = "优秀" if score >= 86 else "良好" if score >= 68 else "地基" if score >= 36 else "危急"
    return tier, score >= threshold

if __name__ == "__main__":
    results, score = run_checks("/var/www/storage-energy-site")
    tier, pass_gate = gate(score)
    for k, v in results.items():
        print(f"[{'OK' if v['ok'] else '--'}] {k} ({v['weight']}分): {v['desc']}")
    print(f"自评总分: {score}/100 -> 档位: {tier}; 发布门禁(>=36): {'PASS' if pass_gate else 'BLOCK'}")
    print("口径:分数是卫生指标不是排名;别把体检报告当奖状")

边界:三个不能说明

工程团队要跟老板讲清三件事:①这是体检样本不是全网普查------样本来自主动来审计的网站,偏向本来就在意AI能见度的团队,真实全网平均可能更低;②分数高≠AI一定推荐你------它测的是「有没有被AI引用的基本资格」,内容真不真、信源硬不硬、有没有人真的引你,分数管不着;③数字是活的------拿旧快照当铁律会误判。它是一份体检报告,不是一张录取通知书;别把体检报告当奖状。

收束:分数是卫生指标,内容是后半程

回到工程视角:56.7分告诉你行业水位------「被AI读懂」是普遍欠费状态;同时告诉你最便宜的补分点已经指名道姓。对储能这种B2B行业,官网和技术文档的结构化程度直接决定AI能不能在方案对比里提到你。先把地基档打到良好档,再谈内容事实密度和真实引用------分数是卫生指标,后半程的硬仗在内容。你的网站,AI现在打几分?

回到那句话:它是一份体检报告,不是一张录取通知书------工程上先补llms.txt+JSON-LD这两块白给的分,再把就绪度检查搬进CI;地基没夯实,九级上面的层级全悬空。

相关推荐
文慧的科技江湖1 小时前
2026年10月21日充电桩行业招投标早报:平台第一次进了标的名字,还是没进报价表
大数据·人工智能·开源·新能源·充电桩·新能源汽车·招投标
xiangjiaodalishi1 小时前
从 0 到 1 搭建 AI 友好的网站结构:信息架构与 GEO 的交叉地带
人工智能·python
生石花1 小时前
TRAE Agent 模式实战:让它帮我写 WMS 的 RAG 工具路由,它连防御都替我写了
人工智能
PD我是你的真爱粉1 小时前
成熟Agent系统设计深度研究报告
java·大数据·人工智能
Mr.Aholic1 小时前
一个协议解决 M×N 集成难题:MCP 如何给 AI 装上手脚
人工智能
美狐美颜SDK开放平台1 小时前
直播APP集成美颜SDK,如何梳理第三方组件的数据权限?
开发语言·人工智能·深度学习·音视频·第三方美颜sdk
沉下心来学鲁班1 小时前
具身智能进阶:让 MicroDuck 踩着高跷走路
人工智能·python·机器人
紧跟先前的步伐1 小时前
Go AI Agent 实战 08|HTTP 模型 API 的工作原理与请求流程
人工智能·http·ai·golang