昨日、WordPressで作っているこのサイトをSSL化しました(SSLはSecure Sockets Layerの略だそうです)。具体的にはサイトにアクセスしてもらったとき、ブラウザのサイトのurl表示のところが鍵マークになり、ブラウザとサイトのサーバー間の接続が暗号化されるようになるということです。最近のブラウザではhttpsでアクセスしないと警告表示がでたりしますので多くのサイトが常時SSL化をしています。昨日やってみましたが以外に簡単にできました。今後はアクセスするときのurlがhttp://glycostationx.orgからhttps://glycostationx.orgにかわるというわけです。
以下は覚書をかねたSSL化したときの手順です。各自ご自分のサイトに合わせて読み替えてみてください。(写真はひと月ほど前に咲いていたリンゴの花です。今年は去年より沢山花が開きました。意外かもしれませんが、九州ではリンゴも栽培されています。)
1.最初にSSL化の失敗に備えて、サイトhttp://glycostationx.orgを丸ごとバックアップしました。サイト自体をAll-in-One WP Migration というWordPressのプラグインでバックアップして保存しておきます。やり方は簡単で、このプラグインをインストールしたあと起動し、エクスポートを選びます。画面がエクスポート用画面に変わるので、エクスポート先をクリックして出てきたメニューから、ファイルを選びます(クラウドを選ぶこともできます)。するとサイト名であるglycostationx.orgをダウンロード、サイズ:何メガバイトなどと表示されるので、拡大収縮表示されている部分をクリックして、保存先をパソコンの適当な場所に指定してダウンロードしたらOKです。この作業は以下を参考にして実施しました。
https://smakoma.com/wordpress-backup-restore.html
(もちろんこのようなプラグインを使わず、ftpなどでサイトのファイルを丸ごとダウンロードすることもできます。こちらのほうがギガバイト以上あるようなサイトの場合は早くて確実だと思います。)
2. サイトのバックアップができたら、次に私の使っているレンタルサーバーで無料のSSL証明書を発行してもらってSSL化を申請して、http://glycostationx.orgをhttps;//glycostationx.orgに変えました。これはレンタルサーバーごとに手順があるのでお使いのサーバーのマニュアルなどで調べるか、Google検索などでレンタルサーバー名とSSL化などのキーワードで探してみてください。エックスサーバーでのやり方を解説している以下のページはとても参考になりました。https://nelog.jp/wordpress-ssl
私の使っているレンタルサーバーでは、SSL化を申請後、1時間もかからずにサイトにhttps://glycostationx.orgでアクセスできるようになりました。
3.次に、WordPressのダッシュボードで、設定―一般とすすみ、WordPressアドレス(URL)とサイトアドレス(URL)の項目(どちらもhttp://glycostationx.orgになっている)をhttps://glycostationx.orgへと変更して変更を保存します。
4.次に、http://glycostationx.orgをブックマークしてある方などをhttps://glycostationx.orgへと自動で誘導するように設定する作業を行います(これはサーバー側での301HTTPリダイレクトというそうです。)。これには.htaccessのファイル(ドットエッチティーアクセスファイル)を編集します。とても簡単な作業で、
サイトの”.htaccess”ファイルの先頭に以下を追加しておくだけでOKです。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
.htaccessファイルの編集には、自分のドメインのフォルダの下にあるpublic_htmlの中にある.htaccessファイルを編集します。レンタルサーバーが.htaccessファイルを編集する手段を提供している場合はレンタルサーバーのツールで編集するのもよいですが、安全のため、いちどftpなどで.htaccessファイルをダウンロードして、保存しておき、テキストファイルエディタで開いてみて中身をよくみてから編集するのをすすめます。
今回、サイトでの.htaccessファイルのありかを確認してftpでダウンロードし、編集してアップロードするには、WinSCPというファイル転送ソフトを使いました。
https://winscp.net/eng/docs/lang:jp
このソフトはデフォルトではドットが先頭についている隠しファイルは表示しないので、ソフトを起動して環境設定―パネルを選び、「一般」にある「隠しファイルを表示する」にチェックを入れるのを忘れないようにしてください。こうすると.htaccessファイルが表示され、ダウンロード、アップロードができるようになります。編集が終わったら、編集済みファイルをWinSCPでアップロードしてもとあった.htaccessファイルに上書きしたら完了です。http://のサイトurlでアクセスしてhttps://のサイトへ飛ぶことを確認してください。
WinSCPは九大での旧ホームページ作りにも使っていたとても便利なFTP/SFTP/SCPクライアントソフトです。他にもiPadへのWindowsからの電子ブック転送とかにも使って重宝しています。
5.次に、自分のサイト内での画像やpdfへのリンクなどにhttp://glycostationx.orgではじまるurlを使っているので、これらをすべてhttps://に変える必要があります。1.でバックアップができていることを確認した上で、サイト内のhttp://glycostationx.orgの記述(画像やpdf, サイト内の別のページへのリンクなど)をhttps://glycostationx.orgへ一括で変更します。一括変更には、WordPressのプラグインSearch Regexを使います。このプラグインでブログ内の記述でhttp://glycostationx.orgで始まるものを検索、これをhttps://glycostationx.orgに一括で変更できるので大変便利です。検索にはプラグインのタイトルどおり正規表現も使えますが、単なる文字列でも検索・置換ができます。
注意:このプラグインは更新が3年ほどなされていないため、最新のWordPress(バージョン5.2)で使うと、エラーのメールがとどきます。ブログ名のあとに「サイトで技術的な問題が発生しています」というタイトルのメールがとどいて驚いたのですが、内容は、
”エラータイプ E_ERROR が ブログサイトのwp-content/plugins/search-regex/view/results.php ファイルの 26 行目で発生しました”などというものでした。
Google検索で以下のキーワードで調べてみると、
「”search regex” wordpress 技術的な問題が発生しました」
次のような解決策のページがありました。
https://smakoma.com/search-regex-error.html
このページのとおり、WordPressのダッシュボードからプラグインを選び、プラグインエディターを開いて、該当のエラー行を削除したら完了です。この作業後はもうエラーのメールはこなくなりました。
エラーがでなくなったところで、プラグインをインストールしてあれば、ツールメニューにSearch Regexがありますので、クリックして起動します。SourceにはPost Contentをまず選びます。Limit toとOrder Byはデフォルトのままでよいです。http://glycostationx.orgを検索して、https://glycostationx.orgへと置換したいので、Search patternと書いてある検索窓にhttp://glycostationx.org、Replace patternと書いてある置換窓にhttps://glycostationx.orgといれて、Replaceボタンを押します。するとサイト内のhtml記述中のhttp://glycostationx.orgで始まる部分が全部表示され、https://glycostationx.orgで置換された表現も併せて表示されます。この段階では置換は行われていません。ちゃんと置換すべき部分が表示されているかどうか、全部確認した上でOKならReplace & Saveボタンを押せば全部置換してくれます。このボタンの操作は戻せないので確認は慎重にしてください。終わったら他にhttp://glycostationx.orgの記述がないかを、SourceをPost excerptにして再確認します。あれば確認して置換します。他のSourceについても順次作業を繰り返し、終わったら置換終了です。
6.最終確認です。ChromeとかFirefoxとかでサイトにアクセスしてちゃんと鍵マークが表示されるか試してください。トップページや固定ページごとに試してみて全部鍵マークが表示されればOKです。私の場合は、論文と研究概要の固定ページでエラーになり、鍵マークが表示されませんでした。その部分をクリックすると画像が疑わしいというようなメッセージがでました。そこで、ブラウザのChromeで問題のあるページを表示して、右クリックしメニューの中の検証をクリックします。表示されるページでConsoleをクリックすると、問題のある画像がどれか教えてくれるので修正することになります。私の場合は、画像を九大の旧サイトを参照することで表示しており、このサイトへのリンクがhttpsではなかったからエラーになったのがわかりました。訂正すると無事、全部鍵マークになりました。
7. あとはGoogle Search ConsoleやGoogle Analyticsへの登録が必要になったりするサイトもあるかもしれませんので、その場合は、各自検索して調べてみてください。
私はGoogle Search Consoleを使っていますが、その場合はプロパティの追加で、URLプレフィックスではなくて、ドメインのほうを選びます。ドメイン名を入れて続行ボタンを押すと、「DNSレコードでのドメイン所有権の確認」という画面に変わり、テキストレコードが発行されます。このテキスト(特定のドメインの同定用の文字列です)をコピーして、サイトのサーバーのDNS編集画面から、このテキストを内容とするTXT タイプの新しいDNSレコードを作成します。DNSレコードの追加が終わったら、あとはGoogle Search Consoleの「DNSレコードでのドメイン所有権の確認」画面で確認ボタンをおして所有権を確認します。確認がまだですというような画面がでたら10分ほどおいて再度確認すると確認が終わると思います。この方法を使えば、http://glycostationx.orgの時のデータもそのまま移行されるので便利です。http://glycostationx.org, https://glycostationx.org, http://www.glycostationx.org, https://www.glycostationx.orgそれぞれについてプロパティをGoogle Search Consoleで作成して所有権を確認‥‥という面倒な手順は不要です。
この方法は、「サーバー名 dns レコードでのドメイン所有権の確認」という検索キーワードで見つけました。