这个项目能做什么

HEAD是一份简单、由社区维护的指南,介绍应放在HTML文档head部分中的元素。它被写成一份参考而非一个库,收集了关于浏览器、搜索引擎、爬虫和社交平台如何解读head元数据的实用代码片段和说明。 该指南首先给出推荐的最小配置:设置为utf-8的charset meta标签、带有width=device-width和initial-scale=1的viewport meta标签,以及一个title元素。它解释说,charset和viewport标签应尽可能早地出现在head中,以便文档一致地渲染,所有其他head元素都应排在其后。 关于元素的一节列出了有效的head子元素:meta、link、title、style、script、noscript和base,并给出了每个元素的简短示例。随后的一节推荐顺序给出了一个实用序列:charset最先,然后是viewport、title、其他meta标签、社交meta标签、canonical及其他link标签、诸如preconnect和dns-prefetch之类的资源提示、样式表、favicon,最后是脚本,最好带有defer或async以避免阻塞渲染。 meta部分是这份参考中篇幅最大的部分。它记录了字符编码、viewport、Content-Security-Policy、application-name、theme-color、color-scheme、description、面向通用爬虫和Google专属爬虫的robots指令、用于多个搜索控制台的站点验证标签、generator、subject、rating、referrer policy、format-detection、地理标签(ICBM、geo.position、geo.region、geo.placename)以及Web Monetization。注释说明,地理标签面向的是搜索引擎和位置服务,而非直接面向浏览器。 link部分涵盖了样式表、canonical URL、Web应用清单、作者和许可链接、alternate和hreflang链接、rel=me身份链接、self、prev和next关系、webmention、micropub、IndieAuth端点、Open Search、RSS和Atom feed,以及包括dns-prefetch、preconnect、prefetch和preload在内的资源提示。它指出,Web应用清单是声明可安装应用属性的推荐跨平台方式。 scripts部分解释了普通script标签、async、defer以及async defer组合模式之间的区别,并提到了用于验证所获取资源的Subresource Integrity。icons部分展示了favicon和Apple touch icon的用法。 社交元数据得到了深入介绍:用于标题、图片、描述、站点名称和语言区域的Open Graph标签;需要在html元素上使用itemscope和itemtype的Schema.org微数据;用于知识图谱结果的Google JSON-LD组织标记;Pinterest的nopin指令;oEmbed链接关系;QQ和微信分享标签;带有DC.前缀的Dublin Core元数据元素;以及Mastodon及类似软件使用的Fediverse创作者meta标签。 平台专属部分收集了面向Apple iOS(智能应用横幅、touch图标、启动图像、独立模式、状态栏样式、针对刘海屏手机的viewport-fit以及深度链接)、Google Android(主题色、添加到主屏幕、Play Store深度链接)和Google Chrome(网上应用店条目、翻译提示控制)的标签。另一部分记录了中国移动浏览器:360浏览器的渲染器选择、QQ手机浏览器的x5方向、全屏和页面模式标签,以及UC手机浏览器的屏幕方向和相关标签。一个已弃用部分以及其他资源、相关项目、翻译、贡献指南、贡献者、作者、支持和许可(CC0)等列表构成了文档的其余内容。 该项目是一份文档资源,面向希望在一个地方查阅跨浏览器、搜索引擎和社交平台的head标记约定的Web开发者。