、
这些老元素上判得对,但碰到svg、main、input、button和自定义元素就判成head。也就是说,越是现代前端写出来的页面,它越容易漏报。最要命的是title忘闭合那一组:浏览器认为整个文档从title之后全被吞掉、canonical根本不存在,lxml却报告canonical好端端在head里——这是彻头彻尾的假阴性。
## 连按标准写的那个库也会错
html5lib在template那一组判成body,而Chrome判head。template在标准白名单里,Chrome是对的。拿标准当依据 (https://zhangwenbao.com/semantic-html-tags-seo.html)没错,但标准的实现有版本、有滞后,把某个库的输出直接当成标准本身,迟早会栽。
## 哪些东西一进head,就会把它当场关掉?
把54组按结果重排,能得到一份可以直接拿去对照模板的清单。以Chrome的判定为准。
## 安全的:进去了也不会关掉head
写法 | canonical落点 | 备注 |