15 個設定 WordPress 網站的程式碼整理,加入 wp-config.php 就能使用

15 個設定 WordPress 網站的程式碼整理,加入 wp-config.php 就能使用

本文參考資料為 15 wp-config Snippets to Configure Your WordPress Site, 原作者 Preethi Ranjit。

現在遇到想架站的朋友,我都二話不說直接推薦使用 WordPress,大家都知道 WordPress 分成兩種:WordPress.com 和 WordPress.org(或被稱為 Self-hosted),前者如同 Blogger 是一個免費網誌平台,後者則是開放原始碼程式,必須搭配網域名稱虛擬主機才能夠把網站架設起來。每次搬家轉換都會有所損耗,無論是時間、金錢或好不容易累積起來的流量及搜尋引擎最佳化成績,還是那句老話「長痛不如短痛」,最好能一開始就把方向設定清楚。

之前陸續寫過一些 WordPress 相關的書籍,趁機打個廣告,如果你想學習 WordPress 自架站的話,可參考我翻譯的《WordPress 無敵架站手冊》,有非常完整全面且循序漸進的章節規劃,對於探索 WordPress 來說是個相當適合入門的書籍。

我也利用空檔寫了一些可讓 WordPress 網站變得更快、更安全的教學主題,包括:

WordPress 最為人津津樂道的是安裝過程非常簡單!如果夠熟悉的話甚至可以在幾分鐘時間快速部屬一個網站,即使如此,WordPress 仍具有相當高的彈性,可透過程式碼來調整網站各項設定。

有些設定參數不一定每個人都知道,本文要介紹的 15 個程式碼都是使用於 WordPress 設定檔(wp-config.php)中,不過有些跟之前我寫過的教學重複,但沒關係,若是需要就直接把它複製到自己的設定檔吧!以下我會就這十五個項目做更詳細的說明。

本地化及編輯你的 wp-config

當你下載 WordPress 後,wp-config.php 檔案並不會在安裝資料夾。但你可以找到一個名為 wp-config-sample.php 的範例檔,你必須將它複製、重新命名為 wp-config.php,然後加入基本的資料庫連線資訊(資料庫名稱、使用者名稱、密碼、網址及安全金鑰)。

如果你的主機商提供 Softaculous 或類似的自動化安裝工具,那麼安裝過程會自動處理這些必要步驟,因此你在以 FTP 連線至你的伺服器時將會看到 wp-config.php 和 wp-config-sample.php 同時存在於根目錄。

15 個設定 WordPress 網站的程式碼

請注意,設定順序很重要,因此請不要重新排列。如要編輯 wp-config 請務必使用程式碼編輯器(例如:Sublime Text、Atom、Notepad++、Visual Studio Code 或 TextMate),使用 Word 及其他類似編輯器(例如:Microsoft Office、Google Docs、LibreOffice)將會破壞你的檔案,千萬別用它們來編輯程式碼。

保存在 wp-config 的設定值會覆蓋資料庫設定值,以防止兩種設定類型同時存在。

這些程式碼要放在那裡?

在這篇文章中,你會找到 15 個可放在 wp-config.php 設定檔裡的程式碼。

大多數情況下這些設定選項並不存在於 wp-config 中。如果你想使用它們,必須將它複製並新增到 <?php 標籤及代碼註解之後,或是 MySQL 設定值之前

1. 開啟 WP 除錯工具(Debugger)

你可以在 wp-config 設定檔內開啟或關閉 WordPress 除錯工具。下面要介紹的第一個程式碼預設情況下已經存在於 wp-config.php(在資料庫設定底下),但預設值為 false。如果要將除錯工具開啟,將設定值設定為 true

第二段程式碼是開啟前端除錯工具,允許你針對 CSS 和 JavaScript 程式進行除錯。只在開發中的網站下使用除錯工具。

https://gist.github.com/Pseric/2f515e7dc155e67cf52fbb42580d6031

 

2. 更改資料表前綴

預設情況下 WordPress 使用 wp_ 作為資料表前綴。如果你想要提高安全性,可以選擇一個更複雜的資料表前綴。

此選項預設也存在於 wp-config 設定檔中,你只要將 $table_prefix 變更成其他值就能獲得更好的安全性。

不過這只有在一個全新安裝開發網站才可變更,在運作中的網站更改這個參數會有風險。

https://gist.github.com/Pseric/0f586ef95a95b14ba1c13d3ac59e6312

 

3. 更改 WordPress 網址

你可以在 WordPress 控制台的「設定 -> 一般」裡設定 WordPress 和網站網址。此外,你也可以在 wp-config 設定檔裡設定這些網址。

在 wp-config.php 裡定義 WP_SITEURL 和 WP_HOME 有兩個原因:

  1. 如果因為某些原因無法存取控制台,這個方法有可能解決問題。
  2. 減少網站載入時呼叫資料庫的次數(因為 wp-config 會覆蓋資料庫相同選項)。

WP_SITEURL 指定使用者連結到你網站的網址,WP_HOME 則是 WordPress 安裝目錄。如果你將 WordPress 安裝於根目錄(這是預設選項),那麼這兩個設定值會相同。

https://gist.github.com/Pseric/f47e4b983b42aa28b12130fc61581139

 

4. 在一段時間後清理回收桶

你可以讓 WordPress 在一段時間後自動清理你的回收桶。這個選項最小值為 0,在這情況下會停用垃圾桶功能。

https://gist.github.com/Pseric/12dfbdf20c8be534a3706bc23de7beb4

 

5. 啟用 WordPress 快取

