SEO GUIDE
網站專欄 Q & A
站內優化

缺貨/下架商品 SEO 處理|301、410、Product Schema 完整教學

電商網站每天都會遇到商品缺貨、季節性下架、永久停產三種情況。許多店家直接把頁面刪除回傳 404、或全部 301 轉址到首頁,結果不是讓搜尋引擎以為網站出問題,就是把多年累積的關鍵字權重一次蒸發。本文整理三種情境的判斷邏輯、Product schema availability 屬性的正確更新方式、補貨通知如何加分 SEO,以及季節性商品的處理建議,讓您在 AI 搜尋時代仍能保住既有自然流量。

一、為什麼缺貨頁面處理不當會傷 SEO

商品頁是電商網站最有 SEO 價值的頁面類型。它通常包含明確的長尾關鍵字(例如「無線藍牙耳機 降噪 IPX5」)、累積了使用者評論、可能被外部部落格或論壇引用,也是 Google Shopping、AI Overviews、Perplexity 等搜尋介面回答購物意圖時會挑選的素材來源。

當這類頁面突然消失或被粗暴轉址,至少會帶來四種損失:

  • 原本排名前三的長尾關鍵字一夜歸零,未來補貨後也很難回到原位
  • 外部連結指向 404 頁面,連結權重無法傳遞給網站其他頁面
  • Googlebot 浪費抓取預算在重複確認失效 URL,新商品反而遞延被索引
  • AI 搜尋引擎抓不到正確的庫存狀態,繼續向使用者推薦您已下架的商品,造成體驗落差
核心觀念:缺貨頁面的 SEO 處理,本質上是回答兩個問題:這個商品還會回來嗎?這個 URL 還有沒有價值?不同的答案組合對應不同的處理方式,沒有「一招打天下」的標準答案。

二、三種情境的差異:暫時缺貨、商品下架、永久停產

SEO 處理之前,要先把商品狀態分類清楚。實務上常見的三種情境如下:

暫時缺貨
商品仍在販售,只是當下沒庫存。可能等廠商出貨、補進新批號,預期幾天到幾週內會回補。例如熱銷的鞋款、預計補貨的保養品。
商品下架
這個品項不再賣了,但有相近替代品。例如某型號手機改賣下一代、某口味餅乾停產但同品牌出新口味。
永久停產
品項永久退場,且沒有任何替代品。例如代理權結束、原廠停止生產、自有品牌完全終止某條產品線。

三者的差別不只在「商品本身的狀態」,更在於這個 URL 對使用者與搜尋引擎還有沒有意義。有意義就留,沒意義就清,這是後續所有決策的基礎。

判斷時要同時看「商品狀態」與「URL 價值」

即使商品永久停產,如果該頁面還有穩定的自然流量、外部反向連結、或排名良好的長尾關鍵字,就不能直接刪除。反過來,即使商品只是暫時缺貨,但頁面從來沒有人來、也沒有連結,就不需要特別保留優化。

判斷流程:先查 Google Search Console 的「成效報告」與「連結報告」,看該 URL 的曝光次數、點擊數、外部連結數。再決定要走保留、轉址、或徹底移除哪條路。

三、決策樹:什麼時候保留、什麼時候 301、什麼時候 410

把上述「商品狀態」與「URL 價值」交叉,可以整理成一張清楚的對照表:

情境 建議處理 HTTP 狀態 理由
暫時缺貨(會回補) 保留頁面,標示「補貨中」 200 OK URL 還會回來,刪掉等於放棄既有排名
下架但有相近替代品 301 轉址到替代品或子分類 301 把累積的權重與外部連結傳給新頁面
下架但只有部分相似的商品 301 轉址到相關分類頁 301 避免直接落到首頁造成 soft 404
永久停產且有大量流量/反向連結 保留頁面,改寫成「停產說明」 200 OK 保留 SEO 資產,並用內容引導到其他產品
永久停產且無流量、無連結 直接 410 移除 410 Gone 明確告知搜尋引擎此頁不再存在,加速去索引
商品被駭客或惡意建立的 URL 立即 410 410 Gone 讓 Googlebot 停止重訪,節省抓取預算

410 與 404 的差別:訊號明確度不同

很多人以為 410 與 404 沒差,反正使用者看到的都是「找不到頁面」。但對搜尋引擎來說,這兩者傳達的確定性不同。Google 對 404 的解讀是「這頁可能還會回來」,所以會重複回訪確認;對 410 的解讀則是「站長明確告訴我這頁永遠不會回來」,會更快將其從索引中移除。

