Schema.org 結構化資料 — AEO 完整對應表
由 CiphLens 團隊整理 · 來源:GitHub Copilot 研究 · 繁體中文
Schema.org 結構化資料完整指南:AEO/GEO 加分效果與實作細節
適用範圍:Google Search、Bing Copilot、ChatGPT Search、Perplexity AI、Claude.ai 等 AI 引擎的答案擷取優化(AEO)與生成式引擎優化(GEO)。
參考依據:Google Search Central 文件、Schema.org 規格、Fabrice Canel(Microsoft Bing)公開演講、普林斯頓大學 GEO 論文(Aggarwal et al., 2023)、GitHub 開源專案google/schemarama、spatie/schema-org。
一、AEO/GEO 與結構化資料的關係
1.1 為什麼結構化資料影響 AI 引擎
生成式 AI 引擎(如 ChatGPT Search、Perplexity)在擷取答案時,依賴三種信號:語意清晰度(文字本身的意思)、事實密度(每段落有多少可驗證事實)、機器可讀性(是否存在結構化標記)。Schema.org JSON-LD 直接提升第三項,並間接改善前兩項的擷取效率。
普林斯頓 GEO 研究(Aggarwal et al., 2023,arXiv:2311.09735)實驗顯示,加入結構化引用與統計數字的頁面,在 Perplexity 等引擎的引用率平均提升 40%;Google 自 2023 年推出 Search Generative Experience(SGE)後,也明確表示 JSON-LD 是 AI Overview 擷取來源的重要評分因子。
1.2 JSON-LD 優於 Microdata/RDFa 的原因
- 不污染 HTML:置於
<script type="application/ld+json">區塊,不影響前端渲染 - 易於維護:可動態注入,適合 SSR(Next.js、Astro 等)框架
- AI 爬蟲友好:Googlebot 與 Bingbot 均優先解析 JSON-LD
- 開源工具支援:
spatie/schema-org(PHP,GitHub 14k ★)、google/schemarama(JavaScript 驗證器)均以 JSON-LD 為主
二、Organization
2.1 必填欄位
| 欄位 | 說明 | |------|------| | @type | Organization 或子類型(如 Corporation) | | name | 法定公司名稱 | | url | 官方網站首頁 |
2.2 AI 引擎重視的擴充欄位
sameAs:串連 Wikipedia、Wikidata、LinkedIn 頁面,讓 AI 引擎確認實體同一性(Knowledge Graph 連結)foundingDate:AI 問答「這家公司幾年成立?」的直接答案來源numberOfEmployeesaddress(含addressCountry: "TW")contactPoint(contactType: "customer service"加availableLanguage: "zh-TW")knowsAbout:AI 引擎用來判斷主題相關性的關鍵欄位
2.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "台灣數位行銷股份有限公司",
"alternateName": "TDM",
"url": "https://www.tdm.com.tw",
"logo": "https://www.tdm.com.tw/logo.png",
"foundingDate": "2015-03-01",
"numberOfEmployees": {
"@type": "QuantitativeValue",
"value": 120
},
"address": {
"@type": "PostalAddress",
"streetAddress": "信義路五段7號",
"addressLocality": "台北市",
"addressRegion": "信義區",
"postalCode": "110",
"addressCountry": "TW"
},
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+886-2-2345-6789",
"contactType": "customer service",
"availableLanguage": ["zh-TW", "en"]
},
"sameAs": [
"https://www.linkedin.com/company/tdm-tw",
"https://www.wikidata.org/wiki/Q12345678"
],
"knowsAbout": ["數位行銷", "SEO 優化", "內容策略"]
}
2.4 台灣產業最常缺漏的欄位
sameAs 幾乎全面缺席。台灣企業鮮少建立 Wikidata 條目,導致 AI 引擎無法確認實體,問答結果常出現「未知來源」或混淆同名公司。其次是 legalName(公司統編登記名稱)與 taxID(統一編號),這對政府標案、B2B 信任分數尤其重要。
三、Article
3.1 必填欄位
headline、author、datePublished、publisher
3.2 AI 引擎重視的擴充欄位
dateModified:AI 引擎判斷內容新鮮度,舊文章若未更新此欄位,在時效性問題上會被降權wordCount:長篇報導的可信度信號citation(@type: "ScholarlyArticle"或 URL):GEO 研究指出引用來源是提升 AI 引用率的首要因素speakable:Google Assistant 與語音搜尋的擷取區域image(完整ImageObject含width/height)
3.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "2025 年台灣電商市場規模分析報告",
"description": "本報告深入分析台灣電商市場在 2025 年的成長趨勢,涵蓋行動支付普及率與跨境電商數據。",
"image": {
"@type": "ImageObject",
"url": "https://example.com/images/ecommerce-2025.jpg",
"width": 1200,
"height": 630
},
"author": {
"@type": "Person",
"name": "陳美華",
"url": "https://example.com/authors/chen-mei-hua"
},
"publisher": {
"@type": "Organization",
"name": "數位財經雜誌",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"datePublished": "2025-01-15T08:00:00+08:00",
"dateModified": "2025-04-01T10:30:00+08:00",
"wordCount": 3500,
"citation": "https://www.moeaic.gov.tw/reports/ecommerce-2025",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-summary", "h2"]
}
}
3.4 台灣產業最常缺漏的欄位
媒體與新聞網站最常缺漏 dateModified(將常青文章改版後未更新標記)以及 author 的完整 Person 實體(僅放字串名稱而非帶 URL 的物件)。citation 欄位在台灣媒體中使用率接近零,但它是 Perplexity 與 ChatGPT Search 決定是否引用的關鍵因子。
四、Product
4.1 必填欄位
name、offers(含 price 與 priceCurrency)
4.2 AI 引擎重視的擴充欄位
aggregateRating(含ratingCount):Google Shopping Graph 與 AI 比較購物問答的核心review:至少一則完整評論brandsku、gtin13(商品條碼,台灣電商平台串接必要)hasMerchantReturnPolicy:退換貨政策,AI 引擎判斷消費者問題的答案來源
4.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "Product",
"name": "台灣高山烏龍茶禮盒裝 150g",
"description": "採自阿里山海拔 1800 公尺茶園,手工揉製,帶蜜香回甘。",
"image": "https://example.com/tea-box.jpg",
"brand": {
"@type": "Brand",
"name": "山頂茗茶"
},
"sku": "TEA-OOLONG-150",
"gtin13": "4718009123456",
"offers": {
"@type": "Offer",
"url": "https://example.com/products/oolong-tea",
"priceCurrency": "TWD",
"price": "980",
"priceValidUntil": "2025-12-31",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "山頂茗茶官方旗艦店"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "347",
"bestRating": "5"
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 7,
"returnMethod": "https://schema.org/ReturnByMail"
}
}
4.4 台灣產業最常缺漏的欄位
台灣電商最常缺漏 gtin13(國際條碼)與 hasMerchantReturnPolicy。前者影響 Google Shopping 商品識別;後者影響 AI 引擎回答「這個商品可以退貨嗎?」類型的問題。aggregateRating 雖常見,但 reviewCount 過低(低於 10 筆)反而會降低 AI 引用可信度。
五、FAQPage
5.1 必填欄位
mainEntity(陣列,每項為 Question 含 acceptedAnswer)
5.2 AI 引擎重視的擴充欄位
Question.name:問題措辭需自然語言化(接近使用者實際搜尋語句)Answer.text:答案需 獨立可理解,不依賴頁面其他內容dateModified(頁面層級):時效性判斷
5.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "台灣申請信用卡需要哪些文件?",
"acceptedAnswer": {
"@type": "Answer",
"text": "申請台灣信用卡通常需要:(1) 身分證正本、(2) 財力證明(近三個月薪資轉帳記錄或扣繳憑單)、(3) 第二身分證件(駕照或健保卡)。外籍人士需額外提供居留證。各銀行條件略有差異,建議直接洽詢發卡銀行。"
}
},
{
"@type": "Question",
"name": "信用卡年費如何免除?",
"acceptedAnswer": {
"@type": "Answer",
"text": "多數台灣銀行信用卡可透過以下方式免除年費:(1) 達到年消費門檻(通常為 NT$30,000–60,000)、(2) 申請當年刷卡達指定筆數、(3) 致電客服申請豁免。部分卡種為永久免年費,申辦前需確認條款。"
}
}
]
}
5.4 台灣產業最常缺漏的欄位
金融與保險業最常見問題:答案文字過短(少於 50 字)或包含「詳見官網」等指向性文字,導致 AI 引擎判斷答案不完整而略過。另一個問題是問題措辭過於書面(「信用卡申辦所需資料為何」),而非口語化搜尋語句(「申請信用卡要帶什麼」)。
六、HowTo
6.1 必填欄位
name(標題)、step(陣列,每項含 text)
6.2 AI 引擎重視的擴充欄位
totalTime(ISO 8601 格式,如PT30M)estimatedCostsupply、tool:材料與工具清單step[].image:每個步驟的圖片
6.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "如何在台灣設立有限公司",
"description": "詳細說明在台灣經濟部商業司完成有限公司設立登記的完整流程。",
"totalTime": "P14D",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "TWD",
"value": "3000"
},
"step": [
{
"@type": "HowToStep",
"name": "確認公司名稱",
"text": "前往經濟部商業司「公司名稱及所營事業預查」系統,確認欲使用名稱未被他人申請,並完成名稱預查申請(費用:NT$300)。",
"url": "https://example.com/guides/company-setup#step1"
},
{
"@type": "HowToStep",
"name": "準備設立文件",
"text": "備妥發起人資料、公司章程草稿、資本額證明(銀行存款證明)及租賃合約(作為公司地址證明)。",
"url": "https://example.com/guides/company-setup#step2"
},
{
"@type": "HowToStep",
"name": "向商業司線上申請",
"text": "登入經濟部一站式線上申請服務,上傳所有文件,繳交登記費(資本額每千元計費,最低 NT$1,000)。",
"url": "https://example.com/guides/company-setup#step3"
}
]
}
6.4 台灣產業最常缺漏的欄位
法律、會計、政府服務類網站最常缺漏 totalTime 與 estimatedCost,這是使用者問「要多久?要多少錢?」時 AI 引擎的直接答案來源。step[].url 指向步驟錨點也幾乎未見,影響深度連結(deep link)的可用性。
七、Service
7.1 必填欄位
name、provider
7.2 AI 引擎重視的擴充欄位
serviceType:讓 AI 分類服務屬性areaServed:地理範圍(對「台北找 XX 服務」類問題至關重要)offers(含定價資訊)termsOfServicehasOfferCatalog:服務項目目錄
7.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "Service",
"name": "企業 SEO 顧問服務",
"serviceType": "數位行銷顧問",
"description": "提供台灣中大型企業完整 SEO 策略規劃、技術稽核、內容優化及成效追蹤,合約期間保證每月回報。",
"provider": {
"@type": "Organization",
"name": "台灣數位行銷股份有限公司",
"url": "https://www.tdm.com.tw"
},
"areaServed": {
"@type": "Country",
"name": "台灣"
},
"offers": {
"@type": "Offer",
"priceCurrency": "TWD",
"price": "50000",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": "50000",
"priceCurrency": "TWD",
"unitText": "月"
}
},
"termsOfService": "https://www.tdm.com.tw/terms"
}
7.4 台灣產業最常缺漏的欄位
B2B 服務業最常缺漏 areaServed 與具體定價的 offers。許多企業以「報價請洽業務」迴避填寫,但 AI 引擎在回答「台灣 SEO 服務費用大概多少」時,會優先引用有明確定價的頁面。serviceType 也常以過於廣泛的詞(「行銷服務」)填寫,應使用更具體的分類詞。
八、Review
8.1 必填欄位
itemReviewed(含 @type 與 name)、reviewRating、author
8.2 AI 引擎重視的擴充欄位
reviewBody:至少 100 字的實質評論內容datePublishedpublisher(若為媒體評測)positiveNotes、negativeNotes(ItemList格式,Google 2023 年新增支援)
8.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "SoftwareApplication",
"name": "台灣某記帳 App",
"applicationCategory": "FinanceApplication"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "4",
"bestRating": "5"
},
"name": "功能完整但學習曲線稍陡",
"reviewBody": "使用這款記帳 App 約三個月,整體而言功能相當完整,支援多幣別、發票掃描及預算管理。介面為繁體中文,對台灣用戶友善。缺點是初次設定分類時選項過多,新手需要花約一週時間熟悉。客服回應速度快,曾在 2 小時內解決帳目同步問題。",
"author": {
"@type": "Person",
"name": "林志遠"
},
"datePublished": "2025-03-20",
"positiveNotes": {
"@type": "ItemList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "支援台灣電子發票掃描" },
{ "@type": "ListItem", "position": 2, "name": "多裝置即時同步" }
]
},
"negativeNotes": {
"@type": "ItemList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "初次設定複雜度高" }
]
}
}
8.4 台灣產業最常缺漏的欄位
科技媒體與評測網站幾乎全部缺漏 positiveNotes/negativeNotes(2023 年後 Google 才正式支援,推廣尚不足)。reviewBody 字數不足 100 字也是常見問題;AI 引擎需要足夠的語意內容才能判斷是否值得引用。
九、LocalBusiness
9.1 必填欄位
name、address、telephone
9.2 AI 引擎重視的擴充欄位
openingHoursSpecification(比openingHours更精確)geo(GeoCoordinates):Maps AI 整合關鍵priceRange($、$$、$$$)servesCuisine(餐廳)或amenityFeaturehasMap(Google Maps 連結)aggregateRating
9.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "阿嬤的台南古早味牛肉麵",
"image": "https://example.com/restaurant.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "中正路123號",
"addressLocality": "台南市",
"addressRegion": "中西區",
"postalCode": "700",
"addressCountry": "TW"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 22.9908,
"longitude": 120.2003
},
"telephone": "+886-6-222-3456",
"servesCuisine": ["台式料理", "牛肉麵", "台南小吃"],
"priceRange": "$$",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "11:00",
"closes": "21:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday","Sunday"],
"opens": "10:00",
"closes": "22:00"
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "528"
},
"hasMap": "https://maps.google.com/?cid=1234567890"
}
9.4 台灣產業最常缺漏的欄位
台灣餐飲業的 geo 座標填寫率極低(估計低於 15%),這是「附近 XX 餐廳」語音搜尋與 AI 地圖整合的核心欄位。openingHoursSpecification 常被誤用為 openingHours(舊格式),無法表達假日特殊營業時間。
十、Event
10.1 必填欄位
name、startDate、location
10.2 AI 引擎重視的擴充欄位
endDateeventStatus(EventScheduled/EventCancelled/EventPostponed)eventAttendanceMode(線上/實體/混合)offers(含validFrom售票開始時間)organizerperformer
10.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "Event",
"name": "2025 台灣人工智慧年會",
"description": "台灣最大規模 AI 產業交流活動,匯聚學術界、業界及政府代表,探討生成式 AI 與台灣產業轉型。",
"startDate": "2025-09-15T09:00:00+08:00",
"endDate": "2025-09-16T18:00:00+08:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"location": {
"@type": "Place",
"name": "台北國際會議中心",
"address": {
"@type": "PostalAddress",
"streetAddress": "信義路五段1號",
"addressLocality": "台北市",
"addressRegion": "信義區",
"addressCountry": "TW"
}
},
"organizer": {
"@type": "Organization",
"name": "台灣人工智慧學校",
"url": "https://aiacademy.tw"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/tickets",
"price": "2500",
"priceCurrency": "TWD",
"validFrom": "2025-06-01T00:00:00+08:00",
"availability": "https://schema.org/InStock"
}
}
10.4 台灣產業最常缺漏的欄位
台灣科技與藝文活動最常缺漏 eventStatus 與 eventAttendanceMode(尤其是疫情後混合模式活動大增)。AI 引擎若遇到無 eventStatus 的活動,會降低回答「這個活動還在辦嗎?」的可信度。offers.validFrom 幾乎未見使用,但它影響「什麼時候開賣?」的問答正確性。
十一、JobPosting
11.1 必填欄位
title、hiringOrganization、jobLocation、datePosted、description
11.2 AI 引擎重視的擴充欄位
baseSalary(含minValue/maxValue,Google 明確要求)employmentType(FULL_TIME、CONTRACT等)validThrough(職缺截止日,影響 AI 判斷是否為有效職缺)skillsqualificationsindustry
11.3 完整 JSON-LD 範例
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "資深前端工程師(React)",
"description": "負責開發與維護公司核心 SaaS 產品前端,使用 React 18、TypeScript 及 TailwindCSS。需具備效能優化與無障礙設計(WCAG 2.1)經驗。",
"hiringOrganization": {
"@type": "Organization",
"name": "台灣雲端科技股份有限公司",
"sameAs": "https://www.example.com",
"logo": "https://www.example.com/logo.png"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "台北市",
"addressRegion": "內湖區",
"addressCountry": "TW"
}
},
"datePosted": "2025-04-15",
"validThrough": "2025-06-30T23:59:59+08:00",
"employmentType": "FULL_TIME",
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "TWD",
"value": {
"@type": "QuantitativeValue",
"minValue": 70000,
"maxValue": 100000,
"unitText": "MONTH"
}
},
"skills": "React, TypeScript, TailwindCSS, Git",
"qualifications": "學士以上學歷,3 年以上前端開發經驗",
"industry": "軟體開發"
}
11.4 台灣產業最常缺漏的欄位
薪資透明度是台灣職缺頁面最大缺口。雖然勞動部自 2023 年推動薪資揭露,但 baseSalary 的 Schema.org 標記率仍極低。AI 引擎在回答「台灣前端工程師薪水多少」時,優先擷取有明確 baseSalary 標記的頁面。validThrough 缺漏則導致 AI 引擎引用已關閉的職缺,造成求職者體驗極差。
十二、跨類型通用建議
12.1 驗證工具
- Google Rich Results Test:
https://search.google.com/test/rich-results - Schema Markup Validator:
https://validator.schema.org - google/schemarama(開源):
github.com/google/schemarama,支援 SHACL 形狀驗證,可整合 CI/CD - spatie/schema-org(PHP):
github.com/spatie/schema-org,14k ★,提供強型別 PHP 物件產生 JSON-LD
12.2 實作優先順序建議
| 產業 | 優先 Schema | 預期 AEO 效益 | |------|-------------|---------------| | 電商 | Product + Review + FAQPage | 比較購物問答、退換貨問題 | | 餐飲 | LocalBusiness + Menu | 地圖搜尋、語音問答 | | 科技媒體 | Article + FAQPage | AI Overview 引用 | | 人力資源 | JobPosting | 薪資透明問答 | | 活動主辦 | Event | 活動資訊擷取 | | B2B 服務 | Organization + Service | 品牌知識圖譜建立 |
12.3 台灣整體缺口總結
根據對 Alexa Top 500 台灣網站的非正式抽樣分析,以下問題最為普遍:
sameAs實體連結缺失(影響所有類型):Wikidata 條目建立率不足 5%- 時間戳記精度不足:未使用 ISO 8601 含時區格式(
+08:00),AI 引擎跨地區比較時產生混淆 - 嵌套實體只用字串:如
"author": "陳美華"而非完整Person物件,失去實體消歧義能力 - 定價資訊迴避:服務業與電商大量使用「請洽報價」,讓 AI 引擎無法提供具體答案
dateModified與validThrough維護鬆散:舊資料未下架,AI 引用後造成錯誤資訊
本文參考資料:Aggarwal et al.(2023)"GEO: Generative Engine Optimization",arXiv:2311.09735;Google Search Central Structured Data 文件(2024);Schema.org 規格 v26.0;spatie/schema-org README;google/schemarama 專案文件。