配送地址不可用 address 标签,应使用 PostalAddress 微数据或 JSON-LD 结构化标记;需严格遵循 Schema.org 字段定义,补全 addressCountry="CN" 和 @context,配合 aria-label 提升可访问性。
用 address 标签标记配送地址?别这么干
它语义上只适用于「联系信息」,不是「收货地址」或「配送地址」。浏览器、读屏器、搜索引擎都按联系场景解析,用在订单页反而造成语义混乱,还可能影响结构化数据提取。
-
address只该出现在页脚、联系页、作者信息旁 - 电商订单里的「配送地址」属于内容主体,该用
div+ ARIA 或微数据 - Google Structured Data Testing Tool 会直接忽略
address里的 postalCode / streetAddress 等字段
想让配送地址被搜索引擎识别?加 PostalAddress 微数据
这是 Google 明确支持的结构化标记方式,能提升地址在富摘要、本地搜索中的识别率。关键不是“加了就行”,而是字段必须严格对齐 Schema.org 定义。
- 必须用
itemscope itemtype="https://schema.org/PostalAddress"包裹整个地址块 - 子字段如
streetAddress、addressLocality、postalCode都是独立itemprop,不能合并写成一个span - 中国地址注意:用
addressCountry="CN",不要写“中国”;addressRegion填“广东省”,不是“粤”
<div itemscope itemtype="https://schema.org/PostalAddress"> <span itemprop="streetAddress">天河路123号保利大厦A座5楼</span>, <span itemprop="addressLocality">广州市</span> <span itemprop="addressRegion">广东省</span> <span itemprop="postalCode">510630</span> <span itemprop="addressCountry">CN</span> </div>
移动端适配时,aria-label 比纯视觉样式更可靠
很多页面用 CSS 隐藏「配送地址:」文字只留图标,但读屏器无法感知上下文,用户会听到「? 510630」而不知道这是地址。用 ARIA 补全语义才是正解。
实现 Markdown↔ HTML 互转,支持导出 PDF,用于用户请求的文档格式转换。
- 给地址容器加
aria-label="收货地址:天河路123号...510630",长度控制在 100 字符内 - 如果地址动态加载,记得用
aria-live="polite"触发读屏器播报更新 - 避免把整段地址塞进
title属性——移动端长按不触发,且无语义权重
JSON-LD 方式比 HTML 微数据更稳,但别漏掉 @context
JSON-LD 写在 里,不干扰渲染,适合服务端注入。但少写一行 "@context": "https://schema.org",Google 就当整段无效。
- 必须用
WebPage或Order作为顶层类型,再嵌套deliveryAddress -
deliveryAddress的值必须是完整PostalAddress对象,不能只写字符串 - 测试时用 Google Rich Results Test,别只看网页源码有没有 JSON-LD
实际项目里,最常被跳过的其实是 addressCountry 和 @context ——看着地址显示正常,但结构化数据完全没生效。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










