企业级审计清单动辄列出 200 多个检查项,这恰恰是大多数小团队从来没能完成一次审计的原因。对于一个只有几百个页面的网站,你不需要 200 项检查——你需要的是那 40 项能揪出真正问题、一个下午就能跑完、而且不需要价值六位数爬虫工具的检查。
这就是那份清单。从上往下逐项执行;各个章节是按照它们实际引发排名问题的频率排序的。你会用到一些免费工具:Google Search Console、URL Inspection 工具、PageSpeed Insights,以及像 Screaming Frog(免费版最多支持 500 个 URL)这样的爬虫。
可抓取性 —— Google 能访问到你的页面吗?
- robots.txt 没有意外屏蔽掉 CSS、JS 或整个版块
- 没有任何重要页面被误设为 noindex(上线后最经典的 bug)
- XML sitemap 存在、只列出规范的 200 状态 URL,并已在 Search Console 中提交
- 内部链接能让每个页面都在距离首页约 3 次点击内可达
- 没有孤岛页面 —— 即没有任何内部链接指向的页面
- 失效的内部链接(404)已被修复或重定向
- 重定向链已收敛为单跳
出人意料的是,相当一部分"Google 不给我的页面排名"问题都终结在这里——一个漏掉的 noindex,或一个没有任何链接指向的页面。
收录 —— Google 有没有保留你的页面?
- Search Console 的 Pages 报告:读一读"页面未被编入索引的原因"
- 已审查"已抓取 - 尚未编入索引"的页面(通常是内容单薄或重复)
- 已审查"已发现 - 尚未编入索引"的页面(往往是抓取预算或质量信号问题)
- 全站只有一个规范版本(在 https + www 或 non-www 中选其一,其余全部重定向)
- 规范标签(canonical)指向你真正希望被收录的那个版本
- 没有重复页面在争抢同一个查询(参数页、打印版、标签归档页)
速度与 Core Web Vitals —— 在手机上加载表现好吗?
- 移动端 LCP 低于 2.5 秒(PageSpeed Insights,如有现场数据则以现场数据为准)
- INP 低于 200 毫秒 —— 这个指标已取代 FID;这里要留意笨重的 JavaScript
- CLS 低于 0.1 —— 为图片和广告预留空间,避免布局跳动
- 图片已压缩并以现代格式(WebP/AVIF)提供
- 图片使用 width/height 或 CSS aspect-ratio 来防止位移
- 在可能的情况下,对阻塞渲染的脚本进行延迟加载
现场数据胜过实验室数据。一个 Lighthouse 跑出 95 分、但真实用户 INP 很差的页面,照样会输。
移动端与渲染
- 网站是响应式的,并通过移动设备友好性检查
- 向移动端和桌面端提供相同的内容(移动优先索引读取的是移动版本)
- 点击目标不拥挤;文字无需缩放即可阅读
- 重要内容没有被隐藏在 Google 不会触发的交互背后
结构化数据与页面基础项
- 每个页面都有唯一的 title 标签和 meta description
- 每个页面只有一个 H1,且与页面意图相符
- 已添加相关的 schema(Article、FAQ、Product、Breadcrumb),并在 Rich Results Test 中通过验证
- Search Console 中没有标记出结构化数据错误
- 已设置 Open Graph 标签,使分享出去的链接能正确呈现
安全与日常维护
- 全站启用有效的 HTTPS,没有混合内容警告
- HTTP 能可靠地重定向到 HTTPS
- 有一个能链接回站内的自定义 404 页面
- 网站图标(favicon)和基本品牌素材齐备
该怎么真正用好这份清单
每季度跑一次,而不是只跑一次。爬一遍网站,逐项过这份清单,把每一个不达标项连同其 URL 和一句话的修复方案记录下来。然后按影响力排序:全站级的 noindex 任何时候都比缺一个 favicon 更要紧。先修复抓取和收录问题——它们是其他一切的前提——然后是速度,最后才是页面层面的精修。
常见问题
一次技术审计要花多长时间? 对于约 500 个页面以内的网站,爬取和审查大约半天,再加上修复本身所需的时间。更大的网站只是拉长爬取时间,而不会拉长清单本身。
我应该多久审计一次? 活跃的网站每季度一次,或者在任何一次迁移、改版或 CMS 变更之后。这些事件会悄无声息地搞坏东西。
我需要付费工具吗? 不需要。对于一个小网站,Search Console、PageSpeed Insights 以及 Screaming Frog 的免费版就能覆盖这份清单上的所有内容。
最常见的单一问题是什么? 由内容单薄或重复引发的收录问题,其次是上线后还残留着的、从测试环境带过来的意外 noindex 标签。