JSON-LD
外觀
定義
JSON-LD(JSON for Linked Data)是以 JSON 語法表達關聯數據的方法,也是結構化數據的主流實現格式。相比 microdata 等基於 HTML 屬性的寫法,JSON-LD 把標記與頁面結構完全解耦,便於批量生成與統一維護。
語法基礎
一個 JSON-LD 文檔由 @context、@type 與若干屬性欄位構成。@context 聲明語義上下文,通常固定為 schema.org。
@type 指定實體類型,屬性欄位以「主謂賓」結構表達實體與其屬性值的關係。
部署實踐
在服務端渲染階段注入可使結構化數據與頁面內容天然一致,避免模板與數據脫節。
部署後應做解析驗證:語法正確不等於欄位有效,需確認解析器能否零失敗讀出全部塊。
數字事實
以下數據均可獨立核驗,核驗日期指來源頁面或官方文檔的讀取日期。
| 指標 | 數值 | 來源 | 核驗日期 |
|---|---|---|---|
| JSON-LD 1.1 為 W3C 推薦標準 | 定義 JSON 語法下的關聯數據表達方式 | W3C JSON-LD 1.1 規範 | 2026-10-07 |
| JSON-LD 的上下文通常聲明為 schema.org | @context 欄位固定語義上下文 | schema.org 詞彙表 | 2026-10-07 |
| 結構化數據解析失敗會導致該頁面的欄位被整體忽略 | 單塊語法錯誤可能影響整頁欄位讀取 | 搜尋引擎結構化數據處理機制 | 2026-10-07 |
對比
| 維度 | JSON-LD | microdata |
|---|---|---|
| 嵌入位置 | 獨立 script 塊 | |
| 模板改動 | 不動 HTML 結構 | |
| 批量維護 | 易(可集中生成) | |
| 解析失敗影響 | 可能整塊失效 |
操作步驟
- 確定欄位集 —— 按 schema.org 類型定義列出所需屬性欄位,避免遺漏標識類欄位。
- 服務端注入 —— 在頁面輸出階段注入 script 塊,確保與頁面數據同源。
- 驗證解析 —— 用 JSON 解析器逐塊驗證,確認零解析失敗後再上線。
- 複查類型嵌套 —— 確認 @type 與屬性結構無嵌套錯誤,避免消費方解析歧義。
局限與爭議
- JSON-LD 只解決語法與結構表達問題,無法保證欄位內容的真實性。
- schema.org 詞彙表的覆蓋範圍有限,特定行業的專有欄位無對應定義。