(免費資源網路社群) 安裝 WordPress 後你應該做的 25 件事

在你安裝完 WordPress 後,你可能會調整一些設定來最佳化 WordPress 效能和安全性。這裡有一份安裝完 WordPress 後你應該做的最佳化指南。安裝 WordPress 只需要兩個簡單的步驟,但你可能要調整一些預設的設定值,來改善、最佳化 WordPress 網站的效能和增強安全性。

如何最佳化你的 WordPress 網站?

 

這些建議只針對自架的 WordPress 網站,不適用於 WordPress.com。另外,我假設你是在 Apache 上架設 WordPress 的。讓我們開始吧:

1. 變更預設的媒體上傳目錄

WordPress 預設會將你的所有圖片、文件和其他上傳的檔案儲存於 wp-content/uploads 目錄。

將你的圖片儲存於 WordPress 目錄之外是個不錯的作法,最好在一個子網域底下。這有幾個優點,你的圖片網址會更加簡短,每日的 WordPress 備份會更有彈性,而且最重要的是,從不同的伺服器載入圖片將有助於改善網頁開啟速度。

WordPress 3.5(或更新版本)已經沒有提供變更預設媒體上傳目錄的選項,但可以使用外掛來開啟這項設定。同時取消選擇該選項–“將我所上傳的檔案安排為以「月」及「年」為基準的目錄”。

2. 從你的 WordPress 網站移除不必要的 meta-data

如果你檢視過你的 WordPress 網站原始碼,你可以發現有些 meta 標籤不是必要的。例如,你使用的 WordPress 版本會顯示於原始碼。

<meta name="generator" content="WordPress 3.5.1" />

這項資訊對於一些尋找使用舊版或低安全性版本 WordPress 網站攻擊的黑客來說是個不錯的提示。從你的 WordPress 原始碼完整移除掉版本號和其他非必要的 meta-data,只要把把這段程式碼加入佈景主題的 functions.php 檔案即可。

remove_action( 'wp_head', 'wp_generator' ) ; 
remove_action( 'wp_head', 'wlwmanifest_link' ) ; 
remove_action( 'wp_head', 'rsd_link' ) ;

WLW-Manifest 函式(第二行)是 Windows Live Writer 用於下載你 WordPress 部落格的樣式、佈景主題。Windows Live Writer 使用者不使用即時預覽功能,故可以將此函式關閉。

3. 防止使用者直接瀏覽你的 WordPress 目錄結構

如果你不希望任何人直接瀏覽你 WordPress 檔案和資料夾清單,將以下代碼加入你 WordPress 內現有的 .htaccess 檔案中。

Options All -Indexes

並確認 wp-content/themes 和 wp-content/plugins 目錄下包含空白的 index.php 檔案。

4. 停用 WordPress 迴響的 HTML 功能

WordPress 的迴響留言框是一個小型的 HTML 編輯器,留言者可以使用一些標準的 HTML 語法像是 <b>、<a>、<i> 來為自己的留言加入格式。他們甚至能夠在留言裡加入超連結。如果你想在 WordPress 迴響裡停用 HTML 功能,只要把以下程式碼加入你的 functions.php 檔案即可。

add_filter( 'pre_comment_content', 'wp_specialchars' );

5. 關閉 WordPress 文章版本功能

WordPress 內建一個實用的文章版本功能,讓你可以追蹤變化,以便隨時回復到文章先前的版本。文章版本也會增加 WordPress 裡 wp_posts 資料表的大小,因為每次修訂都會增加新的內容。

要停用 WordPress 裡文章版本的功能,開啟你 WordPress 目錄下的 wp-config.php 然後加入以下程式碼:

define( 'WP_POST_REVISIONS', false);

另外,如果你想保留文章版本功能,你可以只限制 WordPress 儲存於 MySQL 資料庫裡的修訂數,在 wp-config.php 加入以下程式碼:(3 為要保留的文章版本數量)

define( 'WP_POST_REVISIONS', 3);

6. 變更文章自動儲存的時間間隔

當你在 WordPress 內建的編輯器編輯部落格文章時,它會自動儲存你的草稿,當瀏覽器不幸當掉時,有助於你快速恢復先前輸入的內容。草稿預設會每分鐘自動儲存,但你可以加入以下程式碼來將自動儲存的時間間隔變更為 120 秒(或 2 分鐘):

define( 'AUTOSAVE_INTERVAL', 120 );

7. 隱藏其他 WordPress Feeds 網址

你的 WordPress 包含多個 RSS Feeds–部落格、文章、迴響、分類、彙整等頁面皆有 feeds–它們會使用 <link> 標籤顯示於你部落格的原始碼內。

