wordpressのSSL設定
サイトの常時SSL化が進む中で、以前wordpressで設定したサイトのSSL化することが増えてきました。 基本的には通常のSSL化と同じですが、wordpress特有の設定もあるので確認しておきたいところです。
- データベースのバックアップ
- サーバーでSSL設定
- WordPressの設定からURLを変更
- 内部リンクをSearch Regexで全て置換
- .htaccessにリダイレクト用のコードを追記
- SSLエラーのチェック
- テーマなどの設定を見直し
- その他注意点
- 最後に
1.データベースのバックアップ
データベースのバックアップは通常phpMyAdminから行います。 レンタルサーバーの機能でデータベースのバックアップ機能があれば、そちらの方が簡単にできます。
2.サーバーでSSL設定
レンタルサーバーごとに設定が違うので、レンタルサーバーの設定をご確認ください。
3.WordPressの設定からURLを変更
WordPressの管理画面の設定で、 Wordpressアドレス(URL)とサイトアドレス(URL)に記載されている URLの「http」部分を「https」に変更します。
4.内部リンクをSearch Regexで全て置換
Wordpressのプラグイン Search Regexを使って「http」部分を「https」に置換します。
(1)該当部分を検索
Search patternにhttp://
を入力し、Searchボタンを押すと、該当部分が表示されます。
(2)置換の実行
Replace patternにhttps://
を入力し、Replace & Saveボタンを押します。
置換が実行されます。サイトで確認してください。
5..htaccessにリダイレクト用のコードを追記
.htaccessに下記のコードを追加
RewriteEngine On
RewriteCond %{HTTPS} !on //RewriteCond %{HTTPS} offでも良い
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
ただ、コードの位置に注意してください。
最初に301リダイレクト処理を行う処理を書いてから、その次にWordPressの処理を書きます。
この位置を間違えると、正しくリダイレクトが行われません。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on //RewriteCond %{HTTPS} offでも良い
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# 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>
# END WordPress
6.SSLエラーのチェック
- ブラウザのconsoleで確認しましょう。
7.テーマなどの設定を見直し
- 読み込んだ外部ファイルは全てhttpsで始まるもの書き換える。
- 子テーマのphpやcssを書き換え
- ウィジェット、メニューバー、ヘッダー画像のURL書き換え
- 各プラグイン中の自サイトのリンクを書き換え
- SNSのリンクボタン
8.その他注意点
- テーマカスタマイザーやテーマの機能を使って、ロゴや背景画像をアップロードしている場合、画像のURLはhttpで表示されますが、再度アップロードしなおすとhttpsで表示されます。
- googleアナリティクスやsearch consoleの設定も変更する必要があるので、忘れず行いましょう。
9.最後に
SSLの設定を行ったけど、上手くいかないという方には、私の方で対応することも可能です。
お気軽にご相談ください。