Tenten AIGEO
回到部落格
技術實作手冊實作

Schema 驗證流程:用 Rich Results Test 與 Schema.org Validator 抓出 AI 讀不到的結構化資料錯誤

Schema 通過驗證工具不代表 AI 引擎讀得到。這篇說明 Rich Results Test 與 Schema.org Validator 各自的盲點,並給你一套可重複的 schema 驗證流程,逐步抓出 AI 讀不到的結構化資料錯誤。

Tenten GEO 團隊發布於 2026-07-125 分鐘閱讀
抽象視覺:一份半透明的結構化資料藍圖在光影中被逐層掃描檢視,象徵 schema 驗證。

Schema 通過 Google 的驗證工具,不代表 AI 引擎抓得到你的結構化資料,這兩件事走的是不同的解析路徑。Rich Results Test 只檢查 Google 支援的少數幾種 rich result 是否合格,Schema.org Validator 只檢查語法有沒有符合詞彙規範。兩者都不會告訴你,ChatGPT、Perplexity 或 Google AI Overviews 的爬蟲在你的頁面上實際讀到了什麼。很多頁面驗證全綠,卻在 AI 答案裡完全隱形,落差就在這裡。

為什麼「通過驗證」不等於「AI 讀得到」

驗證工具的工作是『合規檢查』,不是『可讀性檢查』。Schema.org Validator 把你的 JSON-LD 對照 schema.org 詞彙表,確認類型與屬性拼寫正確、巢狀結構合法;Rich Results Test 則模擬 Googlebot 渲染頁面,判斷這頁能不能觸發某種 rich result。這兩件事都做完,你只知道『語法沒錯』和『Google 願不願意給你 rich result』。至於 AI 爬蟲,它們多半直接抓伺服器回傳的原始 HTML,不執行 JavaScript,也不在意你有沒有 rich result 資格。真正決定 AI 讀不讀得到的,是那段 JSON-LD 到底有沒有出現在原始 HTML 裡、實體之間連不連得起來。

兩個必備工具,各自的盲點

先把兩個工具的定位講清楚,才知道各自漏掉什麼。

  • Rich Results Test(search.google.com/test/rich-results):會用 Googlebot 實際渲染頁面、執行 JS,逐項列出偵測到的 rich result 類型與錯誤警告。盲點是它只涵蓋 Google 支援的約三十幾種類型;你標了 Organization、Person 這類不觸發 rich result 的類型,它會顯示『未偵測到項目』,但那不代表你的 schema 無效。
  • Schema.org Validator(validator.schema.org):不管 Google 支不支援,把所有類型的完整實體樹攤開給你看,最適合檢查語法與詞彙。盲點是它預設不替你執行 JS,你貼原始碼或給它 URL 抓到的常是未渲染版本,而且它不告訴你 rich result 資格,也對某些語意錯誤過度寬容。

結論很直接:兩個都要用,而且要清楚自己這一步在查什麼。查語法與實體結構用 Schema.org Validator,查 Google rich result 資格與渲染結果用 Rich Results Test。兩者都不能替你回答『不跑 JS 的爬蟲看得到嗎』,那要靠下一步的原始碼檢查。

一套可重複的 Schema 驗證流程

把驗證拆成固定順序,每個頁面、每次改版都跑同一份清單,才不會每次憑印象檢查、每次漏掉不同的洞。

  1. 用 Schema.org Validator 貼上『渲染後』的 HTML,確認語法與詞彙無誤,並攤開完整實體樹,逐一核對類型與必填屬性。
  2. 用 Rich Results Test 輸入正式 URL,確認 Google 抓到的是渲染後版本,且你想要的 rich result 類型有被辨識、沒有紅色錯誤。
  3. 用 curl 或 view-source 抓『沒有執行 JS』的原始 HTML,搜尋 application/ld+json,確認 JSON-LD 真的在伺服器回傳的內容裡,這一步模擬的正是多數 AI 爬蟲的行為。
  4. 檢查 @id 與 @type 之間的交叉引用:Organization、WebSite、Article、Person 是否用一致的 @id 串成一張圖,讓引擎能判斷作者屬於哪個組織、文章屬於哪個網站。
  5. 把 schema 裡的值和頁面可見內容逐項對照,價格、標題、評分、日期都要一致,不一致時 Google 會直接忽略,AI 也會降低信任。
  6. 存一份基準快照,之後每次改版重跑整份清單,把差異當成 regression 來看。
