賣電子書、線上課程講義、設計素材或軟體授權檔,最怕兩件事:一是顧客付了錢卻收不到下載連結,二是一份檔案被買家轉傳到整個社群免費流通。WooCommerce 數位下載商品的設定,正是用來同時解決這兩件事——讓付款的人立刻拿到檔案,又能用下載次數與到期天數把流通範圍框住。
這篇會把整個流程拆開講清楚:先分清「虛擬」與「可下載」兩個勾選框的差別,再進到全站的檔案下載方式與權限設定,接著是單一商品的下載限制與到期天數該怎麼抓,最後談訂單層級的權限管理與檔案防盜連。設定本身不難,難的是知道每個欄位調動之後,顧客那端的體驗與安全性會怎麼變。
「虛擬」和「可下載」兩個勾選框差在哪?
簡單一句話:「虛擬」是指這件商品沒有實體、不需運送;「可下載」是指顧客買完之後能取得一個或多個檔案。兩者是獨立的開關,可以單獨勾,也可以同時勾,組合不同訂單的處理流程也不同。
在編輯商品頁面,把商品類型留在「簡單商品」,右邊就會看到「虛擬」與「可下載」兩個核取方塊:
- 只勾「虛擬」:適合線上諮詢、預約服務、會員資格這類沒有檔案、也不用寄送的商品。勾了之後,運送相關欄位會整個消失。
- 只勾「可下載」:商品本身仍被當成需要交付的項目,但交付方式是檔案下載。這種情況下,訂單通常要等狀態變成「已完成」,顧客才拿得到下載權限。
- 兩個都勾:這是純數位商品(電子書、音樂、軟體授權檔)最常見的設定。WooCommerce 會把這類訂單在付款後自動帶到「已完成」,顧客馬上就能下載,不必等店家手動結單。
這個差異是很多人卡關的根源。如果只勾了「可下載」卻忘了勾「虛擬」,系統會以為還有實體要出貨,訂單停在「處理中」,買家在帳號頁面就看不到下載連結,店家還得手動把訂單改成「已完成」才放行。賣純數位商品,記得兩個一起勾。
全站的「可下載商品」設定要先調哪幾項?
進到「WooCommerce > 設定 > 商品 > 可下載商品」這個分頁,這裡管的是全站所有數位商品共用的交付規則,跟單一商品的限制是兩回事,建立第一件數位商品前先把這裡設定好。重點有三組。
第一組是檔案下載方式,下拉選單有三個選項,安全性與相容性差很大,下一節單獨展開。第二組是存取限制,有兩個核取方塊:
- 下載前需登入:勾了之後,顧客必須登入帳號才能下載。要讓這項生效,必須先關掉「訪客結帳」,否則沒帳號的人結了帳卻被擋在登入牆外。
- 付款後賦予商品下載權限:這是實務上幾乎都要打開的選項。勾了之後,訂單一進到「處理中」狀態(也就是金流確認收到款),顧客就能下載,不必等到「已完成」。賣數位商品搭配少量實體商品時特別有用——買家不用等實體包裹寄達,就能先拿到數位檔。
第三組是檔名附加隨機字串。這個選項預設開啟,會在上傳檔案的檔名後面接一串隨機字元,讓外人更難用猜的方式拼出檔案網址。除非你的上傳目錄已經用其他方式鎖好,否則建議維持開啟。要注意,這個設定只對「之後」上傳的檔案生效,已經上傳過的舊檔不受影響。
強制下載、X-Accel-Redirect、僅轉向,這三種該選哪個?
檔案下載方式決定 WooCommerce 怎麼把檔案交到顧客手上,三種方式在安全性、效能、相容性上各有取捨。
強制下載透過 PHP 把檔案串流給顧客,外人無法靠直接連結繞過權限拿檔。這是預設值,安全性夠,多數中小型商店用它就好。缺點是檔案很大或主機效能偏弱時,下載過程可能逾時中斷;它也需要主機把 allow_url_fopen 這個 PHP 函式設為開啟。
X-Accel-Redirect / X-Sendfile把交付工作交給網頁伺服器(NGINX 或 Apache)直接處理,WooCommerce 只負責驗證權限。檔案受 .htaccess 保護、由伺服器直送,效能與安全性都最好,適合檔案大、流量高的站。代價是主機必須裝有對應的 X-Accel-Redirect 或 X-Sendfile 模組,選之前先跟主機商確認支援與否。
僅轉向(不安全)直接把顧客導向檔案的真實網址。任何拿到那串網址的人都能下載,就算沒登入、沒購買也一樣,買家可以輕易把連結轉傳出去。安全性最低,一般不建議。但有一個情境只能用它:把檔案放在 Google Drive 之類的雲端硬碟時,那些服務往往只接受「僅轉向」這種方式才抓得到檔。
選了「強制下載」或「X-Accel-Redirect」的人,還會看到一個「允許在最後手段時使用轉向模式」的選項。打開後,當首選方式抓不到某個檔案,系統會退回用轉向方式交付。它帶有跟「僅轉向」相同的外洩風險,但在你把檔案分散放在不同平台、首選方式不一定通用時,能避免顧客完全下載不到。
對絕大多數賣電子書、講義、素材的台灣商店,檔案存在自家主機就用「強制下載」;要靠雲端硬碟省主機空間,再考慮「僅轉向」並接受它的風險。
單一商品的下載限制與到期天數怎麼抓?
把全站規則設好後,每件數位商品還能各自設定下載次數上限與到期時間,這兩個欄位藏在編輯商品頁面、商品資料區塊勾選「可下載」之後展開的位置。
勾了「可下載」會多出三個欄位:
- 可下載檔案:點「新增檔案」上傳或貼上檔案網址,一件商品可以放多個檔。建議從這裡上傳,而不是從媒體庫挑既有檔案(原因在下一節說明)。
- 下載限制:顧客最多能下載幾次。留空代表不限次數;填數字(例如
3)代表下載滿三次後連結就失效。 - 下載到期天數:購買後幾天內可以下載。留空代表永久有效;填
30代表購買起算三十天後連結到期。
該怎麼填,取決於你想在「顧客方便」和「防止流通」之間站在哪一邊:
- 追求顧客體驗、檔案不怕外流:兩欄都留空,買了就能無限次、永久下載。適合免費贈品、低單價素材,或你本來就不在意被轉傳的內容。
- 防止帳號共享與轉傳:下載限制設個合理數字。一般人換手機、重灌電腦會需要重抓,設太低(例如只給一次)容易引來客訴,給到三到五次通常是兼顧防護與體驗的區間。
- 限時內容或促銷檔:用到期天數綁一段期間,例如活動限定的講義、有版本更新週期的素材。
到期或次數用完之後,顧客的下載連結就會失效。如果是正當需求(買家換了裝置、檔案不小心刪了),你不必叫他重買,可以到訂單裡手動重新授權,這在下一節會講。
顧客付完款,要去哪裡拿檔案?
數位商品的交付有三個管道,依設定不同而出現:訂單完成頁、訂單通知信、會員帳號的「下載」頁。
顧客結完帳,會收到一封含有下載連結的訂單通知信。如果他在站上有帳號,登入後到「我的帳號 > 下載」也能看到所有買過的可下載檔案,連同剩餘下載次數一併顯示。
連結什麼時候出現,由前面那個「付款後賦予商品下載權限」的設定決定:
- 有勾:訂單一到「處理中」,顧客就能從訂單完成頁、通知信、帳號下載頁三個地方任一處取檔。
- 沒勾:要等訂單狀態變成「已完成」才放行。同時標記為「虛擬」與「可下載」的商品,付款後會自動帶到完成;但只勾「可下載」的商品,得由店家手動把訂單結成「已完成」,顧客才拿得到。
實務上最常見的客訴是「我付了錢卻沒看到下載連結」。先檢查商品有沒有兩個都勾、全站有沒有開「付款後賦予下載權限」,這兩處對了,連結就會準時出現。
訂單成立後,下載權限還能怎麼管?
每一筆含數位商品的訂單,店家都能在後台單獨檢視與調整下載權限,這是訂單層級的控制,比商品設定更細。
打開「WooCommerce > 訂單」點進某筆訂單,往下捲到「可下載商品權限」這一區,會看到這筆訂單能下載哪些檔案、每個檔已經被下載過幾次。從這裡可以做三件事:撤銷某個檔的下載權限、為這筆訂單新增可下載的檔案、或是重新給予已到期或次數用完的權限。買家換裝置要重抓、檔案誤刪要救援,都在這裡處理,不必讓他重新下單。
另外有一個容易踩雷的點:商品檔案改版後,舊買家拿不拿得到新檔,要看你怎麼動它。
- 直接編輯原本那一列檔案(改檔名、改檔案網址,或兩者都改):過去的訂單下載連結會跟著更新指向新檔,而且原本的到期日與剩餘次數維持不變。想把舊買家一起升級成新版本,用這個方式。
- 新增一列檔案:不影響既有訂單,只有「之後」購買的人才拿得到這個新檔。想讓新版只給新顧客、舊買家維持原版,用這個方式。
搞錯這兩種操作,常常導致「想給舊買家更新卻沒給到」,或「不想給的卻全被舊買家抓走」。動手前先想清楚你要的是哪一種。
數位檔案怎麼避免被直接連結盜抓?
數位商品的核心風險是檔案網址外洩後被無限轉傳,WooCommerce 預設就做了幾層保護,但有些環境要自己補強。
第一層是上傳位置。從商品編輯頁上傳的檔案,會被放進 woocommerce_uploads 這個非公開資料夾,預設帶有 .htaccess 保護,外人無法直接存取。反過來,如果你從 WordPress 媒體庫挑檔案,那等於把檔案放進公開目錄——媒體庫存放所有文章與頁面的附件,任何拿到網址的人都能下載。所以賣的數位檔,務必從商品頁上傳,別走媒體庫。
第二層是前面提過的「檔名附加隨機字串」,讓外人沒辦法用猜的方式拼出檔案網址,維持預設開啟即可。
第三層跟伺服器有關。預設的 .htaccess 保護不是在所有主機環境都萬無一失:如果你用的是 NGINX 主機,又選了「X-Accel-Redirect」或「強制下載」方式,需要另外調整伺服器設定才能讓檔案真正受保護,這部分通常得請主機商或工程師協助設定。把檔案放在自家主機、使用「強制下載」、維持隨機字串開啟,對多數商店已經是夠用的基本防線。
要更進一步,下載限制與到期天數就是內容流通的最後一道閘——就算連結被轉傳出去,次數用完或過了期限,那串連結也抓不到東西了。
設定數位下載商品,順序抓對就不會卡
WooCommerce 數位下載商品的整套設定,照「全站規則 → 單品限制 → 交付驗收」的順序走最不容易出錯。先到「設定 > 商品 > 可下載商品」把檔案下載方式、付款後賦予權限、隨機字串這幾項定下來,再回到單一商品把「虛擬」「可下載」兩個框一起勾、上傳檔案、抓好下載次數與到期天數,最後自己用測試訂單跑一遍,確認訂單完成頁、通知信、帳號下載頁都拿得到檔。
防護的力道不在單一設定,而在組合:強制下載擋直接盜連、從商品頁上傳避開公開目錄、下載次數與到期天數限制流通範圍,三者疊起來才完整。設定上線後,記得把第一筆真實訂單也檢查一次下載連結有沒有準時出現,確認流程通了,就能放心讓數位商品自己接單交付。