WordPress

一盏绿色的在线灯可以藏住坏掉的结账

首页可以返回 200,而优惠码、配送区域或购买事件已经在丢订单。

A green uptime light can hide a broken checkout

可用性检查可以是绿的,而店铺在悄悄丢单。首页返回 200。商品页返回 200。优惠码把总额变成零,一种配送对一个国家消失,或者购买事件根本不触发,监控无话可说。我不再把「网站在线」当新闻。新闻是买家能不能付钱。

跟着买家走,不要跟着状态页

在一家正在营业的 WordPress 或 WooCommerce 店里,我走一条路径,并写下它在哪里弯折:

购物车显示买家真正看到的商品、价格和数量。配送给出属于那个地址的方式,而不是测试区域留下的方式。优惠码要么有意改总额,要么完全不碰总额。支付仍然列出 Stripe、PayPal,以及那种容易在某一种商品上消失的方式。分析收到的是真实订单上的购买事件,不是一个看起来像购买的点击。

这些里的任何一件都可能在服务器看起来健康时失败。我见过店铺在同一周庆祝首页很快,而结账事件已经到不了广告账户。广告继续花钱。店在店主脑子里继续「转化」。报告不同意,也没有人打开过那份报告。

指示灯还可能错在哪里
首页 200已登录顾客的加入购物车请求失败。
商品页够快主要国家的配送区域什么都不返回。
结账页能打开上个季度的一个优惠码把总额变成零。
支付插件开着一种商品会让买家唯一在用的那种方式消失。
标签管理器在购买事件在按钮上触发,不在已付款的订单上。

速度是这条路径的一部分,不是另起的爱好

对一部分买家来说,慢的购物车就是失败的购物车,所以我量的是路径,不是首页上的实验室分数。缓存让第一眼很快、购物车却是旧的,这不是赢。我宁可商品页稍慢一点,也不要购物车显示昨天的价格。

这不是入侵测试

走一遍钱的路径不是渗透测试,我也不把它当成渗透测试来卖。它也不会让店铺出现在回答引擎里。那是不同的工作,证据也不同。五天之后我能说的更窄,也更有用:订单在这里丢掉,风险在这里,我会按这个顺序去修。

如果健康的唯一证据是一个状态码,你量的是服务器的心情,不是店的收入。

一段代码就是一个小程序

我打开仍然有效的代码清单,试那些无聊的,而不是一串随机字符。上一季从未结束的代码。叠在已经降过的价格上的代码。大家都以为作用在商品上、实际作用在配送行上的代码。每一个都是几行配置,每一个都改变买家付的钱。我宁可在这张清单上花一小时,也不花一天争论一套新主题。

同样的耐心也用在配送区域上。真正在买的那个国家的区域,我用那个国家的邮编来测,不用店铺自己的地址。一种方式在店主邮编下出现、在顾客那里消失,是普通故障。它不呼叫任何人。它只是把订单拿掉。

我信任的交付物是一份短清单,有负责人,并且能判断修复是否生效。「提高转化」不是清单。「代码 SAVE10 忽略促销价,并且和自己叠加」才是清单。第二句这周就能在 staging 的订单上测。第一句可以讨论一年。