WordPress 網站上線前必做的 20 件事

/ 0 評 / 5

以下是我每次在正式上線 WordPress 網站前都必定會依次逐項檢查的一張檢驗清單,而根據過去的經驗,這對上線後網站的安全性、維護、管理、SEO 均有很大的幫助。

1. 刪除網站目錄下所有的 .git及 .svn文件

每次在本地或測伺服器架設好的網站,上載/同步至正式伺服器時,有機會不小心把網站目錄下 .git.svn版本文件也一併複製過去,這樣會對網站造成很大的安全問題。所以建議在上線時,若發現存在,盡快刪除。以下是相關的指令:

1
2
3
4
//刪除當前目錄下所有 .git 文件
find . -name ".git" | xargs rm -Rf
//刪除當前目錄下所有 .svn 文件
find . -name ".svn" | xargs rm -Rf


2. 刪除網站目錄及子目錄下的 .DS_Store (Mac OS適用)

.DS_Store 是 Mac OS 下 Finder 用於儲存如何顯示文件/目錄的配置文件,每個目錄下均會對應一個,而且是隱藏的,一般沒有經過特別的設定,Mac OS均會預設開啟。(相當於 Windows 下的 desktop.ini) 若採用 Mac OS 作為你開發及調試的作業系統,在上載整個網站目錄至伺服器時,很大機會會把網站目錄及子目錄下的 .DS_Store 文件也同時上載到伺服器上,這樣會把網站的文件目錄結構暴露,對網站造成很大的安全問題。所以建議在上線時,若發現存在,盡快刪除。 以下是相關的指令:

1
2
 //刪除當前目錄及子目錄下所有 .DS_Store 文件
find . -name ".DS_Store" -depth -exec rm {} \;


3. 檢查並設置網站目錄權限

在WordPress下的 wp-content目錄中,一般有幾個目錄的權限要注意,包括 plugins(外掛), themes(佈景主題), upgrade(升級文件), uploads(上載文件) 分別為這幾個目錄的權限設置為 755 (只有擁有者可以寫入,其他用戶只能讀和執行) 切換至 wp-content 目錄下,分別執行:

1
2
3
4
chmod -R 755 plugins/
chmod -R 755 themes/
chmod -R 755 uploads/
chmod -R 755 upgrades/

下一步則是將網站伺服器(以 Apache 為例)的用戶(假設用戶名及群組均為 apache)設為 uploads目錄的擁有者,將 FTP 的用戶(假設用戶名及群組均為 ftper)分別設為 plugins, themes, upgrade三個目錄的擁有者。 原因是管理 WordPress網站的外掛、佈景主題及系統升級一般使用 FTP (當然還可以採用網站直接上載安裝文件的方式),而平時在寫文章時上載圖片及其他文件時,則會使用到 網站後台上載。所以兩者所對應的目錄及權限也應該是相對的,分別執行:

1
2
3
4
chown -R apache:apache uploads/
chown -R ftper:ftper themes/
chown -R ftper:ftper plugins/
chown -R ftper:ftper upgrade/


4. 刪除所有不必要的自帶文件

WordPress 初始目錄下會有一些文件是不必要的,保留它們將有機會對網站的安全造成影響。

建議可刪除 readme.html (這是 WordPress 的說明文件,同時,它也會顯示網站所使用的 WordPress 版本)

5. 禁止瀏覽者直接訪問 WordPress 的目錄結構

大部份情況下,相信你不會希望任何人直接訪問網站下的所有檔案及目錄結構。 你可以在網站的根目錄下新增 .htaccess 文件,並有文件中加入以下的設置:

1
 Options All -Indexes


6. 刪除所有沒使用的外掛及佈景主題

WordPress 會附有預設的外掛及佈景主題,但如果你最後決定好所需要的佈景主題及外掛,請直接在控制台把其餘不必要的佈景主題及外掛刪除,因為它們將會增加網站需要的代碼,從而影響你的網站速度和效能。

7. 加入 favicon.ico 及 Apple touch icons 圖示

favicon.ico : 當你使用桌面型電腦的瀏覽器打開不同網站時,在網站名字前均會不同的圖示,這是方便用戶快速地知道你的網站在哪一個分頁,同時,亦是這個圖示網站的象徵。

尺寸是:16 x 16 px、 32 x 32px、 96 x 96px; 需要命名為 favicon.ico 並放置於網站的根目錄下; 並在網頁中的 header 加入以下語句:

1
2
3
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">

Apple Touch Icons : 由於目前大部份的瀏覽者都直接使用移動設備瀏覽網站,而 iPhone, iPad, iPod Touch等設備上的 Safari 可以讓瀏覽者直接將網站添加到主屏幕(Home Screen)上。 Apple Touch Icons是專為 iOS設備而設的圖示,如果網頁有設置相關的圖示,添加到主屏幕時,就會顯示相應的圖示。 而且 Apple Touch Icons 可以支持多種尺寸的圖示,只需在標籤中指定即可。 並在網頁中的 header 加入以下語句:

1
2
3
4
5
6
7
8
9
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">

