用 WordPress 建站3年來讓我煩惱的事
兩個平台的優缺點在以前已有文章作比較,所以就不在本篇提及,是次內容主要提及的,是我作為一個幾乎零 IT 知識的人,三年間所遇過的部分難題,供有意用 WordPress 建立網誌,IT 根底又不多的讀者參考,又或是讓高手們恥笑,協助考慮 WordPress 是否一個真的適合自己的建站方向。
共享虛擬主機
我選用的是 Bluehost 共享虛擬主機,當年的價格大約是首三年 1600 港元,續約時因已無優惠,價格會有所提升。共享虛擬主機可說是新手用 WordPress 建站必選的入門級選擇,對於一般每天有一千幾百頁面流量的網誌來說,是可以接受的方案,但此類主機在網站速度上都不會得到一個非常好的評分(通常在伺服器回應時間那項評分較低),整體速度也會受到共用主機的其他網站影響。
載入速度不夠快,急促的城市人會在載入完成之前就退出,瀏覽其他搜尋結果去。這一點會對網站的 SEO 評分有相當打擊,如希望以搜尋引擎流量為主要讀者開拓來源,共享虛擬主機未必是一個好選擇,但這會是小本個人經營者幾乎唯一的選擇,影響載入速度的,除此之外還有網站的各種優化。
如果不想煩惱網站的主機問題,只想寫好文章,可以考慮像方格子丶Matters丶Medium 之類的平台,這些平台還有更多搜尋器結果以外的曝光機會,可是就無法以 Google Adsense 賺取收入了。
又或者用 Google Blogger,就可以免除各種主機問題的煩惱,亦可以在網站上安裝 Adsense,不過就網站優化方面同樣要下功夫。
網速太慢
共享虛擬主機是錢的問題,而網站優化是技術的問題,雖也可花錢聘請高手協助,但小本生意能省則省,當初的我當然是先試試自己做不做的來。還有就是,當初選以 WordPress 建站的原因,是覺得 WordPress 會是一個對網頁編碼不熟悉者的解決方案。所以我相信沒有太多相關知識的我也能或多或少做到一點。
為加快載入速度,參考了很多大神的文章,也直接問過 Bluehost 客服的意見。他們都認為,只要網站優化良好,就能大大提高載入速度,即使是共享虛擬主機也能達到相當不錯的評分,這點我也很同意。
關於優化網站載入速度參考了:
https://www.wpbeginner.com/wordpress-performance-speed/
試過根據這個網站提供的方法,把懂得的都做過,例如下載一些幫助優化網站編碼的外掛丶刪除所有圖片再用 Photoshop 打開,另存為網頁用後重新上傳以大大壓縮圖片尺寸丶加裝 Caching丶Lazy Load,最後連最不想用的 AMP 都安裝了。
結果,載入速度沒變好多少,網站反而出現意想不到的各種奇怪問題。安裝外掛終究是無相關知識者使用的懶人方案,當網站的外掛數量變多,載入速度同樣會變慢。而且 WordPress 是開源軟體,每個外掛都可以出自不同作者之手,當這些外掛像縫合怪般安裝到網站後,我遇到還記得的小問題如出現圖片錯位丶廣告與內容重疊丶有些鍵位點下去沒有反應丶用 Safari 瀏覽會打不到字之類,而這些也只不過是歷史中的一些小問題而已,極其量也只會令使用者的體驗又扣分,網站起碼還是連得上的。
對於像我這一個傻人來說,最終要網站速度達至最佳的方法,竟是徹底不使用任何外掛,再挑一個最輕量的佈景主題,但明明這個是以"讓沒有編碼經驗的用家也能輕鬆建立外觀丶內容和功能都豐富網站"為賣點的 WordPress,有千百種可以方便安裝到網站的外掛,卻淪落至只能遠觀不能褻玩,要放棄所有令網站豐富起來的外掛,換取共享主機網站的載入速度,只能說 WordPress 入門確實容易,但過度依賴外掛也不是解決辦法。
網站終於連不上
網誌因為更新不頻密,問題也不算多,若只為寫好文章,只要挑個看起來騙的了人的佈景主題,即使一個外掛都不安裝亦有可能。最多問題的,可謂我另一個有購物功能的網店加網誌,這家網店已經因為各種問題,不知重新安裝過多少遍,在寫文章的這一刻,此網店包括 WordPress 後台也是連不上的,現在已經累得想暫時逃避處理這個問題,好好的打完這篇文章。
在連不上網站方面,用 Bluehost 等主機商倒是可以聯絡客服幫忙,而 GCP 的用戶,就要自己查 Log 看看問題在那,再想辦法對症下藥。(查 Log 的方法參考了這篇:https://www.alexclassroom.com/localization/wordpress-localization/error-log-monitor-localization-tw/)
爆發流量太高令共享主機爆炸
網站連不上的事件,始於網店內其中一篇文章,歪打正着是當時最熱門的話題,網站流量由平均日常 200 左右,在一天內變成了 20000,話題的熱度在幾天內更加有增無減,網站出現超出共享虛擬主機可以承受的負載,首先是載入速度變得極慢,之後是開始連不上,就像網店大特價時網店總是載入不了那樣,再之後是被 Bluehost 無通知下封鎖了網站。
詢問客服後,得到的解釋是「由於我的網站優化不良,對伺服器造成太高負擔,影響了同一個共享虛擬主機中其他數個網站的用戶體驗,所以暫時封鎖了網站」。他提出的建議有兩點,一是只開放網站到我的 IP,讓我自行優化網站後再聯絡客服重新開放,二是提升方案到另一個更高級的共享虛擬主機,對於是否可以容納 20000+ 流量這點隻字不提。
(回想起來,應該在網站流量爆發那一刻就要開始想辦法,而發現載入速度變慢已是最後的警號,可以先停用所有外掛,轉用最簡單的佈景主題,盡量壓縮網站大小,雖然我不認為這台這共享虛擬主機會因此就能捱很久,但樣做的話即使流量超多也「有可能」暫時捱得住,再慢慢考慮要不要付錢加大主機容量或搬家,起碼不至於硬生生讓點閱數流走。)
這是我首次有放棄 Bluehost 共享主機念頭的一刻,日平均 200 流量的網站,單靠 Google Adsense 根本連主機和域名的支出都未必不夠支付,然而當流量提高,Google Adsense 收入有機會增加至讓網站有本錢自負盈虧時,伺服器卻容不下了。我驚覺,難道以此方法建站是我必輸的方案嗎?看一看合約日期,還餘下一半有多的時間。
在被封鎖的三天裏,我將該文章貼上在一個新開的 Google Blogger,希望多少收回一點流量,也讓有需要的人能讀到。雖然點閱數大大流失,但這幾天內,一個免費任用的 Google Blogger,容下了所有流量,完全沒有超出負荷和連不上的情況。
由於對 Bluehost 的共享主機失去了信任,即使合約未完,我轉尋其他方法來容下我的 WordPress 網店。離開 Bluehost 後轉移到 Google Cloud Platform (GCP)。但老實說,我很清楚以自己的電腦底子,這不會是一個好主意,因為轉移到 GCP 後,不再有客服可以問,連伺服器的問題都要自己處理,最大優勢只是可以隨時更改主機的能力來適應各種狀況。
關於怎樣轉移網站到 GCP 我參考了這個網誌。
https://www.wfublog.com/2019/06/google-cloud-platform-wordpress-https-ftp.html
第一次安裝時使用了最簡單的方法四從 GCP 安裝 Bitnami。
Bluehost 轉移主機到 GCP 後失去 Admin 帳號
用新方法在 GCP 重新安裝網站後,根據預設的 Admin 帳號密碼,很快的我又重新登入到了一個新的 WordPress 網站。第一個下載的外掛就是 Updraft,打算直接將之前 Updraft 的備份上傳上去直接還原網站。
還原時 Updraft 有通知,說這個備份並不屬於現在這個新網站的,提醒要小心使用。沒想太多就安裝下去,很快所有資料都重新上傳,網站馬上就恢復原狀,而我也被網站登出,要求重新登入,GCP 預設的 Admin 帳號卻因為資料庫的變更也不再適用。
這我才第一次使用 WordPress 的登入頁面,因為之前都是由 Bluehost 登入後直接連接過去,所以簡單來說,我根本不知道 Bluehost 為我預設的 Admin 帳號密碼,就這樣我被卡在登入頁面,看着重新運作的網站,而自己卻登不進去。
再查了一下資料,原來還有方法可以在 FTP 登入強制重設 Admin 密碼,但由於我使用的 GCP 安裝網站方法有權限限制,這個方法應該也不可行。
結果我跑回去 Bluehost 那邊還未刪除的網站,修改好密碼,重新備份網站後,為免以後又再發生 FTP 權限問題,還是決定用另一個麻煩一點的方法,從 Bitnami 官網重新安裝網站,反正 Updraft 中的備份都有了。
又重覆了以上步驟一次,而這次終於沒有被關在門外,也做好了 FTP 連線。
(方法參考同一篇網誌)
網站備份令資料庫滿載
轉移到 GCP 方發現,原來 WordPress 網站和後台載入速度可以如此快速,即使我這個被稱作優化不良的網店也能一瞬間載入完成。可惜甜蜜的日子沒有持續很久,很快就要面對其他更令人煩惱的問題。
享受了幾個月快樂的日子後,有一晚網站連不上,WordPress 後台也登不進去,我很清楚,這次並不是流量爆發,而是另一個新的問題,而且這次不再有客服能尋求協助。
幾經波折,還第次用黑屏幕,對外行人來說可以算是完全不明所以的 SSH 來打編碼找原因,最終得知原來是資料庫滿了,令網站連不上。在 Bluehost 共享主機建站時,有無限大的儲存空間,簡直是身在福中不知福,結果出來後第一個問題,就是用盡了 10 GB 的 GCP 儲存空間,把儲存空間耗盡的,是網站備份外掛 Updraft,轉移網站後沒有重新設定 Updraft,使它沒有自動把備份上傳到雲端,亦沒有自動刪除舊版備份,結果慢慢的就塞滿了 10 GB 空間。
我想到到的解決方法一,是用 FTP 登入後台,把 Updraft 資料夾內的備份資料下載到電腦後強制刪除。結果倒是成功下載了,但不知為何因權限問題不能刪除內容。
解決方法二,既然移除不可行,我去嘗試加大伺服器容量,這也是 GCP 這類才給得了的自由度。加大後的空間不能立即使用,又要用外行人看不到懂的 SSH 來打編碼重新分配儲存空間,結果,我覺得自己真的很可笑,SSH 那個黑白畫面告訴我,因為網站的空間不足,下載不了相關的語言,所以無法分配空間,連分配空間的空間都沒有。
我又用下載回來的備份再重新安裝網站一次。
修改 config.php 令網站連不上資料庫
幾個月後,同樣的容量問題遇到第二次,沒錯,人類總要重複同樣的錯誤。雖然這次大概也猜到會是儲存空間問題,但也想一次過面對和嘗試解決網站問題,所以在網上找到一個登入 FTP 查 Log 來 Debug 的方法(對上有提及),要登入 FTP 在 config.php 修改和加入幾行字,然後網站就會記下錯誤,再生成一個檔案供查閱。
不知為何最終 Debug.log 沒有出現。但我也無暇理會,反正去把塞滿空間的備份先刪除再說,有了之前的經驗,知道不能用 FileZilla 登入的 FTP 來刪除 Updraft 備份,要用 SSH 登入 ROOT 後直接用 SSH 輸入指令刪除,而很快就成功了。
但再次登入網站時,出現另一個錯誤 ”Establishing a Database Connection”,大約是連接資料庫失敗的樣子。根據 WordPress 的教學,首先要檢查 config.php 是否有問題。
參考了類似這篇的文章:https://www.siteground.com/kb/fix-error-establishing-database-connection-wordpress/
打開 FTP 後所看到的,是一個空白一片,大小是 0 KB 的 config.php。
It was at this moment he knew, he f'd up.
為了加 Debug 語法修改的 config.php 並沒有重新上傳回資料庫,不單沒有上傳,更令資料庫中原本的 config.php 內容也消失了。又因為權限問題,原來不能在 FileZilla 登入的 FTP 修改 config.php,要改 config.php,又要用 SSH 先登入 ROOT。
然後我在 SSH 裏修改 config.php,不能說是修改,而是為這個檔案由零開始重新加入內容。我在電腦中翻找之前的 config.php 備份,竟然最新版本的暫存檔消失了。結果只能用另一個比較舊,我也不知道是否合適的版本頂替。我複製貼上了這個舊版的內容,這次終於成功修改到伺服器內檔案,但問題沒有被修正,我就知道,這個 DB_PASSWORD 是錯的,這是對上一次重裝網站所備份的密碼,而現在的我根本不懂得找回或是重設這個密碼。
然後我又再重新安裝了網站一次,這次也趁早好好地加上 Debug 語法,現在已經能看到 Debug Log 了。
網站清理外掛清走網站重要資料
又再重新安裝後,網站的載入速度有點慢得奇異,我用網站掃瞄外掛,掃瞄了多餘的檔案,同時這款外掛建議我掃瞄網站有沒有可疑程式碼。
掃瞄後多餘的檔案大多是頁面修改的舊版本,和一些不知是甚麼的文件。反正已習慣重裝又重裝,我以必死的決心把這些東西刪除,結果幸好沒出問題。
而另一個掃瞄可疑程式碼的外掛,找到了幾十個可疑語法,全部都是在不同的外掛資訊夾內找到。我選了幾個已經不再用的外掛,試試把他們隔離開去,看起來也沒有發生問題。
一天後的夜晚,網站連不上了,這次是第一次連 FTP 也連不上,慶幸在 Bitnami Reboot 主機後能重新連上 FTP,但網站還是連不上。
在 FTP 下載了 Debug Log,看到已經推疊了幾百行的錯誤。錯誤出自找不到那個被我隔離開去,明明已經不再使用和刪除的外掛,不知是不是刪除的不乾淨,然後我在 FTP 把殘餘的外掛檔案都刪除後好像就沒問題了。
再一天後,網站再次連不上了,同樣連 FTP 也連不上,慶幸在 Bitnami Reboot 主機後能重新連上 FTP,但網站還是連不上。
在 FTP 下載了 Debug Log,看到再次已經推疊了幾百行的錯誤。這次的問題出自 AMP 外掛。一個我完全看不懂,不知從何入手的問題,應該是 Redirect 手機用戶時出了奇怪的錯誤。
不怕,解決提出問題的人就好。
然後我把早已看不順眼的 AMP 直接刪除,網站又活過來了。
我記得又寫得出來的煩惱,這次就寫到這裏,我知道對有相關知識的人來說一定很可笑,這些問題既簡單又愚蠢,但對我來說可是每次都是世紀難題。要說的話,就是當初錯判自己的需求和能力,選用了不適合我的 WordPress 來建站,WordPress 的確能"讓沒有編碼經驗的用家也能輕鬆建立外觀丶內容和功能都豐富網站",只是維護與優化方面,就不是真的那麼適合像我這種沒有編碼經驗和知識的用家。
最近開始將網誌轉移到 Google Blogger,由 WordPress 搬到 Blogger 對很多人來說可謂走回頭路,但對我來說這似乎是比較好的方向,網上的資料不多,作業時也遇上一些問題,所以我也將會另摘文章記錄一些愚蠢的問題。
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!
![](https://imagedelivery.net/kDRCweMmqLnTPNlbum-pYA/prod/avatar/7cce9dc7-9914-49f8-891f-67bccff12c6e.jpeg/public)
- 来自作者
- 相关推荐