你可以啟用 WordPress 內建快取功能,只要加入以下程式碼。大多數快取外掛,例如 W3 Total Cache 和 WP Super Cache 都會自動將這段程式碼加入 wp-config 設定。

https://gist.github.com/Pseric/4cda670f5c18adb1a522982c6a455b8f

 

6. 啟用 WordPress 多網站(Multisite)

在你的 wp-config 設定檔加入 WP_ALLOW_MULTISITE 可啟用 WordPress 多網站功能,讓你建立一個網誌網路

https://gist.github.com/Pseric/21def11284a7fecc75816536cfc3d682

 

7. 重新導向不存在的子網域和子目錄

有時候訪客會在網址列輸入一個不存在的子網域名稱或子目錄。你可以將這些訪客重新導向至正確的網域名稱,例如加入 NOBLOGREDIRECT 參數來重新導向到網站首頁。

https://gist.github.com/Pseric/004fc0a82f04226fab60c0714ab38efc

 

8. 管理文章版本

WordPress 有內建的版本控制系統,意味著它可以儲存你建立的所有文章版本。一篇頻繁更新的文章可能會有 25-30 個文章版本,一段時間後這會佔用大量的資料庫空間。

使用 WP_POST_REVISIONS 參數可以設定文章版本的最大數量,或將此功能完全停用。

https://gist.github.com/Pseric/22ca7b1ba753cd16b047e9f40da19206

 

9. 啟用內建資料庫最佳化工具

WordPress 有內建的資料庫最佳化功能,你可以將以下程式碼加入 wp-config 來啟用它。

如果想知道這個工具的詳細運作原理,可參考國外使用者的文章介紹(英文)。不過更重要的是資料庫最佳化畫面會被所有人看見(即使是沒有登入的訪客)。因此建議只在需要時啟用,而且使用後別忘記將它關閉。

https://gist.github.com/Pseric/f29307f2ea7067579b74568f11768309

 

10. 停用自動更新

WordPress 預設情況下會執行自動背景更新,主要針對重要安全性更新翻譯內容

你可以透過 AUTOMATIC_UPDATER_DISABLED(所有更新)和 WP_AUTO_UPDATE_CORE(核心更新)將這項功能開啟或停用。

https://gist.github.com/Pseric/03c821669eb0f2fc3cec0a109d8c353c

 

11. 增加 PHP 記憶體限制

有時候你希望可以增加主機商對你網站的 PHP 記憶體限制,特別是出現可怕的「Allowed memory size of xxxxxx bytes exhausted」訊息。對網站的記憶體限制可以使用 WP_MEMORY_LIMIT 參數調整,WP_MAX_MEMORY_LIMIT 則針對控制台。

請注意,有些主機商不允許手動增加記憶體限制,遇到這種情形時請聯繫他們尋求協助。

https://gist.github.com/Pseric/e9650cf8b5a70a8410beb3463012858a

 

12. 強制 SSL 模式登入

如果想增強網站安全性,你可以強制每次都使用 SSL 進行登入FORCE_SSL_ADMIN 參數可以針對登入頁面控制台開啟完整的 SSL 加密支援。

請注意,WordPress 4.0 後已經棄用 FORCE_SSL_LOGIN,現在必須使用 FORCE_SSL_ADMIN 。

https://gist.github.com/Pseric/5fbb927c7f704f39ef935c099df8fb3b

 

13. 停用外掛和佈景主題編輯/更新

管理員可以在 WordPress 控制台編輯外掛和佈景主題檔案。如果你使用 DISALLOW_FILE_EDIT 來停用外掛和佈景主題編輯器,有助於讓你的網站更安全。所以,若你的網站遭到入侵,駭客將沒有權限存取你的外掛和佈景主題檔案。

你也可以使用 DISALLOW_FILE_MODS 來停用外掛和佈景主題更新功能。這麼一來管理員就無法在控制台更新外掛和佈景主題。

DISALLOW_FILE_MODS 也會停用外掛及佈景主題編輯器,所以如果你啟用這項設定,就不用再額外加入 DISALLOW_FILE_EDIT

https://gist.github.com/Pseric/059c156d3628d62a764910d403dcd050

 

14. 刪除圖片編輯

每當你編輯圖片時,WordPress 會將它儲存成不同解析度大小的圖片。但是,如果你不想使用早期的圖片集,可以將 IMAGE_EDIT_OVERWRITE 設定為 true 來移除他們。

如你所見,當你編輯圖片時,較早的圖片將會被新圖片覆蓋,只有最新的圖片會保存於 wp-content 資料夾。

https://gist.github.com/Pseric/d2b003dd464b0bfc3cb927dcdb3023aa

 

15. 停用未篩選的 HTML

這裡我要稍微解釋一下,什麼是「Unfiltered HTML」呢?以中文來說就是未被篩選的 HTML,為了有更好的安全性,WordPress 不允許等級較低的使用者帳戶(訂閱者、寫手或作者)發佈未篩選的 HTML 語法(這些語法在寫入編輯器、儲存後會自動消失),然而編審和系統管理員是允許使用這些標籤的。

如果你想將安全性提高,禁止更高等級的使用者使用未篩選的 HTML 語法,可以將以下程式碼加入到 wp-config 設定檔。

https://gist.github.com/Pseric/a175cc4199ce6d4b1ef3f4e585bdee41

 

分享本文
Pseric
Pseric

學生時代成立網站以來堅持每日更新,在挖掘資料的過程中慢慢找出自己經營網站的方法,最開心的是有一群一起長大的讀者。

文章: 6250