AMANPURIでAMALを買う手順を画像付きで紹介!

【WordPress】マルチサイトを常時SSL化する方法|httpからhttpsに

だいぶ久しぶりにWordPressについて書きますw

今回紹介するのは、マルチサイト化したWordPressのサイトを常時SSL化(httpからhttpsに)する方法です。

というのも、マルチサイト化していないWordPressのサイトの常時SSL化の方法はたくさんのサイトで解説してあるのですが、マルチサイト化しているものの情報はだいぶ少なく、中にはWordPressのバージョンの関係で情報が古くなっているものもあったので、今回、自分のために記録しておきますw

SSL化の作業の前に

まずは、テーマやデータベースのバックアップをとり、WordPress本体やプラグイン等にアップデートがあれば、全て更新しておきましょう。わたし自身はSSL化で何か問題が起こったことはありませんが、起こってからでは遅いです。。。

バックアップにはプラグインが便利です。

参考

BackWPup – WordPress Backup PluginWordPress プラグイン | WordPress.org 日本語

まずはサーバー側のSSL設定

MEMO
今回はエックスサーバーを例にあげますが、基本どこのサーバーでもほぼ同じ手順でできます。
サーバーパネルにログインしたら、ドメインのところにある【SSL設定】をクリックします。マルチサイトのSSL化

SSL化したいドメインの【選択する】をクリックします。マルチサイトのSSL化

独自SSL設定追加】をクリックします。マルチサイトのSSL化

サブドメインなど設定していなければ、そのまま【確認画面へ進む】をクリックします。マルチサイトのSSL化

追加する】をクリックします。マルチサイトのSSL化

しばらくまつと完了します。マルチサイトのSSL化

これで、サーバー側のSSL設定は完了です。

WordPress側のSSL設定

サーバー側のSSL化の設定が終わったので、次にWordPress側のSSL化を進めます。

マルチサイト化していないWordPressのサイトであれば、下記の手順でSSL化できます。

  1. WordPressのダッシュボード|管理画面にログイン
  2. 【設定】→【一般】
  3. 【WordPress アドレス (URL)】と【サイトアドレス (URL)】のURLをhttpからhttpsに変更
  4. 【保存】をクリック

しかし、マルチサイト化されたWordPressのサイトで【サイトネットワークの管理】→【サイト】→【編集】→【設定】といっても、WordPressアドレス・サイトアドレスどちらも入力できない状態になっています。マルチサイトのSSL化

マルチサイト化していない場合は、普通に入力できます。マルチサイトのSSL化

ですので、マルチサイトの場合はphpmyadminを使ってWordPressアドレス・サイトアドレスを修正します

サーバーパネルにログインし、【phpmyadmin】をクリックします。マルチサイトのSSL化

注意
phpmyadminはMySQLのバージョンにあったものを選択してください。MySQLのバージョンがわからない場合は【MySQL設定】をクリックし、確認してください。マルチサイトのSSL化

MySQLのユーザー名とパスワードを入力しログインします。マルチサイトのSSL化

MySQLのユーザー名とパスワードがわからない場合
MySQLのユーザー名とパスワードはwp-config.phpファイルに記載されています。マルチサイトのSSL化

phpmyadminにログインできたら、左サイドバーから【データベース名】をクリックします。マルチサイトのSSL化

wp_options】をクリックします。マルチサイトのSSL化

option_nameのところにsiteurlとhomeがあるので、その行のoption_valueのセルをダブルクリックしてhttpをhttpsに修正します。マルチサイトのSSL化

これで、親サイトのほうはSSL化が完了しました。

で、子サイトのほうは、phpmyadminでデータベース名をクリックしたときに「wp_2options」とか「wp_3_options」のように数字のついたwp_optionsがあったかと思います。そこから、親サイトと同様にsiteurlとhomeのoption_valueをhttpからhttpsに修正します。

注意
データベースの書き換えができるプラグインがありますが、不具合を起こす事例がありますので、利用する場合はバックアップをとるなど十分に注意してください。(phpmyadminでやれば問題ないのに…

phpmyadmin上でURLの修正を行うと、WordPressの管理画面でもURLが変わっています。マルチサイトのSSL化

内部リンクの修正|httpからhttpsに

次は内部リンクの修正を行います。

記事内のURL修正

記事内のURLをひとつひとつ確認して修正していくのは、記事数が少なければできますが、SSL化の作業を行ってる方はおそらく、かなりの数の記事がたまっていると思います。

ですので、記事内の文字列を置換できる便利なプラグインを使ってhttpをhttpsに修正します。「Search Regex」というプラグインを使います。検索するとすぐに見つかります。マルチサイトのSSL化

Search Regexは解説なしでも使えると思いますが、わからない方はこちらを参考にどうぞ。

参考

Search Regexプラグイン(記事やコメント内容を一括置換)WordPressおすすめプラグイン一覧

テーマの修正

次はテーマ内に記載されたURLで絶対パスで書かれたものがあれば、httpをhttpsに修正します。おそらくテーマ内はWordPressのテンプレートタグを使っている場合がほとんどだと思いますので、絶対パスを記載していることは少ないと思います。

気をつけたいのが、ウィジェット内に記載しているURLですね。

.htaccessでhttpからhttpsへリダイレクトの設定

ここまでで、サイトのSSL化は完了しています。

しかし、外部のサイトからのリンクをたどってサイトに来た方は、リンクURLがhttpのままであれば、まだhttpのほうを見ています。なので、.htaccessを使ってhttpからhttpsへ転送させます

ドメイン直下のディレクトリ(エックスサーバーなら/ドメイン/public_html/)に.htaccessファイルがあるので、その.htaccessに次のコードを追記します。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

追記する場所は、# BEGIN WordPressの上です。
マルチサイトのSSL化

これで完了です!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です