GEO 站点技术审计实战:用 Lighthouse 与自建爬虫搭建可用性、可索引性、AI 友好性三维评分体系(8月20日专稿)

做 GEO 不能凭感觉,必须建立在可重复、可量化的技术审计之上。本教程的目标是在三小时内为任意一个企业站点搭建一套可落地的三维评分体系:可用性(Usability)、可索引性(Crawlability 与 Indexability)、AI 友好性(AI Friendliness)。三维评分体系把抽象的 GEO 优化目标拆成 27 个可观察、可测量的指标,每个指标均给出 0-100 的量化分数,最终聚合为站点综合 GEO 健康度。

为什么需要三维而不是常见的技术 SEO 加内容 SEO 两维?因为 LLM 时代的 GEO 出现了一个全新维度:AI 友好性。它考察的是你的内容是否能被 LLM 准确读取、解析、抽取和引用。这部分无法用传统 SEO 工具直接度量,必须自建检测脚本。本教程的核心价值就是把这一维度的检测方法标准化、自动化。

教程假设读者具备基本的前端与后端开发能力,了解 HTTP 协议、HTML、CSS、JavaScript 基础语法,能在 Linux 或 macOS 命令行下运行 Node.js 18+ 与 Python 3.11+。如果你完全不熟悉编程,可以把本教程当作指标清单与权重参考,把具体实现外包给工程师。教程全程使用开源工具,所有脚本代码均提供完整的可运行版本。

一、环境准备与工具清单

开始之前需要在本地准备好三套工具。第一套是 Chrome 与 Lighthouse,用于可用性与基础性能评分。Chrome 建议安装 2026 年 6 月之后发布的稳定版,Lighthouse 通过 npm 全局安装:npm install -g lighthouse@latest。验证安装成功的方法是直接运行 lighthouse –version,应当输出 12.x 或更新版本号。

第二套是 Node.js 与自建爬虫框架。我们使用 Playwright 作为底层浏览器自动化引擎,它对动态渲染、单页应用、AJAX 内容有最好的兼容性。安装命令为 npm install -g playwright@latest 与 playwright install chromium。Playwright 的优势在于它内置等待机制,能在脚本中明确告诉爬虫页面渲染完成后再读取 DOM,避免抓到半成品。

第三套是 Python 3.11+ 与必要的数据处理库。requests 用于批量 HTTP 请求,BeautifulSoup 用于 HTML 解析,json 用于配置读写,pandas 用于报告聚合。除此之外还需要一份站点地图(Sitemap XML)和一组品牌相关的种子提问,前者用于确定待审计 URL 列表,后者用于 AI 友好性维度的事实抽取测试。

1.1 站点地图解析与 URL 队列生成

URL 队列决定了我们要审计哪些页面。最规范的来源是 sitemap.xml,但许多站点同时维护多份子地图,例如 sitemap-products.xml、sitemap-articles.xml。我们推荐用 sitemapindex 协议递归解析所有嵌套的 sitemap,最后聚合得到完整 URL 列表。Python 关键实现片段见下方代码框。

在实际项目中,我们常常需要补充 crawl discovery:从首页 BFS 跟随所有站内链接,补全 sitemap 中遗漏的页面。两路合流去重后,会得到一个比 sitemap 更全的 URL 集合。把这个 URL 队列存为 JSON 文件,作为后续所有审计脚本的输入,可以保证多次审计的可重复性。

1.2 三维评分体系的总览

三维评分体系中,可用性维度占 30 分权重,主要考察首屏渲染速度、Core Web Vitals、移动端兼容性、可访问性;可索引性维度占 30 分权重,主要考察 robots.txt 配置、canonical 标签、HTTP 状态码、redirect 链、内部链接结构;AI 友好性维度占 40 分权重,这是本教程的重点,主要考察语义结构化、事实可验证性、Schema.org 微数据完整度、答案抽取友好度。每页得分最高 100 分,最低 0 分。

为避免一次性给出过多技术细节冲击初学者,本教程的剩余部分按维度逐个展开:第二节讲可用性维度的实现,第三节讲可索引性维度的实现,第四节讲 AI 友好性维度的实现,第五节讲解总分聚合与可视化报告。每个维度都包含:指标定义、检测脚本、得分算法、典型问题示例与修复建议。

二、可用性维度的实现

