使用子網域儲存媒體庫為 WordPress 優化速度

子網域儲存媒體庫為 WordPress 優化速度

如何使用子網域儲存圖片來增加網頁加載的速度? 開啟一個網頁所需的加載時間不僅僅是由您的主機服務器和網絡速度來決定,還有一部分是由你所使用的瀏覽器來決定。

為什麼 ?

因為所有的瀏覽器可以同時對同一個網域進行連接的數量上限,此限制因瀏覽器而異,有的可能低至 6 或甚至高達 17。您可以在 Browserscope 這裡查看瀏覽器列表及其各自的限制。

注意:
Connections Per Hostname 是瀏覽器將對同一個域進行的並發 http 請求的最大數量。為了增加並發連接的數量,可以在不同的域中託管資源 (例如:圖片)。但是跨越所有域,您不能超過 Max Connections (瀏覽器將打開的最大連接數)。

就因上述的原理,每加載一個圖片都要用掉一個瀏覽器可用的連接數。一旦達到連接數上限,其他的請求就需要排隊,直到有連接可用。

這對一般的部落格或圖片少的網站,可能沒有甚麼感覺;如果是一個圖片網站,需要多個連接數的網站上,這真的可以加快頁面的加載時間。

所以使用子網域來儲存媒體庫,將有助於加速您的網站頁面加載速度,因為子網域和主網域被視為不同的網域。因此,您的主網域加上子網預域,可以達到 2 倍數量的可用連接數。

1. 創建一個子網域:

虛擬主機可以利用 cPanel 來創建,或使用 DNS 管理來創建一個子網域。例如:images.example.com,A 紀錄指向同一個主機 IP。DNS

注意:如果主網域有 https 加密證書,子網域也需要 HTTPS 加密證書,避免造成混合內容。

2. 在 WordPress 中更改變圖片上傳的位置

WordPress 3.5 之後,默認媒體存儲位置的設置已被刪除,為了方便我們更改圖片上傳到子網域的路徑,需要安裝一個簡單 WP Original Media Path 外掛,來恢復此項功能。

啟用後,輸入以下詳細配置:uploads in this folder

上傳的檔案將儲存於此目錄:完整的 URL 文件路徑,/var/www/pic.yungke.me/htdocs/images (這是您的子域名路徑,請更改域名為您的子域名)

完整的檔案網址:請填入子域名的網址,如 https://pic.yungke.me/images (請更改域名為您的子域名)

如果這是一個新建的 WordPress 網站,步驟到這邊就可以實現圖片與主網站分開存放,往後您在媒體庫上傳圖片時,圖片真實存放在子網域的 images 文件夾內。

如果是運行一段時間的網站,請繼續下面的步驟。

3. 將現在運行中的網站圖片移動到新的 (子網域) 圖片文件夾 images:

現在我們已經創建了子網域,並且也更動了原本 WordPress 媒體庫的上傳設置,我們現在需要將現有的圖片文件移動到新的位置。

可利用 FileZilla 的 FTP 軟體,將 /wp-content/uploads/ 中的所有文件移動到子網域 /images 內,移動過程中請保持目錄結構。

4. 備份您的 WordPress 數據庫:

備份數據庫,請不要忘記。

5. 更新 WordPress 數據庫,將現有圖片路徑更改為新的子網域的圖片路徑:

如不去動到 phpMyadmin 去修改,最簡單的方法是再安裝另一個外掛 SQL Executioner,執行一個 sql 查詢來更新存儲在數據庫中的圖片路徑。
SQL Executioner

請在 SQL Executioner 框框內鍵入下面的 SQL 字段 (請更改域名為您的子域名)

UPDATE $posts SET guid = REPLACE(guid,'http://rocket.yungke.me/wp-content/uploads/','https://pic.yungke.me/images/')

點擊 Execute SQL 執行更換。

現在! 我們已經完成主網站上的圖片是從您的子網域上的圖片提供,您可以開啟網站,試試瀏覽器加載的速度,特別是那些圖片很多的頁面,應該可以感覺到速度加快了。

參考文件:Roundup on Parallel Connections

User Rating 5 (5 votes)

Leave a Reply

38 Shares
Share38
Tweet
+1
Share