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

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

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

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

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

<metaname=”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 檔案中。

OptionsAll-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 替換為你自己的網址。

<IfModulemod_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 的請求至特定檔案。

RedirectMatch301/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 被搜尋引擎索引:

<IfModulemod_rewrite.c><Filessitemap.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()){returnfalse;}return $url;}
21. 為靜態內容設定過期時間
儲存於你 WordPress 網站的靜態內容–像是圖片、CSS、JavaScript、.txt 等等–不會經常改變,你可以設定過期時間讓它們快取於使用者的瀏覽器中。因此,在稍後訪問網站的過程裡,你的網站就能更快載入 JS 和 CSS ,因為是從本機的快取中被載入。

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

ExpiresActiveOnExpiresByType 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 來移除掉不必要的查詢參數:

<IfModulemod_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 件事

來源:http://mypaper.pchome.com.tw/ystattdi/post/1329553289/

最後修改日期: 2019-08-27

作者

Leave a Reply

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

  Subscribe  
Notify of