应使用 https://schema.org/WeatherForecast;必须搭配 itemscope,且每个预报日需独立包裹;必备属性为 weatherCode、forecastDate(ISO 8601 格式)和 temperature(含 value 与 unitCode,如 "CELS")。

用 itemtype 标记天气预报该选哪个 Schema 类型
直接用 https://schema.org/WeatherForecast。这是唯一被 Google、Bing 和结构化数据测试工具广泛识别的天气类型,其他如 Climate 或自定义类型基本不被解析。
注意:必须搭配 itemscope 使用,且整个天气块要是一个独立的语义单元(比如一个 <div>),不能只给温度数字加 <code>itemtype。
WeatherForecast 必须包含哪些属性才被有效识别
Google 的富媒体搜索结果(如天气卡片)要求至少提供以下三项,缺一不可:
-
weatherCode(或weatherCondition)——建议用weatherCode,值为https://schema.org/WeatherCode枚举值(如"sunny"、"cloudy") -
forecastDate—— ISO 8601 格式日期,例如"2024-06-15",不能是相对时间(如“今天”) -
temperature—— 必须嵌套value和unitCode,例如:<meta itemprop="value" content="26"><meta itemprop="unitCode" content="CELS">
漏掉 unitCode 是最常见失败原因;用 "C" 或 "°C" 会直接导致解析失败。
立即学习“前端免费学习笔记(深入)”;
HTML 中怎么嵌套 itemprop 才不破坏页面样式
避免把 itemprop 塞进看不见的 <meta> 里——虽然合法,但会让维护者无法直观对应数据和 UI。推荐混合写法:
- 日期、天气图标文字等可见内容,直接加
itemprop="forecastDate"或itemprop="weatherCode" - 温度数值若带单位(如 “26°C”),用
<span itemprop="temperature" itemscope itemtype="https://schema.org/QuantitativeValue"></span>包裹整个值,再在内部用<meta>拆出value和unitCode - 不要对同一视觉元素重复加多个
itemprop(比如既标temperature又标value),Schema 解析器会混淆
验证时常见报错和对应修复
用 Google 的 Rich Results Test 工具检测后,高频错误有:
-
"Missing field 'temperature'"→ 检查是否漏了itemprop="temperature"容器,或容器内没嵌QuantitativeValue结构 -
"Invalid unitCode: 'C'"→ 改成"CELS"(摄氏)或"FAHR"(华氏),大小写敏感 -
"forecastDate must be a date in ISO 8601 format"→ 确保是2024-06-15,不是15/06/2024或带时间的2024-06-15T12:00(除非明确需要小时级预报)
多日预报要为每一天建独立的 itemscope itemtype="https://schema.org/WeatherForecast" 块,共用一个父 itemtype 不生效。



















