测试Shopify店铺时Page Speed Insights无结果,Lighthouse报NOT_HTML错误是何原因
Shopify店铺Lighthouse检测NOT_HTML报错问题说明
你遇到的该报错大概率和Shopify近期的边缘节点响应规则、反爬校验机制更新有关,而非本地Lighthouse版本更新导致的问题。
报错原因
- Shopify近期针对非浏览器的自动请求更新了拦截规则,Lighthouse发起的检测请求默认携带特殊请求头标识,很容易被Shopify的边缘节点识别为非用户访问,直接返回MIME类型为text/plain的拦截响应,而非正常的店铺HTML页面,因此触发
NOT_HTML. The page provided is not HTML (served as MIME type text/plain)报错。 - 部分区域的Shopify节点新增了前置人机校验逻辑,Lighthouse默认的无头检测模式无法通过校验,同样会返回纯文本类型的拦截内容,导致无法正常获取页面速度检测结果。
修复方案
- 使用GUI版本的Chrome浏览器运行Lighthouse检测时,不要使用无头模式,可在Lighthouse设置页勾选保留浏览器默认请求头的相关选项,也可以提前手动修改浏览器UA为普通Chrome的默认UA,降低被拦截的概率。
- 若使用CLI版本的Lighthouse,可在运行命令中添加UA模拟参数,参考示例如下:
lighthouse <目标店铺URL> --chrome-flags="--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
内容的提问来源于stack exchange,提问作者Ajju Rao
相关产品推荐
相关产品推荐

