為 WordPress 加上 SSL

只要在 wp-config.php 加上這兩句,就可以強制 wordpress login 和後台時使用 SSL
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

如果想全站使用 SSL,就需要到後台 設定 –> 一般
將 WordPress 位址(URL) 和 網站位址(URL) 都加上 https

wordpress ssl address

加上 https 後應該可以加密瀏覽 wordpress,但相信大部份人都會發現不少網頁的 css 排版出問題,這是因為有些 plugin 並沒有使用 SSL 連線,所以需要在 functions.php 加上以下 code

/**
* force plugins to load styles with SSL if page is SSL
*/
function enqueueStylesFix() {
        if (!is_admin()) {
                if (!empty($_SERVER['HTTPS'])) {
                global $wp_styles;
                foreach ((array) $wp_styles->registered as $script) {
                if (stripos($script->src, 'http://', 0) !== FALSE)
                        $script->src = str_replace('http://', 'https://', $script->src);
                        }
                }
        }
}

另外還有一些小工具可能都沒有 SSL 連接,所以需要更改為 https 連接,如 Google 的自訂搜尋官方 code 就只是 http,所以需要更改為 https.
不過有時小工具如 histat博勢力等都不支援 SSL 連接,就只好放棄了。

最後,wordpress 站內的相片多是直接使用 http 的 link,所以最好更改一下 database,將它轉為 https,令伺服器不用每一次 link 都是 redirect 一次,減輕伺服器負擔和加快網頁速度。
可以使用 Better Search Replace 來簡單地將所有 link 一次過轉換。

wordpress ssl search and replace

enterpr1se_info cert info
成功使用 SSL 了