外出自粛と言うことでこの機会にマルチサイト化したWordPressのブログをSSL化してみました。
今回SSL化したサーバーはスーターサーバーでドメインはスタードメイン。
WordPressマルチサイトのSSL化はエックスサーバーで経験しているので、それほど苦戦することはないと思っていましたが、今回のブログは運用歴が長く記事数が2000超えしていたからなのか若干苦戦を強いられました。
スターサーバーで運営しているWordPress マルチサイトのSSL化の手順の要点を記しておきます。
マルチサイトのSSL化はデータベースを書き換える必要があるため上級者向け
WordPressの通常(マルチサイトではない)のブログSSL化は、データベースを書き換える必要がないので比較的楽。
しかし、マルチサイト化したWordPressのブログはWordPressのデーターベースを書き換える必要があるのでやや敷居が高いです。
データーベースの書き換えに失敗するとブログがエラーになるおそれがあるので、自信がない人はやめておくのが無難です。
マルチサイトSSL化の手順
WordPressマルチサイトのSSL化の手順は以下の通りです。
- SSL化するWordPressのバックアップを取る。
- サーバー(今回はスターサーバー)で対象とするドメインのSSL化設定を行う。
- データベースでhttpをhttpsに書き換える。
- プラグインを使って、ブログ内の内部リンクのhttpをhttpsに書き換える。
- 「http//~」にアクセスがあった際に「https//~」へ転送するように、.htaccessファイルにコードを入力する。
- Google AnalyticsとGoogleサーチコンソールを使用していたらhttpsへ変更する。
WordPressのファイルのバックアップを取る
Wodpressのデータベースの書き換えや内部リンクの書き換えを行う際に、間違って書き換えてしまうと、WordPressが正しく作動せず、ブログが表示されなくなる可能性があります。
なのでまずはWordPressをバックアップしておきます。
WordPressは、ファイル(PHP,プログラム言語)の部分とMySQL(データベース)の2つデータによって動いています(プログラム言語には詳しくないので、ざっくりとしたイメージです)。
なのでこの2つのデータをバックアップします。
バックアップ方法は、(1)FTPソフト+phpMyAdminのエクスポートを組み合わせる方法と、(2)プラグインを使う方法の2つの方法があります。
今回は(1)FTPソフト+phpMyAdminのエクスポートでバックアップを取りました。
FTPソフト+phpMyAdminエクスポートでバックアップ
FTPソフトはWordPressファイル(PHP)のデータをバックアップし、phpMyAdminのエクスポートはデータベースのデータをバックアップします。
バックアップデータは自分のパソコンやクラウド等にダウンロードします。
FTPソフトによるWordPressファイルのバックアップ
FTPソフトはFileZillaを使いました。フリーソフトです。
使い方やWordPressのバックアップの詳細な方法は、ネット上にたくさん存在するので割愛します。下記記事をご参考に。
【FileZillaの使い方】WordPressでFTPソフトを使おう
FileZillaでスターサーバーに繋げる際に、FileZillaへの設定が必要です。設定時に入力する箇所は以下の通り。
- ホスト
- ユーザー
- パスワード
ホスト、ユーザー、パスワードは、スターサーバーでWordPressをインストールした際に設定したもの(もしかすると自動設定かも)です。
ちなみにホストは、sv××.△△△△.netowl.jp(×は数字)、ユーザーはブログのドメイン(abcd.comなど)、パスワードはFTPパスワードです。
FTPパスワードを忘れた場合、パスワードの再設定を行えばOK。下記のスターサーバーの公式サイトのページにパスワード再設定の方法が書かれています。
phpMyAdminエクスポートによるデータベースのバックアップ
データベース(MySQL)は、phpMyAdminからエクスポートしてデータを抽出し、パソコンにダウンロードします。
phpMyAdminはスターサーバーの管理ツール内にあります。
管理ツールの左側のカラムにある「データベース設定」をクリック、
phpMyAdminのタブをクリック、
phpMyAdmin一覧が出るのでバックアップしたいMySQLホスト名のログインをクリックすると、
ユーザー名とパスワードを聞いてきますので、ユーザー名とパスワードを入力します。
するとphpMyAdmin画面が表示されます。
ユーザー名は、MySQLユーザー(例:mno_wp1)、パスワードはMySQLパスワードのパスワードです。
MySQLユーザー名とパスワードが分からない場合は、WordPressのwp-config.phpファイルで確認ができます。下記のメイトネットオウルのQ&Aが参考になります。
スターサーバーのSSL化
次にサーバー(今回はスターサーバー)で対象となるドメインのSSL化設定を行います。SSL化は簡単。スターサーバーにマニュアルがあるのでその通りやればOK。
反映されるのに時間がかかる場合もあるようですが、今回はすんなりと反映されました。
WordPressのURLをhttpからhttpsへ書き換える
反映されたらWordPressサイトのURLをhttpからhttpsへ書き換えます。
マルチサイト化していないWordPressサイトの場合は、WordPressの管理画面で書き換えることができます。しかし、なぜかマルチサイトの場合は管理画面で書き換えができません。そこで書き換えはデータベース上で行います。
データベースはphpMyAdminで書き換えします。データベースのバックアップで使用したphpMyAdminです。
phpMyAdminにログインし、データベースの各テーブル内にあるhttpをhttpsへ書き換えます。以下のサイトの記事が参考になります。
[wordpress] (マルチサイト)のURLを、SSL化(HTTPS)にする手順
wordpressマルチサイトのSSLの仕方(エックスサーバー)
【WordPress】マルチサイトを常時SSL化する方法|httpからhttpsに
データベースをいじるとWordPressの管理画面が表示されないことがあります。その場合は書き換えを間違えている可能性があります。
焦らず慎重に書き換えます。
上手くいかない場合はデータベースをいじる前の状態に戻せばダッシュボードは復活します。
またhttpsに書き換えた後は、WordPressの管理画面のアドレスはhttps//~となります。http//~だと表示されないのでご注意を。
プラグインでブログ内の内部リンクのhttpをhttpsに書き換える
これでWordPressのアドレスはhttpsとなりました。
しかし、ブログ内の内部リンク(画像のリンクなど)はhttpsへ書き換わっていません。ページの左上に保護されていないと表示(鍵マークではなくiマーク)されます。
ブログのページにhttpがあると、そのページはブラウザは保護されていないページだと認識します。
なのでブログ内の内部リンクもhttpsへ書き換える必要があります。
プラグインはSearch Regexを使います。Search Regexで一括変換ができます。使い方は下記のサイトの記事が参考になります。
WordPressをhttpからhttpsにSSL化した全手順まとめ(エックスサーバー環境)
Search Regexの一括変換に失敗する場合の対処方法
今回、Search Regexのhttp→httpsの一括変換が上手くいかずエラーが出ました。
今回のSSL化で一番手間取ったところです。過去に行ったSSL化ではまったく問題なく一括変換できていたのですが。
ネットで調べてみると原因は2つ考えられました。
- Search Regexが古くてphpプログラムを修正する必要がある
- 記事数が多すぎて変換が困難
まず、1.のSearch Regexのphpプログラムを疑い、下記サイトの記事を参考にphpに新たにコードを挿入しました。
Search Regexを使ったらサイトに重大なエラーがありましたと出た
Search Regexのphpプログラムにコードを挿入後、いくつかはhttp→httpsへの変換ができたものの、途中でエラーが出て全てを変換することができませんでした。
次に2.の記事数が多すぎて変換が困難というのも原因の一つと考え、分割して変換することにしました。下記サイトの記事が参考になります。
SSL化 記事数が多くて「Search Regex」の一括変換に失敗する場合の対処法
これで内部リンクはhttpsへほぼ変換できました。
.htaccessファイルにコードを入力し、httpからhttpsへの転送設定をする
WordPressのトップページや各記事ページのURLはhttpsになりました。
でもこのままの状態では検索エンジンや外部リンクからのアクセスは「http//~」の方へ送られます。なので、ほっとくとブログのアクセスが激減することに。
この問題を解消するために、「http//~」を「https//~」へ転送するように設定します。
転送の設定は、.htaccessファイルに新たにコードを入力するだけで可能です。コードの意味はわからくてもOK。・・・自分も分かりません。
ちなみに.htaccessは超重要なファイルなので絶対にバックアップを取っておきます。コードを間違ったり、誤ってコードを削除してしまうとWordPressが表示されなくなります。
FileZillaでWordPressのファイルを全てバックアップしていれば、.htaccessファイルもバックアップされているはずです。
心配な人は、.htaccessにコードを入力する前に、パソコンにダウンロードしておくと安心できます。
挿入するコードとコードの入力方法は以下のスターサーバーのマニュアルをご参考に。
.htaccessの編集は、スターサーバーのFTPファイルマネージャーを使うと簡単です。
スターサーバーのサーバー管理ツールにログインし、アカウント設定 > 対象ドメインを選択 > WebFTPにログイン でFTPファイルマネージャーが表示されます。
.htaccessがある場所は、自分のWordPressの場合、トップドメイン(abcd.comなど)の直下にありました。
ファイルの名前の左のアイコン(↓のアイコン)をクリックするとダウンロードできます。
操作の列の左端のアイコン(鉛筆のアイコン)をクリックするとファイルの編集画面が表示されるので、ここでコードを入力します。コードは一番上に入力し、保存します。
Google アナリティクスとGoogleサーチコンソールの変更
GoogleアナリティクスとGoogleサーチコンソールを利用していたら、これらもhttpsへ変更します。
設定をhttpのままにしておくと、httpsのブログの分析・計測がされません。
GoogleアナリティクスとGoogleサーチコンソールの設定変更は、以下のサイトの記事が参考になります。
サーチコンソールで、プロパティタイプの選択でドメインを入力する場合は、サーバーにDNSレコードを入力するする必要があります。以下のサイトの記事が参考になります。
2019/2020年版 Google Search Console プロパティ登録設定方法
ドメインプロパティ登録確認用 エックスサーバー DNSレコード 設定方法
ちなみに、自分の場合は所有権の確認ができなかったので、ドメインを入力する方法は諦め、URL プレフィックスを選択しました。
鍵マークがでないページが存在する場合の対処法
これでもまだ鍵マークがでないページがある場合は、そのページどこかにhttpが紛れている可能性があります。
アフィリエイトの古いコードにはhttpを含んでいて、これが鍵マークにならない原因となる場合があります。
下記サイトの方法でページのどこにhttpが紛れているか探すことができます。
【画像で解説】httpsで鍵マークが表示されない!?ブラウザーで原因箇所を見つける方法
httpを見つけたら、手作業か、Search Regexを使ってhttpをhttpsへ変換します。
Search Regexで一括変換する際は慎重に、変換がおかしいとブログ表示が崩れる可能性あります。大丈夫か試しながらやるのが無難。
また、httpsへ変更してちゃんとそのURLのリンク先が表示されるか確認しておくのも忘れずに。
アフィリエイトのURLをSearch Regexで一括変換するのは下記サイトが参考になります。
まとめ
WordPressマルチサイトのSSL化はこれで完了しました。
これでもまだ鍵マークがでないページがある場合は、そのページどこかにhttpが紛れている可能性があります。
下記サイトの方法で
アフィリエイトの古いコードにはhttpを含んでいて、これが鍵マークにならない原因となる場合があります。
その際は、手作業か、Search Regexでhttpをhttpsで変更します。(Search Regexで変換する際は慎重に、変換がおかしいとブログがおかしくなる可能性あり)
ちなみに、httpsへ変更する際は、ちゃんとそのURLのリンク先が表示されるか確認しておくのが無難です。
コメント