Google 官方雖然表示兩者在排名上幾乎沒有差異,但在大型網站的抓取效率上,410 能顯著減少 Googlebot 對失效 URL 的重複回訪。對中小電商來說,如果只有少數頁面要清,404 與 410 差異不大;但如果一次要清掉幾十、幾百個永久停產品項,建議優先用 410。

不要做的事:把所有下架商品一律 301 到首頁。Google 會將大量「主題不相關的 301」判定為 soft 404,等同於沒做轉址。301 必須轉到主題相關的頁面(替代品、同類分類)才有 SEO 效果。

301 轉址要轉到「最接近的替代品」

301 的核心邏輯是把使用者意圖延續下去。如果舊頁面是「iPhone 14 Pro 256GB」、新頁面應該是「iPhone 15 Pro 256GB」或至少是「iPhone 系列」分類頁。轉到完全無關的頁面(例如首頁、最熱門商品、廣告專區)只會讓使用者跳出、Google 判定為低品質轉址。

四、Product schema 的 availability 屬性怎麼更新

如果您的商品頁有 Product 結構化資料(Schema),availability 屬性必須與真實庫存同步。值不一致會讓 Google Search Console 與 Rich Results Test 出現警告,嚴重時會失去搜尋結果中的價格、庫存豐富資訊片段。

availability 的合法值與適用情境

