當「網站」需要做一些改動或者更新的時候,為了避免讓使用者看到畫面更新到「一半」殘破不全的慘況,採取的方式就是讓網站先「關閉」休息一會。譬如Apple每年的新品發表會當天,會「提前幾個小時」先將網站商品頁改為「更新中」,除了看到「商品更新中」這幾個大字外,無法像「平常」一樣「瀏覽」商品,這時候Apple在做的就是更新商品頁面,並測試是否正常運行,就算都提前做好了,也不能「先上線」,畢竟「新商品」還「未」發表呢,怎可以讓你先看到!等到發表會一結束,一個「按鈕」PUSH!切換!新商品頁面就「上線」啦!

上述算是「策略性」的關閉更新、這時網站還可以「正常連線」,因此可以正常的「導引」使用者告知他們網站「正在更新中」,但還有另一種更新會讓網站完全掛掉「無法正常連線」,這時就算想貼個「告示牌」告知使用者「網站維修中」之類的都「無法」做到了,以下介紹幾種網站關閉方式,以及建議最佳的關閉更新時機。

網站完全掛掉的更新

更新網站所在的「主機」、更新韌體、更新軟體、或是網站「後端PHP更新資料庫升級、這些比較重大的升級,都可能會讓網站直接掛點,暫時無法連線。

一年之中可能未必會有一次這種重大更新,很多「主機」是完全不做更新的*,一次的更新時間也約在4小時之內可以做完,一般網站,如本站「造九頑五」基本上就是找個網站的冷門時間,來做更新就是了。

如果只是更新WordPress的外掛或者核心升級,是不至於會讓網站掛掉的,就算會通常也在半分鐘之內,因此通常也不太需要做維護公告,該做好的是網站狀態以及資料備份。

主機不需要頻繁更新,但還是需要更新的,尤其是運行WordPress的主機,不管是在安全性上、性能、速度上,都會有所進步與差異,很多不更新只是因為對廠商來說很麻煩,畢竟一樣可以運行,主機系統更新需要耗費很多時間,畢竟要仔細做到備份、測試,廠商何必沒事找事做呢?

如果有興趣WordPress的運行系統建議,可以查看官方的這個頁面:WordPress系統需求

當然也有一些大到不能有「一刻」掛點的網站如Google、Apple、PCHome購物等大型、大品牌網站,前者Google、Apple就算維修也必須有公告不能完全無法連線,這時他們通常會採用雙主機切換的方式,其中一個進行升級,先放到另一個,這時還需要做DNS的切換甚至網址302導向等操作,一般網站沒必要為了幾小時的更新做到這個程度,後者購物網站則是每小時的商業價值都太高,不能離線,也因此有必要這麼做。

網站的最佳更新時間

所謂網站的最佳更新時間,就是網站「訪客最少」的時間,將網站因為更新的「損失流量」降到最低,「影響」的訪客人數降到最少!這是理想,但實際上只能盡量,畢竟訪客最少的時間,你的工程師也不一定有上班,你要工程師配合一下,偶爾一天而已?可是那個時間通常是在凌晨4點,總不能讓工程師都不要睡了吧,退而求其次我們可以找比較正常、影響人數也盡量低的時間。

 

有數據才能分析出最少人時間

 

可以先分析一週中哪天網站最少人到訪,假如都差不多,接著我們再用下圖來分析,一週七天每天24小時中的訪客來訪熱度。

像是晚上的10點是大家上網的一個高峰期,網站的來訪人數一小時就有104人到訪,顯然不是一個好的更新時間,我們再往顏色比較淺,代表熱度沒那麼高的去看。

最淺的顏色幾乎都在凌晨,而凌晨5點又比凌晨2點又再少一倍的人,但假如真的想避開又在合理一點點的時間更新,凌晨1~3點是可以考慮的時段,當然還有其他比較淺的,但至少可能都有40~60人,但也還在可接受的範圍。

網站維護中公告

不論如何,總有些時候你會希望網站先不要有人進來,做一些「頁面」的「更新」或是網站的「維護」,這時候你就可以掛出告示牌啦!網站維護中、網站升級中、商品更新中等⋯隨你想怎麼寫,這時候使用「WordPress」核心的朋友就有福了,這些事情只要輕鬆下載個WordPress「外掛」即可搞定。如果不是的朋友,也是還有很多其他方式,比較進階的是用「302轉址」來做網址臨時轉址處理,比較簡單的就用頁面「替換」大法。

WordPress網站維護中外掛

這邊推薦一款我自己在使用的,這個外掛簡單、輕量、沒廣告:

Coming Soon Page, Under Construction & Maintenance Mode by SeedProd

這個外掛名字超級長的,為了避免大家找不到或是下載錯,附上連結以及截圖,我可沒收廣告費!看網友評價就知道真的好用!

302臨時轉址方式

就是先將該頁面,或整個網站的流量先導到預先做好的維護中頁面,告知使用者該頁面/網站正在維護中,關於302轉址的設定方式又有分Nginx、Apeach、甚至更多其他後端的路由方式,我有寫文介紹過Nginx以及Apeach的轉址方式可以看此篇:wordpress、nginx、Apache怎麼設定301轉址?

最簡單、直覺的網頁頁面替換大法

就是先將該頁替換成預先做好的維護頁面,假如是商品頁面product.html維護,那就先將product.html替換成維護的頁面,等更新好後,再重新替換覆蓋回來,這個方法有風險存在,一定要先進行備份啊!!否則你替換好後,發現本來的product頁面沒備份到!!那就… gg了。