SEO結構化資料GEO

結構化資料是什麼?中小企業網站要不要做

你在 Google 搜尋結果看過那種帶星等、帶價格、下面還能展開幾條問答的項目。那些額外資訊多半來自一段寫在網頁原始碼裡的 JSON-LD,訪客看不到,機器看得到。中小企業常問這件事該不該做。答案是該做,但要先搞清楚它能給你什麼、不能給你什麼。它幫搜尋引擎和 AI 引擎正確理解這一頁在講什麼,降低被誤讀的機率;至於排名,Google 說得很直白,它不是排名因子。

1. 結構化資料是什麼?一段寫給機器看的自我介紹

它把「這頁在講什麼」寫成一組機器讀得懂的欄位,藏在網頁的最上層。訪客在畫面上看不到,它也不會影響版面。舉例來說,一篇文章的頁面,人看到的是標題和內文,這段標記寫的則是文章標題、作者、發布日期與最後更新日期,明確告訴機器誰寫的、什麼時候發布、什麼時候改過。這套欄位的規格由 schema.org 制定,Google、Bing 與多數 AI 引擎讀的是同一套。

自我檢查

  • JSON-LD 是 Google 建議的寫法,跟版面完全分離,改版時不會被排版動到。
  • 另外兩種寫法 Microdata 和 RDFa 要把屬性混進 HTML 標籤裡,維護時容易弄壞,新做的站不建議採用。
  • 一頁可以放多段標記,也可以把好幾種類型合併寫在同一段裡。
  • 標記描述的是「這一頁的內容」,所以每頁的 JSON-LD 內容都應該不一樣。

2. 為什麼有用:搜尋結果的長相,還有 AI 引擎認不認得你

用途有兩個。搜尋引擎拿它產生複合式搜尋結果:商品的星等與價格、FAQ 的展開箭頭、標題下方的麵包屑路徑,這些外觀都要有對應標記才可能出現。AI 引擎則拿它判斷你是誰、這段內容能不能引用、作者和日期可不可信。同一份內容,有標記的版本被機器讀錯的機率低一些。

自我檢查

  • 複合式搜尋結果會佔掉更多版面,點閱率通常比純文字連結好,但這來自版面變大,排序位置沒有改變。
  • FAQPage 的一問一答格式最容易被 AI 直接摘錄,因為問題和答案已經替機器配好對。
  • Organization 標記讓機器把你的品牌名、網址、聯絡方式綁在一起,這是 GEO 的基本工。
  • 沒有標記不代表不會被收錄,只是機器得自己從版面猜,猜錯的機率高一點。

3. 先做這三種:Organization/LocalBusiness、FAQPage、Article

schema.org 有幾百種型別,中小企業不用全做。Organization 或 LocalBusiness 放首頁,說明公司是誰、電話、地址、服務地區、社群連結;有實體店面或只服務特定縣市就用 LocalBusiness,純線上服務用 Organization 即可。FAQPage 放在真的有問答區塊的頁面,一題對一題。Article 或 BlogPosting 放部落格文章,標明作者、發布日期、更新日期。

自我檢查

  • Organization:name、url、logo、contactPoint,加上 sameAs 串接社群與外部檔案頁。
  • LocalBusiness:在 Organization 的基礎上補 address、telephone、openingHours、areaServed。
  • FAQPage:頁面上必須真的看得到那些問答,只寫在 JSON-LD 裡會違反 Google 規範。
  • Article/BlogPosting:author 寫真人姓名或組織名稱,dateModified 每次改內容都要跟著改。

4. 再補上 BreadcrumbList 與 Product/Offer

BreadcrumbList 說明這頁在網站架構的哪個位置,例如首頁、服務、SEO 優化。搜尋結果會把這條路徑顯示在標題下方,取代那串又長又難讀的網址。Product 與 Offer 用在商品或服務頁,寫清楚名稱、價格、幣別、供應狀態。服務型網站如果價格是「起」,就用 offers 的 lowPrice 或 PriceSpecification 標明區間,別填一個假的固定價。

自我檢查

  • BreadcrumbList 的 position 從 1 開始,順序要跟頁面上看得到的麵包屑導覽一致。
  • aggregateRating 只能標你網站上真實顯示的評價,沒有評價系統就整個欄位不要放。
  • Offer 要寫 priceCurrency(台灣填 TWD)和 availability,欄位缺了 Google 會直接略過整段。
  • 服務類頁面可以改用 Service 型別搭配 areaServed 與 offers,比硬套 Product 準確。

5. 怎麼加:WordPress 用外掛,自架站寫進模板

