address标签专用于标识页面或article作者/拥有者的联系信息,如邮箱、电话、办公地址等,不可用于地理坐标、发货地或门店位置;必须作为body或article直接子元素,仅允许嵌套a、em、br等内联元素。

address 标签不是用来标地理位置的
<address></address> 的语义是「联系信息」,不是「地理坐标」。它专指作者/拥有者(比如网页作者、公司、博客主)的联系方式,比如邮箱、电话、物理地址——但这个「物理地址」只是文本描述,浏览器不会解析成经纬度,地图服务也不会自动识别。把它当 <div> 塞个「北京市朝阳区XX路1号」,对 SEO、无障碍或结构化数据几乎没帮助。
<h3>真正标注地理位置该用什么</h3>
<p>想让地址被搜索引擎、地图 App 或屏幕阅读器更好理解,得靠结构化数据和语义化组合:</p>
<ul><li>用 <code><span></span> 或 <div> 包裹地址各字段,并添加 <code>itemprop 属性配合 itemscope itemtype="https://schema.org/PostalAddress"
streetAddress、addressLocality、addressRegion、postalCode、addressCountry
itemscope itemtype="https://schema.org/LocalBusiness" 更有效示例片段:
<div itemscope itemtype="https://schema.org/LocalBusiness">
<h2 itemprop="name">咖啡小铺</h2>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="streetAddress">建国路87号院2号楼1层</span>,
<span itemprop="addressLocality">朝阳区</span>,
<span itemprop="addressRegion">北京市</span>,
<span itemprop="postalCode">100022</span>
</div>
</div>
address 标签还能用吗?怎么用才不翻车
能用,但只在明确表示「本页作者/维护者的联系信息」时才合适,常见于页脚或「关于」页。一旦混用(比如给客户地址、门店地址套 <address></address>),反而会误导辅助技术或结构化数据提取工具。
- 它默认有斜体样式,若需重置,CSS 中要显式写
font-style: normal - 不能嵌套标题(
<h2></h2>)、段落(<p></p>)等块级元素——规范只允许行内内容,如<a></a>、<em></em>、<time></time> - 多个联系人?别堆在一个
<address></address>里。每个独立联系主体应单独包裹
正确用法示例:
<address> 作者:<a href="https://www.php.cn/link/9058c666789874c718d1976270cee814">me@example.com</a>; 更新时间:<time datetime="2024-05-20">2024年5月20日</time> </address>
想点开就跳地图?得靠链接和 schema 双保险
纯 HTML 无法触发地图 App,但可以引导用户点击后跳转。关键是把地址文本转成带参数的 geo: 或地图平台 URL:
- 通用地理协议:
geo:39.9042,116.4074(经纬度,iOS 支持较好) - 高德地图:
iosamap://?sourceApplication=xxx&lat=39.9042&lon=116.4074&dev=1 - 百度地图:
baidumap://map/marker?location=39.9042,116.4074&title=咖啡小铺 - 同时提供文字地址 + 链接,兼顾可读性与功能性
注意:这些链接在桌面端大多无效,需搭配 User-Agent 检测或 fallback 到网页版地图搜索 URL。
真正让地理位置“活起来”的,从来不是单个 HTML 标签,而是 schema 结构 + 可操作链接 + 明确上下文。别让<address></address> 承担它不该扛的职责。











