Shopify站点在Google Page Insights测速报NOT_HTML错误如何解决
Shopify站点Lighthouse NOT_HTML报错解决建议
Lighthouse returned error: NOT_HTML. The page provided is not HTML (served as MIME type text/plain).
该错误本质是站点服务器对Lighthouse爬虫的请求,返回的HTTP响应头Content-Type值为text/plain而非标准的text/html,可按以下步骤逐一排查修复:
- 首先检查页面模板开头代码:确认主题的
theme.liquid文件第一行是<!DOCTYPE html>,前面没有多余的空行、注释、Liquid输出内容,若DOCTYPE前存在其他内容,服务器会自动将响应识别为纯文本格式。 - 排查爬虫拦截规则:检查是否安装了反爬虫、安全防护、流量控制类的Shopify应用,此类应用大概率会误拦截带
Chrome-Lighthouse标识的UA请求,返回纯文本的拦截提示页且未设置正确的MIME类型,可临时禁用近期安装的安全类应用后重新测试。 - 验证不同UA的响应差异:可通过curl命令模拟Lighthouse请求,确认响应头的格式是否正确,命令如下:
curl -I -A "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Mobile Safari/537.36 Chrome-Lighthouse" https://thebrooklyn.co.nz/products/orthopedic-calming-pet-bed-for-dogs-cats
若返回结果中Content-Type为text/plain,即可确认是UA拦截导致的问题,调整防护规则放通Lighthouse的UA即可。
- 排查缓存与CDN配置:若使用了第三方CDN或Shopify自带的缓存功能,可尝试清空全站缓存后再测试,部分缓存规则异常会导致资源MIME类型识别错误。
- 排查重定向规则:检查Shopify后台的URL重定向配置,是否存在针对该产品页的错误重定向规则,跳转目标为非HTML格式的内容。
- 若以上步骤都无法解决,直接联系Shopify官方支持查询服务器端请求日志,确认对应UA请求的响应异常原因,部分Shopify服务器端缓存故障也会导致该问题,后台刷新站点配置即可恢复。
内容的提问来源于stack exchange,提问作者Naveed Cheema
相关产品推荐
相关产品推荐