Schema.org 定義的 ItemAvailability 列舉值(必須用完整 URL 格式,例如 https://schema.org/InStock,不是純字串「In Stock」):

availability 值 適用情境 Google 是否支援
InStock 有庫存,正常販售 支援
OutOfStock 當下無庫存,但商品仍在販售(暫時缺貨) 支援
BackOrder 接受訂單但需等待補貨後出貨 支援
PreOrder 新品預購,尚未正式上市 支援
Discontinued 商品永久停產,不再販售 支援
SoldOut 已售完且不會再進貨(例如限量品) 部分支援,建議用 OutOfStock 或 Discontinued 替代
LimitedAvailability 庫存有限,即將售完 部分支援
容易踩雷:許多電商系統會把「暫時缺貨」誤標成 PreOrder。根據 Google 官方說明,PreOrder 只能用於尚未上市的新品預購,不可用於既有商品的補貨等待。既有商品缺貨應該用 OutOfStock,若已接受預付訂單則用 BackOrder

實際 JSON-LD 範例:暫時缺貨

JSON-LD <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Product", "name": "無線藍牙耳機 NX-200", "image": "https://www.example.com.tw/img/nx200.jpg", "sku": "NX-200-BLK", "brand": { "@type": "Brand", "name": "Newscan" }, "offers": { "@type": "Offer", "url": "https://www.example.com.tw/products/nx200", "priceCurrency": "TWD", "price": "2980", "priceValidUntil": "2099-12-31", "availability": "https://schema.org/OutOfStock", "itemCondition": "https://schema.org/NewCondition" } } </script>

實際 JSON-LD 範例:永久停產但保留頁面

JSON-LD <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Product", "name": "無線藍牙耳機 NX-100(已停產)", "image": "https://www.example.com.tw/img/nx100.jpg", "sku": "NX-100-BLK", "offers": { "@type": "Offer", "url": "https://www.example.com.tw/products/nx100", "priceCurrency": "TWD", "price": "0", "availability": "https://schema.org/Discontinued" } } </script>
同步機制建議:availability 屬性應該由後端庫存系統自動產出,不要靠人工手動改 HTML。WooCommerce、Shopify、Magento 等主流平台都會根據庫存狀態自動填入 InStock 或 OutOfStock,但 BackOrder、Discontinued 等較細的狀態可能需要額外設定或外掛協助。

價格也要一併處理

當商品永久停產時,建議把 price 改為 0 或刪除整個 offers 區塊,避免 Google 在搜尋結果中顯示一個無法購買的價格,誤導使用者點擊。priceValidUntil 也要更新到未來日期,否則 Google 會在驗證工具中跳警告。

五、補貨通知功能:留住流量也加分 SEO

對「暫時缺貨」的商品,最大的浪費就是使用者進來、看到沒貨、然後永遠離開。一個簡單的「補貨通知」功能,可以同時改善使用者體驗與 SEO 訊號。

補貨通知對 SEO 的三個好處

  • 降低跳出率,提升停留時間 使用者輸入 Email 訂閱、瀏覽推薦商品、查看評論等行為都會延長頁面停留時間。Google 雖然不直接把停留時間當排名因素,但這些行為訊號是優質頁面的間接指標。
    某美妝品牌在缺貨頁加上補貨通知後,平均停留時間從 18 秒提升到 47 秒,跳出率降低 22%。
  • 蒐集第一方資料,後續再行銷 願意留下 Email 等補貨通知的人,是高購買意圖客戶。即使這個商品最後沒回補,您也獲得了可以推薦同類商品、新品上市、會員折扣的精準名單。
    台灣某戶外用品店家統計:補貨通知名單的後續轉換率,是一般電子報名單的 4.7 倍。
  • 告訴搜尋引擎這個頁面仍有商業價值 當頁面持續有互動行為(訂閱、加入收藏、社群分享),Googlebot 會更頻繁地回訪,補貨後的 InStock 狀態變更也能更快被索引。
    電商實驗顯示,加裝補貨通知的商品頁,補貨後重新出現在 Google 搜尋結果的時間從平均 7 天縮短到 2 天內。

補貨通知頁面的設計重點

  • 明確標示「目前無庫存,預計補貨時間:兩週內」這類具體資訊,而不是只寫「缺貨中」
  • Email 輸入欄要顯眼,搭配「補貨第一時間通知您」的明確說明
  • 下方放 3 到 5 個相關推薦商品,給不想等的使用者另一條出路
  • 保留原本的商品描述、評論、規格表,這些是搜尋引擎判斷頁面價值的核心
  • 結構化資料維持完整,僅將 availability 改為 OutOfStock
實務做法:台灣中小電商若不想自建補貨通知系統,可整合 Klaviyo、Mailchimp、Omnisend 等 Email 行銷工具的「Back in Stock」模組,或直接用 LINE 官方帳號的「再行銷」功能蒐集名單。

六、季節性商品的特殊處理

季節性商品是電商最容易處理錯的類型。例如年底熱賣的暖暖包、夏天才賣的防曬乳、聖誕節限定的禮盒——這些商品每年只賣固定一段時間,其餘月份「沒貨但會再來」。

為什麼季節性商品不該下架

季節性商品頁通常累積了多年的 SEO 權重。例如「防曬乳 SPF50 推薦」這類查詢,從第一年累積到第三年可能已經排在 Google 前 5 名。如果非銷售季就刪掉、明年再重建,等於每年都從零開始。

  • 保留 URL,全年不動 URL 一旦上線就維持永久存在,不論銷售季與否。這是最重要的原則。
    URL 例如 /products/sunscreen-spf50-2024 容易過時,改用無年份的 /products/sunscreen-spf50,每年只更新內容。
  • 非銷售季標示 OutOfStock,並寫明回歸時間 availability 改為 OutOfStock,頁面上方明確顯示「本商品預計每年 4 月上架、9 月下架」,給使用者明確期待。
    補一句「想第一時間收到 5 月新品上架通知,請輸入 Email」,把流量轉成名單。
  • 在銷售季前 1 到 2 個月就更新 提前把 availability 改回 InStock、補上當季的新規格與圖片,給 Googlebot 時間重新索引。
    暖暖包若 11 月開賣,建議 9 月就先把頁面準備好、availability 標 PreOrder 或 BackOrder,到 11 月正式變 InStock。
避免年份寫進 URL:URL 若寫成 /products/sunscreen-2024,明年補 2025 版時就會出現「舊版年份的頁面要不要砍」的兩難。從一開始就用無年份的 URL,每年原地更新內容,是季節性商品的最佳實務。

單品 vs 系列頁的處理差異

如果是「年度限定款」這種每年款式都不同的商品(例如「2025 聖誕禮盒」與「2026 聖誕禮盒」是完全不同的商品),可以採取雙層架構:

  • 主分類頁 /collections/christmas-gift:永久保留,全年累積 SEO 權重
  • 單品頁 /products/christmas-gift-2025:銷售季結束後可選擇保留(內容改為「2025 年度回顧」)、或 301 到主分類頁
  • 新品上架時,從主分類頁加入連結,把權重傳給新單品頁

七、常見錯誤:這些做法會讓您損失流量

下面整理台灣電商最常犯的處理錯誤:

  • 把所有下架商品 301 到首頁 這是最常見的錯誤。把無關的舊商品全部導向首頁,Google 會判定為 soft 404,301 失去傳遞權重的效果。改善方式:每個 301 都應對應到主題相關的替代品或子分類頁,沒有相近替代品就改用 410。
  • 缺貨頁面直接回傳 404 暫時缺貨的商品如果回 404,等於告訴 Google「這頁不存在了」,原本的排名會逐步流失。改善方式:暫時缺貨應該保留頁面回 200 OK,availability 改為 OutOfStock,加上補貨通知功能。
  • Product schema 的 availability 沒跟著庫存變動 商品已經缺貨好幾週,但 Schema 還是 InStock,Google Search Console 會跳出警告,嚴重時失去 Rich Results 顯示資格。改善方式:availability 必須與後端庫存即時同步,這部分要由開發人員或電商平台外掛協助處理。
  • 用 PreOrder 標示「補貨中」 PreOrder 是「新品預購」專用,不是給既有商品的補貨等待使用。改善方式:既有商品缺貨用 OutOfStock,若已開放預付訂單、補貨後出貨則用 BackOrder。
  • 在 URL 裡寫死年份或季節 /products/winter-jacket-2024 這種 URL 每年都要重建一次,永遠累積不到 SEO 權重。改善方式:URL 一律使用無時間戳的形式(/products/winter-jacket),每年原地更新內容。
  • 永久停產商品仍標 InStock 而沒人發現 使用者搜尋進來、發現買不到、留下負評,AI 搜尋引擎也會持續推薦這個「死掉的商品」。改善方式:建立例行的「庫存與 Schema 一致性檢查」流程,每月用 Screaming Frog 或 Google Search Console 的「商品搜尋結果」報表抽查。

結語:把缺貨頁面當資產而不是垃圾

缺貨與下架商品的 SEO 處理,本質上是資源分配與訊號傳遞的問題。處理得當,過去累積的關鍵字權重可以延續、補貨後快速回到原排名、AI 搜尋引擎也能持續推薦您的商品;處理不當,則是把每一個下架動作都變成 SEO 的小型災難。

規劃下架流程前,可以用下面五個問題自我檢查:

  • 這個商品是暫時缺貨、有相近替代品的下架、還是永久停產?
  • 這個 URL 過去 90 天有多少自然流量?有沒有外部反向連結?
  • 301 的目的地是「主題相關」的頁面,還是隨便丟到首頁?
  • Product schema 的 availability 屬性,與真實庫存狀態是否同步?
  • 如果這個商品三個月後可能會回來,現在的處理方式有沒有保留復活空間?
核心結論:暫時缺貨保留並標示、有替代品的下架走 301、永久停產且無價值走 410,是三條最基本的決策路徑。再搭配 Product schema 同步、補貨通知、季節性商品的無年份 URL,整個電商 SEO 的「商品生命週期管理」才完整。若您想進一步了解相關技術,可以參考新視野 SEO 教學指南關於 Redirect 與 HTTP 狀態碼的章節。

常見問答 FAQ

缺貨商品到底要 301 還是 410,怎麼判斷?
判斷的核心是「這個商品是否有相近替代品,以及這個 URL 是否還有 SEO 價值」。如果有相近替代品(例如新版型號、同系列下一代),建議走 301 轉址到替代品頁,把累積的權重與外部連結傳給新頁面。如果商品永久停產、沒有任何替代品,且該 URL 沒有顯著流量或反向連結,就走 410 Gone 直接告訴搜尋引擎這頁不再存在。絕對不要把所有下架商品一律 301 到首頁——Google 會將大量「主題不相關的 301」判定為 soft 404,等於沒做轉址。如果商品永久停產但仍有穩定流量、外部連結或排名良好的長尾關鍵字,最佳做法是保留頁面、改寫成停產說明並引導到其他商品,這樣才能保留 SEO 資產。
暫時缺貨的商品頁要不要做 noindex?
不建議。暫時缺貨的商品頁應該保留 200 OK、維持可被索引狀態,僅把 Product schema 的 availability 改為 https://schema.org/OutOfStock。如果加了 noindex,搜尋引擎會把這個頁面從索引中移除,等補貨後再拿掉 noindex,重新被索引、累積排名又要花好幾週甚至幾個月。短期缺貨(幾天到幾週)幾乎沒有任何理由要 noindex。例外情況是:如果商品確定「永久不會回補」、且當下還不確定要不要 301 或 410,可以暫時用 noindex 把它從搜尋結果撤下,等決定處理方式後再做最終調整。但這是過渡手段,不應長期使用。長期掛 noindex 會浪費 Googlebot 抓取預算,建議盡快做出 301 或 410 的決定。
Product schema 的 availability 屬性沒更新會怎樣?
會出現兩個問題。第一是搜尋結果的呈現失準:Google 會根據 Schema 中的 availability 在搜尋結果中顯示「In stock」「Out of stock」標籤,如果標 InStock 但實際無貨,使用者點進來會失望離開,跳出率上升,長期下來 Google 會降低該頁面的搜尋排名。第二是 Search Console 警告:Google 的 Rich Results Test 與 Search Console 會跳出「結構化資料不一致」警告,嚴重時會失去 Rich Snippets 的顯示資格,搜尋結果中的價格、評分、庫存資訊都消失。最佳做法是讓 availability 由後端庫存系統自動產出,不要靠人工改 HTML。WooCommerce、Shopify、Magento 等主流平台都支援自動同步,台灣中小電商若用自建系統,務必把這個機制納入開發規格。
季節性商品(例如年底才賣的暖暖包)非銷售季怎麼處理?
季節性商品最重要的原則是:URL 一律保留,全年不動,僅更新內容與庫存狀態。非銷售季時把 availability 改為 OutOfStock,頁面上方明確標示「本商品每年 11 月開賣、隔年 3 月下架」,並加上補貨通知功能,把想等開賣的使用者轉成 Email 名單。銷售季前 1 到 2 個月就要先更新頁面:補上當季的新規格、新圖片、新評論,把 availability 改回 InStockPreOrder,給 Googlebot 時間重新索引。絕對要避免的是「非銷售季把整個頁面刪掉、明年再重建」——這樣每年都從零累積 SEO 權重,永遠排不到前幾名。另外,URL 命名也不要寫死年份(不要用 /sunscreen-2024),使用無時間戳的 URL(/sunscreen-spf50)才能長期累積權重。
補貨通知功能對 SEO 真的有幫助嗎?
有,但不是直接的排名因素,而是透過行為訊號間接影響。Google 並沒有把「補貨通知訂閱數」當作排名因素,但補貨通知功能會帶來幾個正向訊號:使用者填 Email、瀏覽推薦商品、查看評論的時間延長,跳出率下降,停留時間提升——這些行為訊號是優質頁面的間接指標。實務統計顯示,加裝補貨通知後,商品頁的平均停留時間可提升 2 到 3 倍,跳出率降低約 20%。更直接的好處是蒐集第一方資料:願意留 Email 的人是高購買意圖客戶,後續再行銷的轉換率通常是一般電子報名單的 4 到 5 倍。對台灣中小電商來說,補貨通知不只是 SEO 工具,更是把缺貨期的流量資產化的關鍵機制——別讓使用者來了又離開,至少留下聯絡方式。
大量商品要一次下架時,怎麼批次處理才不會傷 SEO?
先做三步驟分類盤點,不要無差別批次處理。第一步:匯出全部待下架 URL 清單,從 Google Search Console 撈每個 URL 過去 90 天的點擊、曝光、外部連結數。第二步:依「價值高低」與「是否有替代品」分四群:(A)高流量+有替代品 → 301 到替代品;(B)高流量+無替代品 → 保留頁面改寫為停產說明;(C)低流量+有替代品 → 301 到子分類頁;(D)低流量+無替代品 → 直接 410。第三步:分批執行而不是一次全做,建議一週處理 50 到 100 個 URL,讓 Googlebot 有時間消化變動,並透過 Search Console 觀察索引覆蓋率是否異常。批次完成後 4 到 6 週內檢查 Search Console 的「網頁索引」報表,確認 410 已被去索引、301 已被識別。一次處理上千個 URL 會讓 Google 認為網站發生大規模問題,可能短期影響整站排名。
AI 搜尋(ChatGPT、Perplexity、Google AI Overviews)會抓到缺貨資訊嗎?
會,而且 AI 搜尋引擎對庫存狀態的敏感度比傳統搜尋更高。當使用者在 ChatGPT、Perplexity 或 Google AI Overviews 問「推薦一款台製降噪藍牙耳機」時,AI 會抓取網路上各家商品頁的內容、Product schema、評論等資訊來合成答案。如果您的 availability 沒同步、商品實際已停產但 Schema 還是 InStock,AI 就會持續推薦這個買不到的商品,造成使用者體驗落差,長期下來會被 AI 搜尋引擎標記為「資料不可靠」,未來推薦頻率下降。實務建議:把 Product schema 的庫存同步當成 AI 搜尋時代的基本功。除此之外,停產商品頁如果保留,內容中也要明確寫出「本商品已於 X 年 X 月停產,建議改購 Y 系列替代品」這類人類與 AI 都能理解的清楚說明,讓 AI 在推薦時能順帶提供正確的替代方案。
延伸閱讀與資料來源:

歡迎推廣本文,請務必連結(LINK)本文出處:新視野網頁設計公司