WordPressサイトをhttps化する時の手順と、チェックポイントです。
難しいと思われがちなhttps化ですが、実は驚くほど簡単です(しかも無料)。まだやっていない方は、ぜひ対応してみてください!
https化は意外と簡単!
WordPressサイトをSSL(https化)する手順
今どきどこのサーバー会社でもSSL(https化)する上での費用は0円です。ボタンをポチッとするだけ。わたしはXserverを使っているので、画面はXserverになりますが、「サーバー会社名 + SSL」などで調べて、ご自身のサーバー管理画面からポチポチしてください。
XserverでのSSL設定
Xserverを例にすると、サーバーパネルから「SSL設定」
https化する対象ドメインを選択。
「独自SSL設定の追加」から「独自SSL設定を追加する(確定)」で追加の依頼が完了です。
依頼すると下記のようなメッセージが表示されます。
SSL新規取得申請中です。しばらくお待ちください。
※処理には数分程度かかる場合があります。
httpsの処理が完了したかどうかは、今のURLをhttpsに変更してアクセスしてみてください。まだの場合は、「安全ではありません」的なメッセージが全面に表示されます。
各サーバー会社のSSL手順
Xserverを例にしましたが、他のサーバーでも無料で申請ができるはずです。主なサーバー会社のマニュアルへのリンクをまとめました。ご自身が契約しているサーバー会社の手順を参考に同様の対応を行ってください!
WordPressの内部リンクをhttpからhttpsに書き換える!
サーバーでhttps申請してもhttps化対応したことにはなりません。現時点では、httpsでもアクセスできる状態というだけです。
WordPressサイトにおいて書き換えるポイントは3つです。
※ 失敗しても元に戻せるように必ずバックアップを取得しておくことをおすすめします。
参考:WordPressのバックアップは「All-in-One WP Migration」でDBもテーマもオールOK!!
投稿ページを書き換える
1つ目は投稿ページです。画像や内部リンクなど、たくさんのリンクがhttpの状態で保存されていると思います。これを1つ1つ目視で変更していってもいいのですが、たぶんめっちゃ時間がかかります。
投稿ページ、固定ページを一括で置換してくれる「Search Regex」がおすすめです。
例えば、当ブログがまだhttp状態だったとすると、
- Source → Post Content
- Search pattern → https://haniwaman.com/cms
- Replace pattern → https://haniwaman.com/cms
といった具合に、「http:// + ドメイン名」を「https:// + ドメイン名」に一括置換すろという処理を行えます。
テーマ内に直書きされたhttpをhttpsに書き換える
テーマによっては、テーマファイル内に直接URLが直書きされているものもあったりします。こういうのも「Search Regex」と同様に置換していきましょう。
また、haniwaman.comのドメインを例にすると、
- テーマファイルをダウンロード
- Sublime Textなどファイルをまたいで一括置換できるエディタで「https://haniwaman.com/cms」を検索(ご自身のドメインに合わせて変更してください)
- https://haniwaman.com/cms → https://haniwaman.com/cmsに置換
- 置換後のテーマフィアルをアップロード
のような感じになります。
ウィジェットやメニューをhttpsに書き換える
WordPressのhttps化では、ここが一番面倒くさいです…。
ウィジェットとか、メニューは「Search Regex」で置換対象にならないので、目視での変更となります。
最低限で確認しておくべきは、以下の3点です。
- カスタマイザー
- ウィジェット
- メニュー
目視で確認して内部リンクとなりうるURLがあれば、手動で変換していってください。
管理画面のサイトURLをhttpsに変更
最後に、管理画面からトップページのURLをhttpsに変更してあげます。
設定 → 一般 から以下の2点を変更してあげます。
なお、ここのURL記述を間違えたまま更新すると更新すると管理画面にログインできなくなりますので、十分にご注意ください。(データベースを直接編集する必要がでてきます…)
- WordPress アドレス (URL)
- サイトアドレス (URL)
Before
After
httpへのアクセスをhttpsにリダイレクトさせる
httpにアクセスされた際にhttpsへ強制的にリダイレクトさせる記述です。
.htaccessの最初に以下の記述をそのままコピペしてください(wp-contentとかと同じ階層にあるファイルです。)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
そのままですが、すべてのアクセスをhttpsのURLに301リダイレクトさせるという処理になります。301は恒久的な転送です。
SSL(https化)した後の確認ポイント
SSL化したあとは、鍵マークが壊れていないか確認しましょう。
内部リンクに1つでもhttpの状態のURLが含まれていると、ページ全体が「安全ではない」と理解されて、URL入力欄の鍵アイコンが壊れた状態になります。
※ アイコンの見栄えはブラウザによって異なります。以下の画像はFirefoxでの例です。(ただ、OKの場合はだいたい同じで緑の鍵アイコンになっているかと)
OK
NG
もしOK状態の鍵アイコンでなければ、そのページにhttpへの内部リンクがないか血眼になって探しましょう!
httpsサイトをSearch Consoleに新しく登録
Search Consoleにサイトを登録して管理している人も多いと思います。Search Consoleではhttpサイトとhttpsサイトは別物として認識されます。
ですので、https化した際は新しく登録してあげてください。httpとhttpsの2つのサイトが存在することになります。
(httpサイトも削除せずに一応残しておきましょう。過去のデータ見たくなったときのために…)
おわり
WordPressサイトをhttps化する流れと確認ポイントでした。
- サーバーでhttps化するのはボタン1つ押すだけ、
- WordPressでの対応はhttpをhttpsに置換するだけ
というとても簡単な流れで行なえます。
GoolgeがhttpsであることをSEOにおける1つの指標としている以上は、対応しておいた方がいいことは間違いありません。
無料でかつ置換するだけ行えるので、まだ対応していない方はぜひWordPresサイトのhttps化に取組んでみてください!