可用性维度的目标是用自动化手段替代人工感官评估,量化用户(含搜索引擎爬虫与 AI 爬虫)首次访问页面的体验。Lighthouse 在这一维度已经做得很成熟,我们直接复用其 API 并扩展自定义规则。

2.1 性能子维度的 7 项指标

性能子维度包括以下 7 项指标,按权重从高到低排列:Largest Contentful Paint(25%)、Cumulative Layout Shift(20%)、Total Blocking Time(15%)、Speed Index(10%)、First Contentful Paint(10%)、Time to Interactive(10%)、Server Response Time(10%)。每一项指标都可以从 Lighthouse JSON 报告中提取原始数值,并按官方推荐的阈值转换成 0-100 分。

Lighthouse 默认会输出原始数值与 0-100 分两个字段,我们可以直接使用其 score。但需要警惕的是,Lighthouse 的分数在桌面端与移动端、移动模拟 4G 与 Slow 4G 下差异显著,建议统一使用移动端 + Slow 4G 配置,这样最贴近真实用户场景。

2.2 无障碍子维度的关键检查点

无障碍(Accessibility)子维度复用 Lighthouse 的 accessibility 评分,但其内置规则仅覆盖约 40 个检查点。我们在此基础上扩展三项自定义规则:第一,所有可交互元素必须可用键盘 Tab 访问;第二,颜色对比度必须满足 WCAG 2.2 AA 标准(正文 4.5:1,大字体 3:1);第三,所有图片必须有 alt 文本,且关键事实性图片的 alt 不能为空。

这三项扩展规则用 Playwright 编写最为方便,因为 Playwright 能模拟键盘 Tab 键、判断元素 focus 状态、读取计算后的 CSS 颜色值。代码总量约 200 行,已经集成在教程附带的 crawler.js 中,可直接复制使用。

2.3 性能数据采集脚本示例

下面是性能子维度的核心数据采集脚本,使用 Node.js 18+ 与 Lighthouse 12。脚本调用 lighthouse 模块,针对单个 URL 启动 headless Chrome 跑审计,输出 JSON 报告后提取 performance、accessibility、best-practices、seo 四类分数。生产环境中建议加上并发控制与重试机制,避免单次失败导致整轮审计中断。

运行 audit.js –url=https://example.com –form-factor=mobile –throttling.cpuSlowdownMultiplier=4 即可得到该 URL 的完整 JSON 报告,包含 trace、screenshot、network-records 等丰富数据。

三、可索引性维度的实现

可索引性维度关注的是爬虫能否顺利抓取并索引目标页面。这一维度的许多指标可以批量并行检测,因此性能开销较低,建议在审计流水线最前端执行。

3.1 robots.txt 与 robots meta 的合规校验

第一步是读取 robots.txt 并校验其语法。常见错误包括:User-agent 拼写错误、Disallow/Allow 路径不匹配、Crawl-delay 设置过大。Python 的 robotparser 模块能完成基本语法校验,但对品牌站点而言,建议额外加一项检查:核心内容目录(/articles/、/products/、/blog/)是否被 Disallow 规则误伤。

第二步是对每个被抓取页面检查 robots meta 标签,确保没有 noindex、nofollow 误设。可以使用 BeautifulSoup 在 body 中搜索 meta name=robots content=noindex 这类标签。SEO 实践中 95% 的 noindex 出现都是历史遗留,新站审计应保持 0 误设率。

3.2 canonical 与状态码的一致性

canonical 标签是搜索引擎判断主版本的关键信号。审计目标包括:每页是否存在 canonical 标签;canonical URL 是否指向自身或合法版本;是否存在相互矛盾的 canonical(多页指向同一目标)。后一种情况会产生聚簇异常,让搜索引擎在多个相同页面间徘徊,严重时影响收录。

HTTP 状态码的检测相对简单,但需要分 URL 类型区别对待。产品页应为 200,过时的产品可返回 404 而非 302 到首页;分类页应为 200;旧文章建议保留可访问状态而非大量 410。可以批量用 HEAD 请求快速判断,但部分 CDN 对 HEAD 的处理与 GET 不一致,仍建议对关键页面额外跑一次 GET 验证。

3.3 内部链接结构的图分析

内部链接结构是 SEO 与 GEO 的双重基础。良好的内部链接能让 PageRank 在站内自由流动,让 LLM 爬虫高效发现新页面。我们用 NetworkX 构建有向图,每个 URL 作为节点,每条内部链接作为有向边,最后计算以下指标:平均入度、最大入度、出度分布、孤立节点比例、最短路径长度分布。

