PageSpeed Insights分析Shopify店铺返回NOT_HTML错误如何解决
PageSpeed Insights 检测Shopify站点返回NOT_HTML错误的原因及解决方案
问题现象
2021年11月15日PageSpeed Insights更新后,提交Shopify站点检测时会收到Lighthouse返回的NOT_HTML错误,系统提示所提供的页面不是HTML格式,服务端返回MIME类型为text/plain。
已确认的问题根因
- Shopify官方CDN的UA识别规则更新滞后,无法正确识别新版PageSpeed Insights的爬虫请求,误将动态页面请求判定为静态文本资源请求,返回错误的响应头MIME类型
- 站点配置的第三方安全防护工具、地区访问限制规则拦截了谷歌检测节点的访问,直接返回纯文本格式的拦截提示
- 自定义主题的Liquid代码中存在针对爬虫UA的特殊逻辑,检测请求访问时未触发正常的HTML渲染流程
修复方案
临时验证方案
提交检测时在站点URL结尾添加随机参数?test_ps=1,强制CDN返回非缓存的动态页面内容,即可正常完成检测。
永久修复步骤
- 登录Shopify后台,进入「在线商店」-「偏好设置」,解除对谷歌爬虫的访问限制,将Lighthouse官方UA
Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4695.0 Mobile Safari/537.36 Chrome-Lighthouse加入CDN白名单 - 检查Cloudflare等第三方CDN的页面规则,删除针对首页、商品详情页等动态HTML页面的强制缓存配置,避免静态缓存规则误匹配
- 排查主题的Liquid模板代码,移除针对爬虫UA的特殊渲染分支,确保所有合法访问都能返回标准text/html格式的页面内容
内容的提问来源于stack exchange,提问作者hammer
相关产品推荐
相关产品推荐

