麵包屑是什麼?定義、由來與設計目的
麵包屑(Breadcrumb),又稱「麵包屑導航/路徑導覽列」,是網站常見的階層式導覽設計,通常位於頁面上方,用來顯示使用者目前所在的層級位置。例如:
首頁 > 商品分類 > 子分類 > 商品頁它能讓訪客清楚知道自己在哪裡、可快速返回上一層或首頁;對搜尋引擎而言,麵包屑是結構化的層級信號,能幫助 Google 更容易理解整個網站的內容架構與關聯性。
名稱源自《糖果屋》:主角以麵包屑作為回家路標;網站中的麵包屑亦負責「指引方向」。
麵包屑對 SEO 的 5 大好處(含實務觀察)
- 提升使用者體驗:清楚導覽降低迷路成本;研究顯示清晰導覽可使跳出率平均降低 20% 以上,並提升停留時間。
- 降低跳出、提高黏著:在每頁提供「回分類/首頁」捷徑,讓使用者更願意探索更多內容。
- 強化搜尋引擎理解:以
BreadcrumbList告訴 Google 頁面所屬層級與關聯,加速索引。 - 提升 SERP 呈現與 CTR:正確麵包屑會顯示在標題上方的路徑,提升信任感與點擊率。
- 內部連結與權重傳遞:麵包屑天然形成內部鏈結網,幫助主要分類頁累積權重,強化 Topical Authority。
麵包屑的三種類型與應用(路徑型/屬性型/歷史型)
依導覽邏輯可分為三種:路徑型(Location-based)、屬性型(Attribute-based)、歷史型(History-based)。合理運用能同時提升 UX 與搜尋引擎對 site hierarchy 的理解。
| 類型 | 導覽依據 | 範例 | 適用情境 | SEO 友好度 |
|---|---|---|---|---|
| 路徑型 Location-based | 網站層級(IA) | 首頁 › 分類 › 子分類 › 文章/商品 | 部落格、知識庫、電商 | ⭐⭐⭐⭐(最符合 Google 預期) |
| 屬性型 Attribute-based | 篩選條件/商品屬性 | 女鞋 › 顏色:黑 › 尺寸:38 | 電商 Facet/Filter | ⭐⭐⭐(需控參數與重複內容) |
| 歷史型 History-based | 使用者瀏覽紀錄 | 熱門 › 優惠 › 目前頁 | 旅遊/比價、個人化流程 | ⭐(不適合 Schema 收錄) |
canonical 指回主分類,避免參數頁造成重複內容。Schema.org 無「屬性型麵包屑」類別,BreadcrumbList 應仍輸出「路徑型」層級。
麵包屑設置原則與常見錯誤(設計+層級結構)
核心欄位(BreadcrumbList)
| 欄位 | 說明 | 範例 |
|---|---|---|
Name | 該層顯示名稱,簡潔明確 | 商品分類 |
Item | 對應 URL,每層需可點擊有效 | https://example.com/category |
Position | 層級順序,第一層為 1 | 1 / 2 / 3… |
四大原則
- 名稱清楚:避免「🔥精選」「!」等裝飾詞。
- 每層可點:最後一層通常顯示文字即可,前面層級皆為有效連結。
- 層級控制:建議 3–4 層,最多不超過 5;行動版容易截斷。
- 自然關鍵字:在層級名稱中融入語意詞,提升模型理解。
常見錯誤
| 錯誤 | 問題 | 改善 |
|---|---|---|
| 同名不同鏈 | 兩個「首頁」指向不同 URL | 統一命名與 URL 對應 |
| 同鏈不同名 | 同頁面分別叫「關於我們」「公司簡介」 | 統一名稱規則 |
| 階層漏標 | 缺主分類,導致結構不完整 | 補齊層級關係 |
| 未用標準格式 | 缺 BreadcrumbList 結構 | 使用 JSON-LD |
實務設計與進階考量:層級與國際化
① 路徑長度最佳化:建議不超過 4 層
基於行動 UX 與權重集中度,層級過深會造成截斷與主題稀釋;實務建議控制在 4 層以內。
② 多語網站(i18n)一致性
- 名稱對應語言:
name與頁面語言一致(例:繁中「首頁」/ 英文「Home」)。 - URL 指向正確語言版本:每層
item對應hreflang與語系路徑(/zh-tw/、/en/)。 - 避免重複內容:多語互標
hreflang,canonical 指向同語言主頁。
麵包屑實作教學:WordPress 與 JSON-LD 標記
WordPress:用 Yoast SEO 最快上線
- 安裝外掛:後台 → 外掛 → 搜尋 Yoast SEO → 安裝並啟用。
- 啟用麵包屑:SEO → Search Appearance → Breadcrumbs → 開啟。
- 自訂格式:分隔符(
›/>//)、首頁名稱等。 - 插入至佈景主題:
if ( function_exists('yoast_breadcrumb') ) {
yoast_breadcrumb('<p id="breadcrumbs">','</p>');
}進階:手動加入 JSON-LD(Google 推薦)
JSON-LD 與 HTML UI 解耦,建議以 <script type="application/ld+json"> 注入,維護清晰。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "首頁", "item": "https://example.com/" },
{ "@type": "ListItem", "position": 2, "name": "部落格", "item": "https://example.com/blog/" },
{ "@type": "ListItem", "position": 3, "name": "麵包屑教學", "item": "https://example.com/blog/breadcrumb-tutorial/" }
]
}
</script>BreadcrumbList 是否被正確讀取。| 語法格式 | 對象 | 特點 | 建議 |
|---|---|---|---|
| HTML | 使用者 | 可視導覽列 | UI 呈現 |
| Microdata | 搜尋引擎 | 嵌入 HTML、維護繁瑣 | 不建議新案 |
| RDFa | 搜尋引擎 | 語意豐富、成本高 | 使用率低 |
| JSON-LD | 搜尋引擎 | 以 Script 注入、與 HTML 解耦 | 最佳做法 |
針對 SPA/動態網站的實作挑戰
React/Vue/Angular 等 SPA 只在首次載入輸出完整 HTML;路由切換時 URL 改變但頁面不刷新。此時 JSON-LD 必須動態更新,否則 Google 只會看到初始狀態的 BreadcrumbList。
實作範例(概念):路由後重新注入
function injectBreadcrumbLD(items){
const id = 'ld-breadcrumb';
const old = document.getElementById(id);
if (old) old.remove();
const script = document.createElement('script');
script.type = 'application/ld+json';
script.id = id;
script.text = JSON.stringify({
"@context":"https://schema.org",
"@type":"BreadcrumbList",
"itemListElement": items.map((it, idx) => ({
"@type":"ListItem","position": idx+1,"name": it.name,"item": it.url
}))
});
document.head.appendChild(script);
}
// 例:在 Vue/React Router afterEach 或 onRouteDidChange 中呼叫
router.afterEach((to)=> {
const items = buildItemsFromRoute(to); // 依你的路由回傳 name/url
injectBreadcrumbLD(items);
});行動 UX 與 CWV(FCP/CLS)
- 樣式優先:麵包屑 CSS 建議 內聯 (Inline) 或 預載入 (Preload),確保首次內容繪製(FCP)後版面穩定,符合 CLS 閾值。
- 截斷策略:行動端可做中間折疊(例:首頁 › … › 子分類 › 文章)。
附錄:在 Google Search Console 檢查麵包屑錯誤
- GSC 左側 → 搜尋外觀/強化功能 → 找到 Breadcrumbs 報告。
- 查看警告/錯誤類型(如:缺
item、position重複、URL 無效)。 - 修正後點選 驗證修正,觀察數日是否轉為有效。
提示:若同頁同時存在多組麵包屑標記,請保留單一權威來源(通常為 JSON-LD)。
麵包屑常見問題:麵包屑設計、設定與 SEO 疑難排解
麵包屑導航一定要做嗎?
建議所有層級超過兩層的網站都應設置麵包屑導航。
不僅能讓使用者清楚了解所在位置,也能幫助搜尋引擎理解網站結構。
即使是單層網站(如 Landing Page),也可設置簡易的「首頁 > 頁面」導覽來提升 SEO 完整性。
麵包屑的最後一層要不要加連結?
不建議連結。 如果設定連結,會造成重複連結(Self-referential Link),既不符合用戶體驗,對 SEO 也無實質幫助。
麵包屑要放在哪個位置最合適?
建議放在頁面主標題(H1)上方或麵包屑區塊。
這樣使用者在進入頁面後能立即知道自己位於哪個層級,
同時也方便搜尋引擎快速辨識結構。
💡 在行動版上可將麵包屑縮排或橫向捲動,避免破版。
JSON-LD 要放在哪裡?需要搭配 HTML 嗎?
JSON-LD 可放在 <head> 或 <body> 中任意位置,
不需要與 HTML 麵包屑同步顯示。
若同時存在 HTML 導覽列與 JSON-LD 結構化資料,
搜尋引擎會自動比對兩者的一致性並選擇最適版本。
記得在上線前使用 Rich Results Test 驗證!
麵包屑最理想的層級數是幾層?
建議控制在 3~5 層內。
層級太深不僅影響使用者體驗,也會降低爬蟲索引效率。
若頁面架構過於複雜,建議重新整理資訊架構(IA),
將相近內容歸納在同一主分類下。
麵包屑沒出現在 Google 搜尋結果上,代表設錯了嗎?
不一定。
Google 會依搜尋意圖與頁面品質決定是否顯示麵包屑。
只要標記正確(能通過測試工具),即使暫時未出現,也會在後續索引更新後自動顯示。
可搭配 Search Console「豐富結果報告」追蹤狀態。
結論:小細節,大影響——麵包屑讓網站更有方向
麵包屑導覽不只是視覺輔助,它是 Google 理解網站結構與主題脈絡的關鍵訊號。當你同時落實 JSON-LD、控制層級不超過 4、兼顧 FCP/CLS 與行動體驗時,網站將更容易取得穩定的索引與更高的 CTR。
作者:Roselyn Jou — SEO 專家、網站結構顧問
本文參考:Google Developer Center、Schema.org、Nielsen Norman Group、Baymard Institute。