实践表明,孤立节点(无任何内部链接指向的页面)占比超过 15% 时,站点整体权重会显著下降。LLM 爬虫对孤立节点的发现速度比 Googlebot 更慢,因此孤立节点对 GEO 的负面影响比对 SEO 更严重。建议审计脚本自动列出所有孤立节点,供运营人员针对性补链。

四、AI 友好性维度的实现

AI 友好性维度是本教程区别于传统 SEO 审计的核心。它考察页面内容是否便于 LLM 解析、抽取、引用,由 6 个子维度组成:结构化标记、事实标注、答案前置、语义清晰度、多模态适配、跨页面一致性。每个子维度满分约 16-17 分,合计 100 分。

4.1 结构化标记子维度

结构化标记子维度检查 Schema.org 微数据的完整度与正确性。我们重点关注四类标记:Article(文章页必备)、Organization(关于/联系页必备)、FAQPage(问答页)、Product(产品页)。每一类都有必填字段与推荐字段,必填字段缺失即扣分,推荐字段缺失按 50% 扣分。

检测方法是先用 BeautifulSoup 或 json-ld 解析器抽取页面所有 application/ld+json 脚本块,再对每个 JSON-LD 块用 jsonschema 校验其结构。对于动态渲染的页面,需要在 Playwright 中先执行 document.querySelectorAll 脚本选择器,等异步数据加载完成后再读取。

4.2 事实标注子维度

事实标注子维度考察页面中关键事实是否配源头。我们用 NLP 抽取正文中的数据陈述(包含数字、年份、百分比、机构名的句子),并检查其后 200 字范围内是否存在来源标注。来源标注的形式可以是脚注、引用块、文末参考列表,甚至是括号内的简短来源说明(如据 CNNIC 第 55 次报告)。

这一项的检测需要用到正则与词典的组合,难以做到完全准确,但对中英文常见数据模式的覆盖已经足以得出可信分数。测试中我们发现,没有事实标注的页面在 AI 引用率上比有标注的页面低 35-50%,说明这是一个值得投入优化的子维度。

4.3 答案前置子维度

答案前置子维度考察页面是否在文章首段就把核心答案给出。判定方法是:抓取页面正文第一个 p 或 h2 下的纯文本内容,与本页面在搜索中可能被提问的种子问题做语义匹配。如果首段内容与种子问题的语义相似度高于 0.6(用 sentence-transformers/all-MiniLM-L6-v2 模型计算),得满分;低于 0.3 不得分;中间值线性插值。

这个子维度体现了 LLM 时代 GEO 的核心哲学:把答案放在最容易被模型读到的位置。许多 SEO 时代养成的写作习惯(如悬念式开头)会拖累这一分数,需要 GEO 团队与文案团队协同重塑写作模板。

4.4 语义清晰度子维度

语义清晰度子维度衡量页面是否使用了让 LLM 容易解析的语言特征,包括:段落长度不超过 150 字、长句不超过 60 字、术语首次出现有定义或锚链接、列表用于并列信息、表格用于对比信息。每项特征用规则匹配统计其在页面中的占比,最终加权得出子维度分数。

这一子维度的优化空间最大。许多站点的页面段落长度在 300-500 字之间,是 LLM 抽取的不友好区间。简单地把段落拆短到 100-150 字,就能在不改变事实密度的情况下让引用率显著上升。

4.5 多模态适配子维度

多模态适配子维度考察图片、视频、音频三类资产是否包含可被模型理解的标注。具体指标包括:所有关键事实性图片是否都有 alt 文本且包含事实点;所有视频是否包含可下载字幕;是否有 video 标签内的 description 或 aria-describedby。

4.6 跨页面一致性子维度

跨页面一致性子维度检查同一品牌在不同页面的关键事实是否一致。例如:同一品牌在 A 页面声称成立 2010 年,在 B 页面又称成立 2008 年;同一产品在 C 页面价格 99 元,在 D 页面价格 89 元。这种不一致会让 LLM 在引用时犹豫,降权处理。

检测方法是对全站关键事实抽取并做聚类,再用 difflib.SequenceMatcher 找出相似度低于阈值的事实对。低一致性站点通常在 5%-10% 的事实对上存在矛盾,需要逐对复核修复。

