从浏览器实际加载内容构建单一清单
从具有代表性的页面开始:主页、着陆页、详情页、搜索、购物车、结账、账户页面和活动页面。在 Chrome DevTools 中记录新访客和回访。将浏览器证据与标签管理器、CMS 插件和代码依赖比较;单一视图可能遗漏注入的脚本。
每个供应商或集成交付使用一行,而不仅仅按 URL 分行。捕获其访问的域以及它是否可以添加标签。指定一个业务负责人,该负责人能为目的辩护并批准移除。在活动、供应商更改、模板发布和重新设计后重新检查。
保存页面、旅程、供应商域、请求、传输大小、主线程工作量和测试条件。实验室跟踪是诊断性证据,而不是对每个访客的承诺。
包含目的、所有者、同意类别、触发条件、暴露的数据、依赖顺序、回退方案和审查日期。
让保留、移除与预算决策公开透明
询问每位所有者,如果该集成消失,什么是更糟的结果。如果答复模糊,则应禁用或移除。web.dev 建议使用预算、避免功能重复并清理冗余脚本。
预算是团队的防护栏,而非通用阈值。为每个供应商和页面设置字节、请求、主线程时间和加载时序的配额。将基线与变更进行比较。要求所有者在配额内运行、移除其他成本或获得有时效性的例外。使用可比旅程和以用户为中心的指标。
仅保留具有当前目的、由所有者接受的成本与数据使用,以及可接受失败路径的依赖项。
通过分阶段发布退役过期像素、重复分析、未启用的聊天、未使用的试验和废弃插件。
记录理由、成本、审批人、补偿性措施和审查日期。
仅在“晚加载”是安全时才延迟加载
有意识地选择加载行为。经典外部脚本(不带 async、defer 或 module 行为)在 HTML 解析继续之前被获取并执行。使用 async 时,下载并行运行,但执行在就绪时启动,因此顺序不受保证。使用 defer 时,经典外部脚本在解析后按文档顺序运行,且在 DOMContentLoaded 之前执行。defer 适合需要顺序的脚本,但并非通用解法。
对于可选的聊天、社交、地图、视频或推荐界面,渲染一个轻量占位并在点击或相关时加载供应商。这种门面(facade)模式从你的控制开始,而不是直接嵌入完整代码。保留键盘交互并预留空间。不要对计算价格、登录、处理支付、提供必要无障碍或履行已确认义务所需的代码使用延迟,除非有经过审查的替代方案。
仅对首任务依赖项立即加载;对有序代码使用解析后(post-parse),对可选嵌入使用交互或可见性触发。
不要把相互依赖的脚本都标记为 async 并期望顺序保持。记录并测试已发布的链。
不要将关键 UI 绑定到 window load;即便使用 async 或 defer,第三方嵌入也可能延迟它。
把同意作为门控,而不是事后考虑
与了解司法管辖区和数据流的隐私与法律利益相关者一起对每个供应商进行分类。对于受同意控制的集成,应在标签发送相关数据之前建立同意状态。Google 指南建议其默认同意命令应在测量命令之前运行,并在选择更改后更新。本产品性指导并不构成法律建议。
测试首次访问时的未选择、接受、拒绝与撤回情形。检查界面与网络:隐藏的控件并不能证明没有请求或标识符被发送。如果同意平台是异步加载的,要测试时序。在当前页面和后续访问中适当持久化选择并应用更改。
不要依赖供应商标签。记录该标签为何为必要、可选或在某地区或旅程被禁止并获得审批。
撤回后,确认已配置为非必要的标签不会加载或发送数据,并保留测试证据。
缩小你无法控制的代码的爆炸半径
OWASP 指出对客户端变更失去控制、浏览器中任意代码执行和敏感数据泄露是核心风险。限制标签发布权限,审查自定义 HTML 或任意代码功能,并记录允许的数据层字段。对高风险集成,供应商协议和合格的安全评估可以有帮助;但任何这些都不能替代测试。
子资源完整性(Subresource Integrity,SRI)允许浏览器根据加密哈希验证脚本。它仅在资源可固定且跨域交付支持 CORS 时有用;W3C 指出在没有 CORS 的情况下使用 SRI 是逻辑错误。对于许多会变动的供应商 URL,SRI 并不合适。iframe sandbox 可能减少对主机 DOM 和 cookie 的直接访问,但需要专家评审。支付和安全敏感流程应接受合格审查。
仅传递为目的所需的、已记录的字段。不要暴露密钥、支付数据或不必要的客户属性。
SRI 验证字节而非数据使用或后续请求是否恰当;隔离不是即插即用的修复。
在客户遇到问题前演练供应商故障
对每个保留的供应商,在测试环境或使用浏览器请求阻断器屏蔽其域名,然后执行关键旅程。还要测试慢响应和在标签管理器配置中缺少该集成的情形。确认主要内容、导航、表单、结账和账户访问按预期工作。这能在发布前暴露假设。
在发生事件前定义补救措施:谁可以禁用该标签、是否需要开关或标签管理器发布、如何回滚和如何验证。SIU(在此处保留英文缩写 SIU)是主动的可用性优化与补救:使用清单、预算、预检(preflight)和回滚演练来降低依赖风险。SIU 无法控制供应商基础设施、保证可用性或替代审查。
说明在没有供应商时哪些功能仍可用、哪些可能降级、回退方案以及在禁用前允许的最长延迟。
将变更记录附带前后跟踪、同意结果、被阻断供应商的结果和回滚负责人。
