如何修复 Lighthouse 返回的错误:NOT_HTML提供的页面不是 square/weebly 网站的 HTML用作 MIME 类型错误?

问题描述

我尝试在 Google Search Console 中为 Weebly/Square 网站使用 PageSpeed Insights 并出现错误:

Lighthouse 返回错误:NOT_HTML。提供的页面不是 HTML(作为 MIME 类型)

它一开始对我有用(我测试了 2-3 次)。我调整了一些图像的大小并再次尝试。从那时起出现此错误。

Square 的支持声明不站在他们一边。

解决方法

Lighthouse 返回 NOT_HTML 至少有三个原因:

  1. 页面实际上是作为 text/plain 提供的,或者没有任何有效的 Content-Type,可能是因为浏览器或机器人检测。

    您可以通过使用与 Lighthouse 相同的用户代理发出请求来重现这一点:

    curl -IA "Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/88.0.4324.175 Mobile Safari/537.36 Chrome-Lighthouse" 'https://www.rustichappyplace.com/'

  2. 网络服务器支持 HTTP/2 或 QUIC,但没有完全按照 Lighthouse 的预期实现协议,导致内容类型被错误检测。

    您应该能够在最新的 Google Chrome 或 Chromium Nightly 浏览器中重现该错误。在这种情况下,您只能要求您的托管服务商禁用这些功能或更新服务器软件。

  3. Lighthouse 有一个错误,该错误是由于 Web 服务器使用的某些功能而触发的。

    目前(2021 年 3 月)Google PageSpeed Insights 上的 Lighthouse 似乎存在一个错误,当在网络服务器中激活 HTTP/2 Early Hints 时,该错误会在某些星座中产生 NOT_HTML。我今天遇到了类似的问题,我发现在 Apache 2.4.46 中禁用 H2EarlyHints 可以避免这个问题。

    如果您的托管商使用该功能来加速页面加载,请让他们暂时禁用它。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...