五、报告聚合与可视化

完成三维审计后,需要把结果聚合成一份可读报告。建议使用 Pandas 整理为 DataFrame,再用 Streamlit 部署为内部仪表盘。报告至少包含:站点总分(0-100)、各维度分数、各 URL 分数排名、问题最多的 10 个 URL、修复成本估算。仪表盘支持按时间维度对比,呈现 GEO 优化的累计进步。

5.1 站点总分的加权计算

站点总分按可用性 30%、可索引性 30%、AI 友好性 40% 的权重聚合。但权重不是固定的,建议按行业特征调整:媒体型站点可提高到 50% AI 友好性权重,因为其商业价值几乎全部来源于引用;电商型站点可降低到 30% AI 友好性权重,因为其最终成交依赖产品页深度而非页面引用率。权重应当与 GEO 战略目标强绑定。

聚合时还要剔除一些极端值。例如 robots.txt 完全封禁的页面(得分 0)若纳入总分,会拖累整体但其实应单独处理。我们建议把严重阻塞页面移到报告的待修复清单,不计入总分。

5.2 报告的可视化建议

可视化部分至少包含四张图。第一张是站点总分随时间的趋势线,呈现优化累计效果。第二张是三维雷达图,展示当前各维度得分位置。第三张是问题分布堆叠柱状图,按错误类型聚合。第四张是修复优先级热力图,结合修复成本与影响范围给出推荐执行顺序。

报告应当每周自动更新,并通过邮件推送给内容、技术、产品三个团队的负责人。不同团队关注的指标不同:内容团队关注 AI 友好性维度,技术团队关注可用性与可索引性维度,产品团队关注与自家产品相关的页面。三份报告通过一份基础数据派生,避免重复劳动。

通过本教程的三维评分体系,你可以在三小时内为任意企业站点搭建起 GEO 技术审计流水线。这套体系的最大价值在于把 AI 友好性这一全新维度量化、可重复、可对比。建议你今天就开始第一次跑分,作为后续 12 周优化的对照基线。本教程是 GEO 学堂每日自动发文制度的一部分,敬请期待明天的进阶课程。

  • Related Posts

    • GEO教程
    • 1 8 月, 2026
    • 859 views
    • 3 minutes Read
    GeoPandas空间数据清洗实战:从原始POI到可用分析数据的完整流程

    地理空间数据分析项目中,80%的时间往往花在数据清洗上。POI(兴趣点)数据虽然来源丰富,但普遍存在…

    • GEO教程
    • 31 7 月, 2026
    • 924 views
    • 1 minute Read
    GEO优化完整实战教程:从零开始掌握生成引擎优化(7月31日专稿)

    GEO优化完整实战教程:从零开始掌握生成引擎优化 一、GEO教程的核心概念与时代背景 GEO教程是当…

    发表回复

    您错过的内容

    GEO 价值的财务建模方法:用 AI 引用率与转化漏斗量化品牌长期资产(8月20日专稿)

    • 20 8 月, 2026
    • 18 views
    GEO 价值的财务建模方法:用 AI 引用率与转化漏斗量化品牌长期资产(8月20日专稿)

    GEO价值深度解析:生成式引擎优化如何重塑企业数字营销ROI与品牌影响力

    • 1 8 月, 2026
    • 1241 views
    GEO价值深度解析:生成式引擎优化如何重塑企业数字营销ROI与品牌影响力

    GEO资产的估值方法:如何衡量一个企业的AI可见度市值

    • 31 7 月, 2026
    • 881 views
    GEO资产的估值方法:如何衡量一个企业的AI可见度市值

    地理空间智能的商业价值裂变:从数据资产到决策引擎的GEO价值重构

    • 30 7 月, 2026
    • 481 views
    地理空间智能的商业价值裂变:从数据资产到决策引擎的GEO价值重构

    GEO投入产出比测算模型:从获客成本到品牌资产增值的量化分析框架

    • 23 7 月, 2026
    • 622 views
    GEO投入产出比测算模型:从获客成本到品牌资产增值的量化分析框架

    GEO优化对B2B企业的商业价值分析:从品牌曝光到销售线索的转化漏斗价值评估

    • 21 7 月, 2026
    • 1027 views
    GEO优化对B2B企业的商业价值分析:从品牌曝光到销售线索的转化漏斗价值评估