結構化資料是什麼?台灣店家幫網站加上「在地商家」資料

結構化資料是什麼?台灣店家幫網站加上「在地商家」資料

最後更新:2026/10/13

在 Google 搜尋一家店,有時候搜尋結果旁邊會出現店名、評分、營業時間;搜尋商品,結果裡直接寫著價格和「有現貨」。這些多出來的資訊,有一部分來自網站上的「結構化資料」。

結構化資料聽起來很技術,概念卻很簡單。這篇用白話說明它是什麼、能幫上什麼忙,再教台灣的店家在 WordPress 網站加上最基本的一種:在地商家資料。

不想自己改?把這篇交給 AI

把這篇的網址(或全文)連同下面這段話貼給 AI:

我的網站是 WordPress。我想照下面這篇文章,幫首頁加上「在地商家」的結構化資料。
請先問我:我的店名、地址、電話、營業時間,以及網站有沒有裝會輸出結構化資料的 SEO 外掛(避免重複)。
問清楚之後,再一步一步告訴我:要用哪一段程式碼、貼在哪裡、哪些地方要換成我自己的資料,以及改完怎麼測試。
如果文章的做法不適合我的網站,請直接告訴我原因和替代做法。
文章:(貼上這篇的網址,或整篇內容)

改之前先備份,密碼不要貼給 AI。

給 Google 看的店家名片

人看網頁,看得懂「營業時間:週二到週六 11:00–19:00」是什麼意思。搜尋引擎讀到的只是一串文字,要猜哪一段是地址、哪一段是電話。結構化資料就是用一種固定的格式,把這些資訊另外寫一份給搜尋引擎看:這是店名、這是地址、這是營業時間,不用猜。

格式有好幾種,Google 建議用 JSON-LD:一段放在網頁原始碼裡的資料,訪客看不到,不會影響版面。

先講清楚:它不是排名的加分題

結構化資料能幫 Google 正確理解你的網站,也讓網頁「有機會」在搜尋結果裡顯示得更豐富。但 Google 從來沒有保證加了就一定會顯示,也不會因為你加了就把排名往前排。

而且規則會變。以前很多網站加上「常見問題」的結構化資料,搜尋結果下方就會多出一排可以展開的問答;Google 在 2023 年 8 月宣布,這種顯示方式之後只給知名、具權威性的政府和醫療網站。一般店家加了,網頁還是正常,只是不會再出現那排問答。所以不要把結構化資料當成排名技巧,把它當成「把基本資料寫清楚」就好。

WooCommerce 商品頁已經自動有了

如果你用 WooCommerce 開店,商品頁這部分不用另外做:WooCommerce 會自動在每個商品頁輸出商品的結構化資料,內容包括商品名稱、網址、價格、幣別、有沒有庫存,以及「首頁 > 分類 > 商品」這樣的麵包屑路徑。我們在測試站打開一個商品頁檢查,確實有商品和麵包屑兩種資料,價格寫的是 450、幣別是新台幣、狀態是有庫存。

所以商品這部分要做的,是把商品資料本身填完整:商品圖片、簡短說明、貨號、正確的庫存狀態,結構化資料就會跟著完整。

首頁加上在地商家資料

有實體店面、工作室、教室的店家,可以在首頁加上「在地商家」(LocalBusiness)的資料。把下面這段的內容換成你的店家資料,放進 Code Snippets 這類外掛或子主題(放法見〈WooCommerce 結帳頁改成台灣習慣〉):

// 首頁加上「在地商家」結構化資料(內容要和網站、Google 商家檔案寫的一致)
add_action('wp_head', function () {
    if (!is_front_page()) {
        return;
    }
    $data = [
        '@context'  => 'https://schema.org',
        '@type'     => 'LocalBusiness',
        'name'      => '小島手作皂',
        'url'       => home_url('/'),
        'telephone' => '+886-2-2345-6789',
        'image'     => home_url('/wp-content/uploads/shop.jpg'),
        'address'   => [
            '@type'           => 'PostalAddress',
            'streetAddress'   => '文化路一段 1 號',
            'addressLocality' => '板橋區',
            'addressRegion'   => '新北市',
            'postalCode'      => '220',
            'addressCountry'  => 'TW',
        ],
        'openingHoursSpecification' => [[
            '@type'     => 'OpeningHoursSpecification',
            'dayOfWeek' => ['Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
            'opens'     => '11:00',
            'closes'    => '19:00',
        ]],
    ];
    echo '<script type="application/ld+json">'
       . wp_json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)
       . '</script>' . "\n";
});

幾個欄位說明:電話寫成國際格式,台灣是 +886,區碼前面的 0 拿掉;image 放一張店面或招牌的照片網址;地址拆成路名門牌、區、縣市、郵遞區號;營業時間的星期用英文,不同天不同時間的話,就多寫幾組。如果你的店有更精確的類型,例如餐廳、美髮店、診所,@type 可以換成更具體的類別,Schema.org 網站上查得到完整的清單。

程式用 wp_json_encode 產生資料,不用自己手寫大括號和引號,比較不會因為少一個逗號整段失效。JSON_UNESCAPED_UNICODE 讓中文直接以中文輸出,檢查的時候比較好讀。

網路上也有結構化資料產生器,填表就能產生一段 JSON-LD。不想寫程式的話,可以把產生出來的那段,用佈景主題或外掛提供的「在頁首插入程式碼」功能貼上,效果一樣。

一定要做的事:用 Google 的工具檢查

加好之後,到 Google 的「複合式搜尋結果測試」貼上首頁網址,它會告訴你讀到了哪些資料、有沒有錯誤。另一個工具是 Schema.org 的驗證器(Schema Markup Validator),會列出所有讀到的結構化資料,適合檢查有沒有重複。

重複是很常見的問題。很多 SEO 外掛也會輸出結構化資料,如果外掛已經輸出了一份組織或商家資料,你再加一份,Google 會讀到兩個不同的店家。加之前先用驗證器看一下首頁,已經有的話,直接到外掛的設定裡把資料填完整就好。

最重要的一條規則:結構化資料寫的內容,必須和網頁上看得到的一致。網頁上寫週一公休,結構化資料卻寫週一有營業,這種不一致可能讓 Google 不採用你的資料。

在地店家,Google 商家檔案更重要

說了這麼多,還是要提醒一件事:對有實體店面的店家,搜尋結果右邊那一大塊店家資訊、地圖上的位置,主要來自 Google 商家檔案,不是網站上的結構化資料。結構化資料是輔助,讓 Google 確認「這個網站和那家店是同一個」。店名、地址、電話在網站、結構化資料、Google 商家檔案三個地方寫得一模一樣,效果最好。

如果你想讓網站從結構、內容到搜尋設定都打好基礎,可以先看〈WordPress 網站上線前的檢查清單〉,再看〈IG 帳號不是你的資產〉想想網站要做到什麼。MIMI 專做客製化網頁設計,網站上線時會一起設定好基本的搜尋資料。MIMI 提供台灣網頁設計服務,各縣市的店家都可以用電話、Email 和設計師討論;費用可以先看首頁的製作費用參考,歡迎聯絡 MIMI。

GA4 追蹤電話、Email 和按鈕點擊:WordPress 網站一段程式碼搞定
WordPress 的 wp-content 資料夾可以改名嗎?步驟、會壞掉的地方,和值不值得改

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

我的車
願望清單
最近瀏覽過的
類別