astudio · 結構化標記 (Schema Markup)
<root> = 此技能基礎目錄的上兩層。Lint 腳本:<root>/scripts/schema_lint.py。類型狀態:
<root>/reference/facts.md § 豐富結果狀態。
Google 表示,結構化資料並非 AI 答案的必要條件,但它能明確地陳述事實:你是誰、產品價格是多少、你在哪裡、誰寫了這篇文章。這有助於豐富結果、知識面板以及任何讀取 JSON-LD 的消費者。只有當結構化資料與頁面顯示的內容一致時,它才會有幫助。
工作流程
- 盤點頁面模板(首頁、分類、產品、文章、聯絡我們、活動、職缺)。
- 檢查現有資料:對每個模板執行
schema_lint.py <url>。 - 為每個模板選擇類型(見下方表格)。每頁使用一個
@graph;為實體提供穩定的@id值(例如https://site.ru/#organization),並透過引用而非重複撰寫。 - 從與頁面相同的資料來源(CMS 欄位)產生 JSON-LD,切勿手動複製數字。
- 驗證:使用
schema_lint.py,然後通過 Google 豐富結果測試工具和 Schema 標記驗證器,若目標為俄羅斯則使用 Yandex Webmaster 微資料驗證器。將結果貼到報告中。 - 顯示差異;確認後部署。
按模板的類型
| 模板 | 類型 | 必須與頁面相符 |
|---|---|---|
| 首頁 | Organization (或 LocalBusiness 子類型)、WebSite | 名稱、標誌、聯絡資訊;sameAs 指向官方個人檔案(VK、Telegram、Yandex Maps、2GIS、Wikipedia) |
| 產品 | Product + Offer (+ AggregateRating、Review 如果有顯示) | 價格、貨幣 RUB、庫存狀態、評分值和評分數量 |
| 分類 | BreadcrumbList、ItemList(可選) | 麵包屑導覽文字 |
| 文章 / 部落格 | Article/BlogPosting + Person (作者) | 標題、作者姓名(附個人檔案頁面)、日期 |
| 聯絡我們 / 分店 | LocalBusiness 子類型,附地址、地理座標、營業時間規範、電話 | 與地圖和目錄中的 NAP (名稱、地址、電話) 一致 |
| 影片頁面 | VideoObject | 縮圖、上傳日期、長度 |
| 活動 / 課程 / 工作 | Event、Course、JobPosting | 日期、價格、地點、薪資 |
| 問答論壇頁面 | QAPage | 真實的使用者提問與回答 |
已退役或無效果的類型(不要將其視為優點推銷)
FAQPage(自 2026-05-07 起無 Google 豐富結果)、HowTo(2023)、ClaimReview、EstimatedSalary、Learning Video、SpecialAnnouncement、Vehicle Listing、Book Actions(2025-06-12)。僅在 FAQPage/HowTo 確實反映可見內容且其他系統會使用它們時才保留;需說明 Google SERP 已無效果。
規則
- 僅標記使用者可以看到的內容。隱藏的評分、自我吹捧的評論以及與頁面不同的價格都違反 Google 政策,並可能導致人工處罰。
- 價格:
price中的數字不含空格(例如 "4990"),priceCurrency: "RUB";請確保 HTML 中顯示相同的價格。 - 日期使用 ISO 8601 格式並包含時區(例如
2026-11-06T10:00:00+03:00)。 - 每個網站僅有一個組織實體,並透過
@id引用。
範例:LocalBusiness
{"@context":"https://schema.org","@graph":[{"@type":"CafeOrCoffeeShop","@id":"https://zerno.ru/#org",
"name":"Кофейня «Зерно»","url":"https://zerno.ru/","logo":"https://zerno.ru/logo.svg","telephone":"+7 843 000-00-00",
"address":{"@type":"PostalAddress","streetAddress":"ул. Баумана, 1","addressLocality":"Казань","postalCode":"420111","addressCountry":"RU"},
"geo":{"@type":"GeoCoordinates","latitude":55.7887,"longitude":49.1221},
"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"opens":"08:00","closes":"22:00"}],
"sameAs":["https://vk.com/zerno","https://yandex.ru/maps/org/000"]}]}