一般在處理這個問題時,我會使用這個網站(https://www.favicon-generator.org/)。 只需上載圖片,即可自動生成 favicon.ico 及 Apple Touch Icons 的圖示及相應的代碼,不用浪費時間,直接複製貼上就可以了,讚!得到以上述代碼後,直接貼在WordPress 的 header 文件中即可。

如果不希望手動修改代碼,便可以使用這個外掛  Insert Header and Footer  安裝後即可以外掛設置中,直接把代碼貼上至 header 部份。

8. 變更管理員預設帳號(administrator)

由於大部份人於安裝 WordPress 時均沒有修改預設管理員的用戶名 administrator,可能會被有心人以指定用戶名進行定點強力破解。

建議可先建一個較複雜或意義不相關的管理員用戶名,並將權限設成"系統管理員",隨後再原管理員的帳號移除,並把原管理員帳號內的所有文章及頁面轉移給新管理員。

9. 移除網址中的 index.php

預設 WordPress 的網址中會包含 index.php

(例:https://www.samsonhoi.com/index.php/home)

但這樣看起來對用戶好像不太友好,而我們又想把它去掉,怎麼辦呢?以 apache 為例:

1. 首先確定 apache 的 mod_rewrite 模組已經開啟

1
sudo a2enmod rewrite

2. 修改 Apache 的主要設定檔(以預設路徑為例:/etc/apache2/sites-available/000-default.conf)

*先備份,個人習慣

1
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bak

使用vim 修改設定檔

1
vim /etc/apache2/sites-available/000-default.conf

在目標網站區塊部份加入以下代碼(AllowOverride All

1
2
3
<Directory "/var/www/html/wordpress_blog/">
AllowOverride All
</Directory>

修改後按:wq儲存退出

3. 重新啟動 apache

1
 sudo service apache2 restart

4. 在網站目錄下新增 .htaccess文件,文件中加入:

1
2
3
4
5
6
7
8
9
10
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule></p>
# END WordPress

10. 再次檢查網站標題及標語

於「控制台」>「設定」>「一般」,再次檢查網站標題及標語是否合適及加入主要關鍵字,這將有利於 SEO。

11. 為網站開啟 HTTPS

根據你對HTTPS證書種類的需求,安裝相應的證書(DV,OV,EV)。

如果需要免費的HTTPS證書,可以使用 Let's Encrypt 或 CloudFlare,一般博客或網站已經足夠。

具體的步驟可參照:《在 WordPress 設定 HTTPS,強制使用 SSL 安全加密協定教學》

12. 生成網站地圖 Sitemap

Sitemap 列出網站中的網址以及關於每個網址的其他元數據(上次更新的時間、更改的頻率以及相對於網站上其他網址的重要程度為何等),以便搜索引擎可以更加智能地抓取網站。

有幾種方式可以生成 Sitemap,而我建議安裝外掛  Google XML Sitemap  生成 Sitemap,方便快捷,它能夠在你發佈文章時自動為生成Sitemap。

13. 利用 robots.txt 禁止搜索引擎 Google, Bing 等索引 WordPress 系統目錄

在通知搜索引擎收錄網站前,最好先利用 robots.txt 告訴搜索引擎哪些目錄不希望被收錄,而只收錄你的文章。

網站根目錄下建立 robots.txt,並加入以下內容:

1
2
3
4
5
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/

Sitemap: https://www.samsonhoi.com/sitemap.xml

以上的內容是告訴所有的搜索引擎不允許收錄 wp-admin 及 wp-includes 這兩個目錄,以及告訴所有的搜索引擎 網站地圖的位置,而網站地圖的位置則由上一步生成的。

14. 變更 WordPress 網址結構

WordPress預設的網址結構一般為

https://www.samsonhoi.com/?p=123

https://www.samsonhoi.com/2018/01/08/sample-post/

:

這些固定格式,而這種格式往往不利於 SEO。

可前往「控制台」>「設定」>「固定網址」修改自訂固定網址的結構,結構越簡單及有代表性越好,

以本站為例:結構為:https://www.samsonhoi.com/%post_id%/%postname%

15. 開啟二步驗證功能

密碼不幸外洩,如果已開啟二步驗證功能,仍然需要取得你的手機才能控制你的網站,為安全起見,強烈建議開啟。而 WordPress 已可透過安裝外掛  Authenticator  開啟二步驗證功能。

16. 按網站的關鍵字建立分類

根據網站的主要關鍵字建立文章分類,這將有利於 SEO 及管理。

17. Google Analytics

相信不用多介紹,基本每個網站都會有的 Google Analytics,主要用於統計網站的情況!

進入 Google Analytics 註冊並取得相應的追蹤碼,並在追蹤碼複製至網站的 header.php 部份即可。

如果不希望手動修改代碼,便可以使用這個外掛  Insert Header and Footer  安裝後即可以外掛設置中,直接把追蹤碼貼上至 header 部份即可。

18. 提交 Sitemap 及使用 Google 網站管理員工具

我們於第12步成功建立網站的 Sitemap 後,接下來,我們便要通知 Google:「Hi,我們的網站是這樣的」 Google 檢查無誤後就會加快收錄你的網站並建立索引,並且提供網站的錯誤記錄及其他訊息。

只需進入 Google網站管理員工具頁面,並按指示設置即可。

19. SEO

為了讓網站更好地被搜索引擎收錄及在排序上有更好的效果,可以透過安裝外掛 All In One SEO Pack ,簡單地實現 SEO。

20. 自動定期備份網站

天有不測之風雲,網站也說不定哪天突然發生問題,這個時候,備份就能發揮它的作用,至於如何備份?可以用老方法(下載網站文件、備份資料庫等等),但更簡單的是安裝外掛 UpdraftPlus WordPress 讓系統自動定期備份網站,不止可備份在網站伺服器上,同時亦可同步備份至指定的雲端硬碟上。

為了確保網站的安全、SEO、可靠性,以上就是我個人在 WordPress 網站上線前必定會依次做的 20 件事,每個人的做法可能各有不同,如有更好的做法或建議,歡迎互相交流!

如需轉載,請遵守 署名-非商業性使用-禁止演譯 4.0 國際 (CC BY-NC-ND 4.0)」創作共享協議。謝謝!

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *