備忘録:WordPressをhttpからhttpsに常時SSL化した手順メモ(エックスサーバー)

他のサイトでもWordPressをhttpからhttpsへ変更した際の記事はいろいろ出ていますが、自分なりに手順をメモしておきたいので投稿します。

メモなので、細かくは書いておかないので、そのあたりは詳しく絵付きで書いている人の記事を参考にしてください。

今回はまあだめになったらそれでもいいよという自分のサイトを直します。

参考サイト

まず、以下の方法よりもっと参考にしたほうがいいサイトがあるので、こちら紹介しておきますね。

WordPressをhttpからhttpsにSSL化した全手順まとめ(エックスサーバー環境)

 

さて、以下はメモ用に保存です。

1. エックスサーバーの管理画面でSSL設定をしておく

最低1時間と書いてありますが、安定しておいたほうがいいので、前の日とかにしておくといいかと思います。

2. URLで手作業でhttpsに変更してきて反映されているか確認する

設定してしばらくたったら、管理画面やサイトをhttpsにURLを変更してみる。
サイトが表示されれば変えてもOK。

3. バックアップ(FTP、MySQL、WordPressデータエクスポート)

プラグインを使う方法もあるけど、私は昔からこの3つをやっておきます。
何かないことがほとんどですが、何かあったらほんと大変なので。

head cleanerプラグインなどを入れてある場合は、キャッシュが肥大になっていてFTPにえらく時間がかかる場合があるので、いったんキャッシュを削除したりするといいかと思います。

参考サイト→「WordPress」の定番プラグイン!「Head Cleaner」がWebサーバーのディスク容量を圧迫する問題に関する対策方法について

写真が多い場合には、FTPのバックアップにかなり時間かかりますのでお茶でも飲んで待ちましょう。

4. WordPress管理画面からhttp → httpsに変更

変更したら、改めてhttpsの管理画面からログインして、httpsのサイトを開く

5. 画像の置換「Search Regex」プラグインで画像URLをhttpsへ変換

変更した後、まったく画像が表示されなかくて焦ったんですが、「head cleaner」プラグインがやはり悪さを^^;
何かあるとたいていこいつなので削除しました。

あと、カスタムフィールドにも対応しているとのことですが、カスタム投稿で作ってある置換ができていないサイトがありました。とりあえず調べているより手作業で直したほうが早いので直しちゃいましたが、数の多いサイトだと厳しいなと思ったので、プラグインを修正します。

「Search Regex」ver1.4.16にての説明です。バージョンが違うと使えないかもしれません。

例えば、カスタム投稿タイプが「notes」だった場合、

「search-regex/searches/post_content.php」の7〜8行目あたりに

$sql = "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('post','page') ORDER BY ID ".$orderby;

となるのを

$sql = "SELECT ID, post_content, post_title FROM {$wpdb->posts} WHERE post_status != 'inherit' AND post_type IN ('post','page','notes') ORDER BY ID ".$orderby;

という感じに、後ろに追加します。

こうすると、カスタム投稿タイプも検索できるようになります。

参考サイト → WordPress 記事の内容を検索・置換ができるプラグインの紹介

6. テーマファイルに記述してあるものでhttpなどになっているものは修正

最後にURLが「保護された通信」となればOK。(Chrome使用の場合)

7. 最後に.htaccess のリダイレクト設定を追加

このままだとhttp://もつながってしまうので、.htaccessファイルへリダイレクト設定を追加します。

# BEGIN httpからhttpsへリダイレクト
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END httpからhttpsへリダイレクト

一応.htaccessはバックアップしてからやってくださいね。

8.Google Analyticsの設定変更

Google Analytics に登録している場合はURLを変更します。
サイトの方は修正はいらないので、Google Analyticsの管理画面の方を修正します。

「アナリティクス設定」→「プロパティ設定」→ デフォルトのURLを「https」に変更

9.Google Search Consoleへ登録

Google Search Consoleは登録してあっても、修正ができないようなので、再度新規にURLを追加します。

(2017.02.15追記)
手順に慣れてきて、常時SSLにした直後に登録したら、
「SSL/TLS 証明書にドメイン名 https://◯◯◯.com がありません 」というメールをGoogle search Consoleからもらってしまいました。なんだろうと思ったら、同じように記事を書いている人がいて、早く登録しすぎたようなことが書いてありました。
ですので、登録後1日経過した後とかに登録した方がいいのかもしれません。

その他

(2017.02.10追記)
ドメイン直下にいくつもWordPressを入れてある場合に、パーマリンク設定をしてあって、それぞれのフォルダに.htaccessがある場合にうまくいかないことがありました。
上記の記述を、それぞれのフォルダにある.htaccessファイルの一番上にコピペするとうまくいきます。

(2017.02.13追記)
あるサイトで「MapPress Easy Google Maps」プラグインのエラーが出ることがありました。

エラー画面

こういうエラーです。
考えられる原因は
1.Google Maps APIのエラー
2.他のプラグインとの相性エラー
とかなんですが、
1については、常時SSLになる前から設定してあるので問題ありません。
調べた結果、2の方でした。
「Nivo Slider for WordPress」というスライドショーのプラグインを入れていたのですが、これがかなり古かったのでエラーが出ていたようです。こちら停止したらエラーなくなりました。

コメントする