WordPress 的 SEO 外掛(Yoast、Rank Math、SEOPress)內建 schema 產生器,開啟後會自動輸出 Organization、Article、BreadcrumbList。要留意的是重複輸出:兩個外掛都開著,或佈景主題本身也附了一套,頁面上就會出現兩段互相矛盾的標記。自架的網站就把這段標記直接寫進頁面模板,欄位跟著頁面資料自動帶入,長期維護成本比每頁手動貼低很多。

自我檢查

  • 只留一套產生器。裝了 Yoast 就把佈景主題內建的 schema 關掉,反過來也一樣。
  • 標題、日期、網址這類會變的欄位一律從資料來源帶入,不要在模板裡寫死。
  • 這段標記放在網頁最上層最穩妥;如果是等頁面載入完才由程式補上去的,機器抓取的當下可能來不及讀到。
  • 用瀏覽器的「檢視網頁原始碼」確認這段標記真的在裡面。開發者工具看到的是程式跑完後的結果,跟機器拿到的那份可能不一樣。

6. 怎麼驗證:三個工具,各看不同的事

貼上去之後一定要驗。Google 的複合式搜尋結果測試看的是「Google 認不認、會不會給你複合式外觀」;Schema.org Validator 看的是「語法和詞彙有沒有寫錯」,包含 Google 不支援但語法正確的型別;Search Console 的「複合式搜尋結果」報表則是實際抓取後的結果,會列出無效項目與警告。三個工具的答案不一樣是正常的,各自檢查的層面不同。

自我檢查

  • 複合式搜尋結果測試:可以測線上網址,也可以直接貼原始碼測還沒上線的版本。
  • Schema.org Validator:語法層級檢查,Google 不支援的型別要在這裡才看得出問題。
  • Search Console 的複合式搜尋結果報表:上線後隔一兩週回來看,錯誤修完記得按「驗證修正」。
  • 錯誤一定要修,警告是建議欄位,補上通常會讓呈現更完整。

7. 常見錯誤,以及該有的期待值

最嚴重的錯誤是標記內容跟頁面上看得到的內容對不起來。JSON-LD 裡寫了五題 FAQ、頁面上一題都沒有,或標了 4.8 顆星但站上根本沒有評價功能,Google 把這類情況視為垃圾標記,有機會吃到手動處罰。第二常見的是從網路複製範例卻沒改網址和名稱,整段指到別人的網站。期待值也要講清楚:標記做對了,Google 仍然自行決定要不要顯示複合式搜尋結果,同一頁今天有星等、下週消失是常態。

自我檢查

  • 標記裡的每個欄位,都要能在頁面上找到對應的可見內容。
  • 複製範本後逐欄檢查網址、名稱、標誌、電話有沒有換成自己的。
  • dateModified 要跟著內容更新,長期停在兩年前的日期,對搜尋和 AI 引擎都是負分。
  • 別標「希望有」的東西:沒有評價就不要放 aggregateRating,沒有辦活動就不要放 Event。
  • 把它當成降低機器誤解的工具,排名歸排名,那要靠內容品質、技術體質和外部連結。

結構化資料的導入成本很低,一次做對之後幾乎不用再動,剩下的維護就是日期和價格跟著內容改。它不會把排名往上推,但會讓搜尋引擎和 AI 引擎少猜幾次。對中小企業來說,先把首頁的 Organization、文章的 BlogPosting、常見問題頁的 FAQPage 這三個補齊,就已經涵蓋大部分效益。

常見問題

加了結構化資料,網站排名會變好嗎?
Google 官方說明結構化資料不是排名因子。它的作用是幫搜尋引擎理解頁面內容、決定要不要給你複合式外觀。有些網站在加完之後點閱率上升,那來自搜尋結果版面變大,跟排序位置無關。
WordPress 裝了 SEO 外掛,還需要自己寫 JSON-LD 嗎?
多數情況不用。Yoast、Rank Math 這類外掛已經會自動輸出 Organization、Article、BreadcrumbList。需要手寫的是外掛沒涵蓋的型別,例如特定的 Service、Course,或有價格區間的客製 Offer 結構。
為什麼我的頁面驗證通過了,搜尋結果還是沒出現 FAQ 展開?
驗證通過只代表標記寫對,顯示與否由 Google 決定。近年 Google 大幅限縮 FAQ 複合式結果的顯示範圍,一般商業網站多半已經看不到那個展開箭頭。標記仍然值得留著,AI 引擎和搜尋系統照樣讀得到那份問答。

延伸閱讀