將 WordPress 媒體庫分離至 Google Cloud Storage

WordPress Google Cloud Storage

把媒體庫分離到雲端空間的文章,我已寫過好幾篇,例如 WP Offload S3 Lite 外掛來儲存 WordPress 媒體庫;這一篇將提供另一個選擇,介紹如何將 WordPress 網站上的媒體庫分離到 Google Cloud Storage,以及有選擇使用 Google Cloud Storage 服務或用 CDN 提供服務。

Google Cloud Storage 只是 Google Cloud Platform 眾多產品和服務的一小部分,由於 Google 龐大的基礎架構以及它們處理大量存儲的實例,因此它們能夠提供非常低的存儲成本,會比 WordPress 主機低得多。

通常,將大量的圖片或影音存放在雲端空間,還可以讓你的 WordPress 網站遷移、備份會變得容易;在我的代管網站中 (Kinsta),如果網站使用空間超出 3G 容量後,我都會建議客戶將媒體庫分離到 Amazon S3 或 Google Cloud Storage 上。

自動將大文件或圖片分離到 Google Cloud Storage 是節省網站空間的簡便方法!👍

目錄:

Google Cloud Storage 與 Google Cloud CDN

Google Cloud Storage 與 Google Cloud CDN 是不一樣的服務,請勿將這兩個服務混淆。

  • Google Cloud CDN 內容傳輸網路 (CDN) 專為加快媒體傳輸速度而設計。
  • Google Cloud Storage 專為大容量存儲解決方案而設計。

由於 Google Cloud Storage 使用所謂的 多區域存儲,因此可以幫助您加快網站訪問速度,也就是說你的 Google Cloud Storage 內容存儲在該區域內的多個位置並從該位置傳送 (類似於 CDN),它甚至使用相同的邊緣快取技術。

但是,需要特別注意的是,這不是全球性的,並且可能比不上真正的 CDN 服務商的解決方案。

Google Cloud Storage 可讓你有三個區域之間進行選擇:

  • 亞太地區
  • 歐洲聯盟
  • 美國

Google Cloud Storage 的定價

如果你從沒使用過 Google 雲端平台,可以註冊為新客戶,Google 提供 12 個月的 300 美金免費試用。你可以先測試 Google Cloud Storage 的服務是否適合你,如果覺得好用,免費期間過了,可以再支付費用繼續使用下去。

這裡,我無法告訴你真正的使用價格,請到 google 網頁查看 免費試用版常見問題解答 和 Google Cloud Storage 定價

Google Cloud Platform免費試用

WP-Stateless 設定

將 Google Cloud Storage 與 WordPress 媒體庫的整合第一個選擇是建議使用免費的 WP-Stateless 外掛,該外掛是由 Usability Dynamics 團隊開發的

該外掛在將圖片上傳到媒體庫時,會將圖片從 WordPress 網站自動複製到 Google Cloud Storage,然後,它提供了兩種不同的模式,例如:在本機中備份媒體庫,或是刪除 WordPress 媒體庫圖片並從 Google Cloud Storage 提供服務。

WP-Stateless WordPress plugin

這個外掛享有很高的聲譽,並且正在積極維護和更新,它目前有 6,000 多個使用安裝,其中 5 星評級達到 5 分。

它還提供了與以下第三方外掛的官方相容性:

  • Easy Digital Downloads
  • Imagify Image Optimizer
  • ShortPixel Image Optimizer
  • WPForms
  • WP Smush
  • Advanced Custom Fields Image Crop Addon
  • SiteOrigin Widget Bundle
  • SiteOrigin CSS
  • Gravity Forms
  • WPBakery Page Builder

Step 1

要安裝免費的 WP-Stateless 外掛,您可以從 WordPress repository 下載,也可以在 WordPress 控制台「安裝外掛」搜尋外掛「WP-Stateless」,點一下「立即安裝」並啟用。

Install WP-Stateless WordPress plugin

Step 2

點擊「Begin Setup Assistant」,或者,你可以按照他們的 手動設定說明操作

WP-Stateless setup

Step 3

點擊「Google Login」,你先要有一個 Google 帳號與你的要使用的網站產生一個關聯性,並同意許可請求;如果您不想提供對 Google 帳號的訪問權限,則可以使用 手動設定

WP-Stateless Google login

Step 4

點取「允許」,讓其查看和管理 Google Cloud Platform 服務的數據,注意:使用者登入過程完成後,不會保留任何 tokens 或造訪憑據。

Google account permissions request

Step 5