如果你只想宣傳你的主要 RSS Feeds,那將以下程式碼加入你的 functions.php 檔案裡:

remove_action( 'wp_head', 'feed_links', 2 ); 
remove_action( 'wp_head', 'feed_links_extra', 3 );

8. 將所有 Feeds 重新導向至你的主要 RSS Feed

在上一個步驟,我們只有從網頁內移除掉不必要的 RSS Feeds,但這些 RSS Feeds 依然存在。如果你想要單獨使用一個 RSS Feed 例如 FeedBurner,並停用所有其他的 Feeds,將以下程式碼加入你的 .htaccess 檔案。記得把 feed URL 替換為你自己的網址。

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
 RewriteRule ^feed/?.*$ http://feeds.freegroup.org/freegroup [L,NC,R=301]
</IfModule>

9. 隱藏 WordPress 登入畫面的錯誤訊息

當你輸入一個不存在的使用者名稱,或是錯誤密碼來登入 WordPress 時,它會顯示相當詳細的錯誤訊息,來告訴你使用者名稱錯誤,或是密碼錯誤,這是很糟糕的。

將以下程式碼加入 functions.php 檔案來隱藏所有登入相關的錯誤提示。

function no_errors_please(){
 return 'GET OFF MY LAWN !! RIGHT NOW !!';
}
add_filter( 'login_errors', 'no_errors_please' );

10. 啟用二階段驗證功能

強烈建議開啟二階段驗證。如果有人取得了你 WordPress 帳號密碼,他們仍需要你的手機才能夠登入 WordPress 控制台。

不像 Dropbox 或 Google,WordPress 並沒有內建二階段驗證功能,但你可以使用外掛來將它加入。Authy 是相當受歡迎的二階段驗證外掛,雖然我喜歡的是Authenticator,因為它可以搭配 Google 官方的 Authenticator 應用程式使用。

11. 變更固定網址結構

不要使用 WordPress 預設的固定網址結構,因為這不利於 SEO。

前往 WordPress 控制台的設定 -> 固定網址來變更你的 WordPress 固定網址結構。從搜尋引擎最佳化及效能來看,建議使用的結構為:

/%post_id%/%postname%

12. 加入遺失的 favicon 及 touch icons

你的 WordPress 佈景主題可能沒有包含網站圖示(favicon.ico)或 Apple touch icons,但網頁瀏覽器和 RSS 閱讀器仍然可能向你的伺服器要求這些檔案。最好的辦法是提供這些檔案,而不是回傳 404 錯誤。

在你的網站根目錄放置一個 16×16 的 favicon.ico 和 144×144 的 apple-touch.png 檔案。然後在你的 .htaccess 加入以下程式碼來重新檔向所有 Apple touch icon 的請求至特定檔案。

RedirectMatch 301 /apple-touch-icon(.*)?.png http://example.com/apple-touch.png

13. 禁止索引 WordPress 程式

你希望 Google 和其他搜尋引擎可以抓取你的部落格文章,但不會希望索引你用於 WordPress、外掛和佈景主題的程式。

開啟你 WordPress 主目錄底下的 robots.txt 並加入以下代碼,來阻止搜尋引擎索引 WordPress 後台的元件。

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /feed/
Disallow: */feed/

14. 把 Admin 權限設為讀者

如果你的 WordPress 帳號是”admin”,建立一個新的使用者名稱並給他系統管理員權限。接著登出 WordPress,以新的帳號登入,將 “admin” 權限從系統管理員設定為讀者。

你也許可以考慮把帳號 “admin” 刪除,然後將現有的任何文章、頁面轉移給新帳號。這對於安全性來說是相當重要的一個步驟,因為我們不希望讓任何人有機會猜測具有 WordPress 管理員權限的使用者名稱。

15. 對搜尋引擎隱藏你的 XML Sitemaps

XML Sitemaps 可以幫助搜尋引擎更好地抓取你的網站內容,但你不會希望搜尋引擎在搜尋結果頁面顯示你的網站地圖。

將以下程式碼加入你的 .htaccess 來防止 XML Sitemals 被搜尋引擎索引:

<IfModule mod_rewrite.c>
 <Files sitemap.xml>
 Header set X-Robots-Tag "noindex"
 </Files>
</IfModule>

16. 不要使用 WordPress 內建的搜尋功能

確認你的網站搜尋功能是由 Google 自訂搜尋所提供,不要使用 WordPress 內建的搜尋功能。

WordPress 搜尋通常會傳回不相關的結果,另一個好處是這麼做能降低你的 WordPress 伺服器、資料庫負載,因為搜尋查詢將透過 Google 來進行處理。

