html - 灯塔假旗
问题描述
我通过 Lighthouse 测试通过了我的网站,在web.dev
那里我看到了 2 个我不太理解的“错误”。
第一点:“表单元素没有关联的标签”。
Lighthouse 认为我不为表格使用标签。但是,我的代码中有以下内容:
<input id="burger" type="checkbox" />
<label for="burger">
这是我唯一一次使用input
。
那么为什么会出现这个消息呢?
第二点:“robots.txt 无效”。
我将以下内容用于我的 robots.txt 文件:
User-agent: *
Disallow: /testlab/
Disallow: /en/page-not-found.htm
Disallow: /en/page-not-found.htm
User-agent: WebReaper
User-agent: WebCopier
User-agent: Offline Explorer
User-agent: HTTrack
User-agent: Microsoft.URL.Control
User-agent: EmailCollector
User-agent: penthesilea
Disallow: /
sitemap: https://link-to-sitemap.com
据我所知,内容应该被不同的爬虫识别。
那么为什么我认为这是 Lighthouse 测试中的错误呢?
如果您想自己运行测试,这里是该网站的链接:https ://type-error.netlify.app
一个小提示:我已经通过 netlify.toml 文件设置了重定向和标题,也许这会有所帮助。
编辑:使用 Chrome 开发工具运行 Lighthouse 测试时,显示 robots.txt 的更多信息:“Lighthouse 无法下载 robots.txt 文件”。
解决方案
1. 表单元素没有关联标签
您有一个没有任何结束元素或名称的开始标签元素。
<input id="burger" type="checkbox" />
<label for="burger">
您应该有一个结束标签和一个正确的标签名称。
<input id="burger" type="checkbox" />
<label for="burger">burger</label>
2. robots.txt 无效
“robots.txt 无效”确实是一个错误标志。见 - https://github.com/GoogleChrome/lighthouse/issues/12936
我在自己的网站上遇到了同样的问题。但是,当使用灯塔进行 chrome 扩展时,它会通过。开发工具版本似乎存在问题。
推荐阅读
- asp.net-mvc - 安全默认值不适用于 Azure AD 图形 API 创建的用户
- angular - Uglify、Minify 和压缩 Angular 12 库
- jmeter - 在 JMeter 请求正文中获取当前 UTC 时间戳
- javascript - 在 setState 之后反应不重新渲染/向 DOM 添加新元素
- json - 当给定一个具有两个兄弟属性的对象时,使用 jq 如何创建一个新对象,其中兄弟属性被移动为子属性?
- html - 使用 Flask 我将文本传递给我的 html 文件,该文件包含一个带有 html 格式的链接的链接,但显示的是代码而不是链接
- python - Python:查找会不断更改名称的文件
- swift - 从 opening_hours 谷歌自动完成 API 获取一天
- oracle - 通过 Oracle SOAP 请求传递逗号分隔的参数值
- javascript - 将 JavaScript 变量传递给 PHP 以进行 POST