資訊圖:從原始 HTML 到 AI 爬蟲的驗證管線,標出 AI 讀不到資料的環節。
Schema 驗證管線:通過工具驗證,不代表不跑 JS 的 AI 爬蟲讀得到。

AI 引擎真正讀不到的錯誤類型

語法過關的 schema,仍然有一整類『工具說沒問題、AI 卻讀不到』的錯誤。這些是我們替客戶做審計時最常抓到的:

  • JSON-LD 由前端框架或 tag manager 在瀏覽器端注入,伺服器回傳的原始 HTML 裡一行都沒有,不跑 JS 的爬蟲完全看不到。
  • @id 缺失或前後不一致,實體之間連不起來,引擎無法把作者、組織、文章綁成同一個知識圖譜節點。
  • 類型選對了,值卻放錯欄位:把幣別塞進 price、把整段描述塞進 name、offers 裡少了 priceCurrency。
  • 語法合法但語意殘缺:Product 沒有 offers、Article 缺 author 或 publisher、FAQPage 的 answer 是空字串。
  • 同一頁有多段互相矛盾的 JSON-LD,例如首頁 template 帶的 Organization 和頁面自帶的打架,引擎無所適從。
  • 日期不是 ISO 8601、圖片用相對路徑而非絕對 URL,這些在寬容的驗證器裡會過,但抽取時容易被丟掉。

別只看工具,要看『渲染後 DOM』和『原始碼』的落差

把驗證做紮實,關鍵是同時看兩個版本的頁面。打開 DevTools 的 Elements 面板,看的是瀏覽器渲染後的 DOM,這大致是 Googlebot 會看到的樣子;用 view-source 或 curl 看的是伺服器最初回傳的原始 HTML,這是多數 AI 爬蟲會看到的樣子。你的結構化資料如果只存在於前者、不存在於後者,那道落差就是 AI 讀不到你的地方。驗證工具幫你看第一個版本,第二個版本得自己動手抓。

Schema 驗證不是發布時做一次就結束的動作,而是每次改版都要重跑的關卡;CMS 一次升級、template 一次調整,就可能讓整棵實體樹默默散架。Tenten GEO 技術審計筆記

把驗證變成發布前的固定關卡

最實際的做法,是把這份清單接進發布流程,而不是靠記憶臨時檢查。可以在 CI 裡加一支腳本,抓正式 URL 的原始 HTML、解析出 JSON-LD、比對必填屬性與 @id 引用,一旦缺漏就擋下部署;沒有 CI 的團隊,至少把六個步驟寫成發布前 checklist,改版後逐項打勾。結構化資料的價值在於穩定被機器抽取,而穩定來自流程,不是來自某次手動驗證的運氣。若你想知道自己的頁面在不跑 JS 的爬蟲眼中長什麼樣、哪些 schema 其實 AI 根本讀不到,可以到 /contact 預約一場 30 分鐘 GEO 診斷,我們用你的實際頁面跑一遍這套流程。

常見問題

Schema 驗證工具有哪些?該用哪一個?
主要兩個:Google Rich Results Test 檢查 rich result 是否合格,並會執行 JS 渲染頁面;Schema.org Validator 檢查語法與詞彙是否符合規範,並顯示完整實體樹。兩者搭配使用,再加上 curl 檢查原始 HTML,才算完整。
為什麼 Schema 通過驗證,AI 還是讀不到?
驗證工具多半會執行 JavaScript,但許多 AI 爬蟲只讀伺服器回傳的原始 HTML、不跑 JS。若 JSON-LD 是前端注入的,工具會顯示通過,AI 卻抓不到。用 curl 檢查原始碼裡有沒有 application/ld+json 才能確認。
多久要重新驗證一次 Schema?
每次網站改版、更換 CMS、調整 template 或內容大改後都應重跑。結構化資料很容易在改版時默默失效,建議把驗證做成發布前的固定關卡或 CI 檢查,而不是一次性動作。

READY WHEN YOU ARE

想知道你的品牌在 AI 答案裡值多少?

30 分鐘 GEO 診斷,我們用你的實際提問,帶你看見在六大 AI 引擎裡的能見度缺口,以及補上它的優先順序。

預約 30 分鐘診斷