为什么Google建议在HTML的body标签内使用meta标签?
关于Google Sitelink Searchbox示例中meta标签放在body内的原因
- 符合Microdata语法规范:根据schema.org和W3C的Microdata规则,携带
itemprop属性的meta标签不属于页面全局元数据,作用是为其所属的itemscope节点补充不需要向用户展示的属性值,本身就允许放置在<body>内部的对应结构化数据节点层级下,不属于不符合HTML规范的用法。 - 明确属性归属,避免解析歧义:示例中的两个meta标签分别是为上层的
WebSite节点和SearchAction节点补充url和target属性,直接放在对应的父节点内部,搜索引擎爬虫解析时可以直接将属性和对应的结构化对象绑定,不会和页面头部的全局元数据混淆,解析准确率更高。 - 匹配页面实际功能校验逻辑:Google的结构化数据校验规则要求Sitelink Searchbox的配置必须和页面实际存在的搜索表单功能一致,将元数据和真实的表单DOM结构放在一起,能直接对应上表单的功能,降低结构化数据和页面实际功能不匹配的概率,更容易通过校验。
- 降低维护成本,减少配置错误:开发者可以直接在现有搜索表单的代码基础上补充Microdata标记,不需要在页面头部单独维护一套搜索配置,修改搜索目标地址时只需要调整一处即可,避免头部和表单配置不一致的问题,实现门槛更低。
对应的Microdata示例代码如下:
<div itemscope itemtype="https://schema.org/WebSite"> <meta itemprop="url" content="https://www.example.com/"/> <form itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction"> <meta itemprop="target" content="https://query.example.com/search?q={search_term_string}"/> <input itemprop="query-input" type="text" name="search_term_string" required/> <input type="submit"/> </form> </div>
内容的提问来源于stack exchange,提问作者E - Gyan
相关产品推荐
相关产品推荐