另外,如果你打算繼續使用 WordPress 內建的搜尋功能,那就使用 Nice Search 外掛吧!它能為你的 WordPress 搜尋頁面建立更好的固定網址(/search/tutorials vs /s?tutorials)。

17. 以密碼保護你的 wp-admin 目錄

你可以簡單地為 WordPress 增加額外的安全防護,例如以密碼來保護 wp-admin 目錄。你必須要記住兩組密碼才能夠登入至 WordPress – 包括你的 WordPress 密碼,以及保護 wp-admin 目錄的密碼。

18. 在 Google 分析記錄 404 錯誤

404 錯誤會錯失使用者進入網站的機會。你可以使用 Google 分析來記錄你的 404 錯誤,包含從何而來等細節資料。

將以下程式碼加入你的 Google 分析追蹤代碼,於 _gaq.push 函式之後:

<? if (is_404()) { ?>
 _gaq.push(['_trackEvent', '404', document.location.pathname + document.location.search, document.referrer, 0, true]);
<? }

19. 刪除所有沒用到的佈景主題和 WordPress 外掛

未使用的外掛和佈景主題不會影響你的 WordPress 網站效能,但我們的目標是盡可能減少伺服器上可執行的程式碼。停用並刪除所有你不需要的東西。

20. 停止 WordPress 猜測網址功能

WordPress 有一個會猜測網址的奇怪功能,且在大多數情況下會造成錯誤。讓我解釋一下,如果一位訪客要存取 freegroup.org/hello 網址,但這個頁面並不存在,WordPress 可能會把使用者重新導向至 freegroup.org/hello-world 只因為這網址有一些常用詞彙。

如果你希望 WordPress 停止猜測網址,並以 404 找不到網頁的錯誤訊息來取代,將以下程式碼加入 functions.php:

add_filter('redirect_canonical', 'stop_guessing');
function stop_guessing($url) {
 if (is_404()) {
 return false;
 }
 return $url;
}

21. 為靜態內容設定過期時間

儲存於你 WordPress 網站的靜態內容–像是圖片、CSS、JavaScript、.txt 等等–不會經常改變,你可以設定過期時間讓它們快取於使用者的瀏覽器中。因此,在稍後訪問網站的過程裡,你的網站就能更快載入 JS 和 CSS ,因為是從本機的快取中被載入。

請參閱 HTML5 模版的 .htaccess 檔案,來了解設定過期時間的細節。如果你是使用像是 W3 Total Cache 之類的快取外掛,快取控制本身是由外掛來做管理。

ExpiresActive On
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"

22. 強化你的 WordPress 部落格安全性

我在早先已經詳細討論過 WordPress 安全性。大意是你應該把密鑰加入你的 wp-config.php 檔案,安裝檔案監控外掛,然後使用 Limit Login 來防止暴力密碼攻擊。

23. 停用 WordPress 內的檔案編輯功能

當你以系統管理員權限登入你的 WordPress 控制台,你可以輕鬆地編輯任何 WordPress 外掛及佈景主題。如果你想刪除文件的編輯功能(一個缺少的分號可能讓你的 WordPress 網站掛掉),將以下程式碼加入 wp-config.php 檔案中:

define( 'DISALLOW_FILE_EDIT', true );

24. 從網址中移除多餘的查詢參數

如果你的 WordPress 網站網址是 abc.com,如果使用者在網址加入一些查詢參數,仍然可以到達你的網站。例如,abc.com/?utm=ga 或 abc.com/?ref=feedly 就是,從技術上來說,完全不同的網址也可以進入相同的頁面。

但對於鏈結權重(SEO)來說是不好的,在理想的情況下,你應該讓所有網址指向同一個 Canonical URL。將以下程式碼加入 .htaccess 來移除掉不必要的查詢參數:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{QUERY_STRING} !=""
 RewriteCond %{QUERY_STRING} !^p=.*
 RewriteCond %{QUERY_STRING} !^s=.*
 RewriteCond %{REQUEST_URI} !^/wp-admin.*
 RewriteRule ^(.*)$ /$1? [R=301,L]
</IfModule>

最後,安裝 WordPress 後必做的 30 件事

在原文中,作者 Amit Agarwal 只列出了 24 條,但在計算時跳過第 22 項,誤植為 25 項,於是我加入最後一個、也是我之前所寫的文章,有興趣的朋友可以參考這個鏈結。

 

 

原文:https://free.com.tw/wordpress-optimization-guide/

本文參考資料為 Things You Should Do After Installing WordPress, 由免費資源網路社群站長 Pseric取得原作者 Amit Agarwal 授權。