幫客戶做 SEO 修了一陣子。
上週 Google Search Console 還在報 Schema 警告,但網站明明已經有 JSON-LD。
打開原始碼,問題不是沒有 Schema,是太多、來源太亂。
同一頁三組 Organization:
系統內建輸出一組,模板 Custom Code 又加一組,文章內容裡還有人手寫了一組。
Google 爬進來,看到三個版本都說是同一間公司,不知道信哪個,直接跳過。
更荒謬的是分類頁。
因為 introtext 邏輯沒處理好,文章裡的 FAQPage Schema 被一起帶到分類頁,
分類頁就背了一堆它不應該有的東西。

今天做了什麼
先清重複:全站固定輸出的 ProfessionalService 藏在模板 Custom Code,移除。
修格式錯誤:有人把 HTML 直接包進 application/ld+json,整個無法解析,改掉。
修分類頁 introtext 邏輯,文章 Schema 不再外洩。
清乾淨之後,才補真正需要的:
10 個服務頁加 Service Schema、首頁加 WebSite Schema、主要頁面加 BreadcrumbList。
50 頁驗收結果
很無聊但很真實。
Schema 不需要多,需要乾淨,
每種類型在對的頁面出現一次,URL 跟 canonical 對齊,來源一個。
這個網站卡了好幾個月,清完那天驗收全過,就這樣。
然後稽核工具說 Schema 消失了
第二輪 SEO 稽核報告出來,顯示「全站 JSON-LD 結構化資料完全消失」,
Schema 分數大幅下降。
打開 live site 看,沒事。
工具抓到的是過渡狀態:
舊的全站 ProfessionalService 已移除,新的還沒補完,工具就在這個空窗期掃描,
判定 Schema 全部消失,加上快取沒完全清乾淨,工具可能抓到新舊版混雜的狀態,結果更亂。
移除重複 Schema 是修正,不是退步,
稽核工具看到某個 type 消失就扣分,但它不知道那組原本就是問題來源。
怎麼驗證才對:五個交叉確認方式
不能只看稽核工具的分數。
- ① 直接看 live site 原始碼
搜尋application/ld+json,確認 JSON-LD 在 HTML 裡,不是靠 JS 後載。
稽核工具通常只讀伺服器回傳的 HTML,JS 後載的 Schema 讀不到。 - ② 工具驗,但要搭配原始碼看
Google Rich Results Test、Schema.org Validator、Google Search Console 交叉確認,
貼任何一頁 URL 進去,同一種 Schema 出現兩次以上,就是今天這個問題。 - ③ 固定 URL 清單前後對照
每次掃同樣 50 頁,不要換樣本,
每頁確認:HTTP 200、canonical 唯一、JSON-LD 可解析、Schema 類型符合頁面類型。 - ④ 確認每頁 Schema 類型放對位置
首頁:Organization+WebSite/ 服務頁:Service+BreadcrumbList/ 文章頁:Article+BreadcrumbList
不應該每頁塞同一組全站 Schema。 - ⑤ 每次改完清快取
網站快取和 CDN 都要清,不清的話工具可能抓到舊版,跟實際狀態對不上。 ![SEO:怎麼驗證 Schema]()
稽核分數是快照,live site 才是事實。
Schema 清完,接著跑完整的 39 維度 SEO 稽核,繼續下一輪。
相關工具
- → Google Rich Results Test 確認結構化資料是否正確輸出
- → Schema.org Validator 驗證 JSON-LD 語法與格式
- → Schema.org 官方文件 各 Schema 類型的標準定義