WP-Stateless 開始將存儲在 WordPress 媒體庫的圖片及文件設定在  Google Cloud project 和存儲桶。

  • Google Cloud Project:每個 Google Cloud Bucket 都包含在一個專案中,你可以創建一個新專案,也可以從現有專案中選擇一個。
  • Google Cloud Bucket:所有的 WordPress 媒體庫都存儲在存儲桶中,您可以創建一個新的存儲桶,也可以從現有存儲桶中選擇一個。
  • Google Cloud Bucket Multi-Regional Location:你新創建的存儲桶將配備多區域存儲類別,選擇與你的網站的造訪者最接近的區域。
  • Google Cloud Billing:如果你還沒有計費帳號,請點取按鈕進行設定。(Google 會綁定你的信用卡)

重要提示:如果你想為 Google Cloud Storage 使用自己的自定義域名或 CDN URL,請確保將存儲桶命名為與 CDN 域名網址完全相同的名稱。
例如名稱:gcs.yourdomain.com
它會給您有關字符的警告,可以先不用理會它,網址形式的命名是允許的。

WP-Stateless Project and Bucket

WP-Stateless 的預設 Google Cloud Bucket 的名稱為 Stateless-yourdomain-com,如果你想使用子域名名稱來當作儲存桶的名稱,如:gcs.yourdomain.com。

你必須先要在 Google search-console 中驗證你的子域名,驗證通過後,才可以使用此子域名為 Google Cloud Bucket 名稱。

設定完以上所有內容後,請點擊「Continue」。然後,你應該看到所有設定均正確。

WP-Stateless setup

WP-Stateless 外掛設定

您可以在「媒體」設定的選單找到 WP-Stateless 外掛的「Stateless Settings」,你需要設定所需的模式。

  • Disabled:停用 Stateless Media.
  • Backup:Google Cloud Storage 只是當備份媒體庫使用
  • CDN:將媒體庫文件複製到 Google Cloud Storage 並直接使用 Google CDN 提供服務;注意:您不能同時使用第三方的 CDN 服務,您只能選擇一個 CDN 服務。
  • Stateless:僅使用 Google Cloud Storage 存儲桶提供媒體庫圖片、文件,媒體庫的圖片、文件不會儲在本機。此選項將為您節省最多的硬碟空間。
  • File URL Replacement:使用 Google Cloud Storage 網址替換本機媒體庫圖片的網址 (URL)。此設定不會修改你的資料庫。
WP-Stateless mode

擔心之前的媒體庫的圖片如何上傳到 Google Cloud Storage bucket ?

不用擔心,WP-Stateless 外掛具有同步更新功能,可以將使用該外掛之前的圖片同步上傳,您也可以隨時從 Google Cloud Storage bucket 下載 WordPress 上傳的圖片,如下圖示。

Google Cloud Storage WordPress bucket folders

WP-Stateless 其他設定

  • Cache-Control:預設認情況下,它設置為:public, max-age=36000, must-revalidate,可以根據你的網站需求改變它。
  • Delete GCS File:刪除 WordPress 媒體庫中的文件,也同步刪除 Google Cloud Storage (GCS) 中的文件,啟用此選項。
  • File URL and Domain:用你自己的自定義域名替換預設的 GCS 域名,這將需要先設定你的 CNAME;請注意:存儲桶名稱和自訂的域名必須完全相同,根據 Google 說明文件,自定義域名不支援 HTTPS,但經過測試後是可以正常運行。
  • Organization:將上傳的檔案建立以年份及月份命名的資料夾。
  • Cache Busting::在圖片、文件名稱前添加一組隨機的數字和字母。(在 Stateless 模式是無作用)
WP-Stateless additional settings

您上傳到 WordPress 媒體庫的圖片就會自動複製到 Google Cloud Storage,但是,因之前已經上傳過的圖片,也要上傳到 GCS,所以,你將要執行批量同步上傳。

在 WP-Stateless 的 Sync 的設定中,請選擇第一個選項:

  • Regenerate all stateless images and synchronize Google Storage with local server
WP-Stateless sync

注意:執行此選項會因你的媒體庫的圖片多寡,同步的時間而不一定。

補充說明

WP-Stateless 的設定模式常用到有 CDN 和 Stateless,要選擇哪一種好?

  • CDN:這個模式在媒體庫和 GCS 上都會存放圖片,對網站空間來說,並不會有幫助;但有一個好處是某一天不想使用 GCS 了,停用該外掛後,網站圖片還是會正常顯示。
  • Stateless:使用這個模式要注意,上傳的圖片不會存在本機的媒體庫,是直接就傳入 GCS 中,這個模式才能真正的節省你的網站空間。

自訂子域名

如果你想要用自訂的子域名替換 GCS 的域名 (storage.googleapis.com),這需要配置 CNAME 別名,將你的子域名指向 storage.googleapis.com,但是不支援 HTTPS。

但有參個方法可以實現:

如果你有不一樣的方式,歡迎回覆留言告訴我。


Photo by Kama Tulkibayeva on Unsplash

Related Articles

Responses

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