ブログやサイトの「常時SSL化」つまりURLを「https」にするのが最近の世の中の流れですが、これって絶対に必要なことなのでしょうか。
今回はサーバーとか重要なファイルを触るのが苦手な私が、面倒臭いけどSSL化をした内容を書きます。これから行う予定の人(初心者向け)の参考になればと思います。
常時SSL化とは
もう名前を聞いただけで嫌な気分になりますよね。お気持ちすごく判ります。
私もブログデザインを考えるのと記事を書くこと以外は本当にやりたくありません。
この「SSL化」とは、簡単に説明するとサイトやブログのセキュリティを強化するものです。
今までは企業などの個人情報を取り扱うようなセキュリティ対策が必須とされるサイトがお金を払って取り入れていたものですが、誰でも無料で行えるようになってからは個人ブログでSSL化されるケースが増えました。
SSL化するとアドレスが「http://〜」から「https://〜」に変わり、アドレスの左隣に鍵マークが表示されることで完全にSSL化(常時SSL化)されたということになります。
セキュリティ対策以外にも「SEOで有利になる」「表示速度が上がる」なんて言われたりもしますが、それほど大きな差はないと言う意見もあります。
私としては、運営するサイトやブログのセキュリティが向上するのならもちろんやっておきたいことですが、この作業が少々面倒なんですよね…
調べてみると「.htaccessでリダイレクトをかける!」「データベース触るから絶対気を付けて!」「今までの記事内のリンクも修正しなきゃダメだよ!」などなど…
これだけ見て私が思ったのが「SSL化ってみんなやらなきゃいけないの?」という疑問でした。
SSLは絶対に必要?やらなくてはいけないのか
そもそもこのSSLって絶対に必要?やらなきゃいけないの?って思う人もいるのではないでしょうか。
冒頭で書いたように私も面倒で危険なことは絶対やりたくないので調べました。やらなくていいならやらない!と調べまくった結果、このようなことが判りました。
「今後どのサイトでもhttpsが標準となる」
つまりこれからはhttpsのサイトやブログが当たり前になってくるということ。
えぇ…じゃあやらなきゃだめじゃん…
仕方ないのでこのブログでも設定することにしました。
環境としては「エックスサーバー」でテーマが「simplicity」です。同じような環境の人はもちろん、そうではない人にも多少参考になる部分があると思います。
SSL化の手順
私が実際にSSL化した流れを書いていきましょう。大きく分けて4つのステップになります。
念のためですが、こういった作業をするときは必ずバックアップを取ってから行うことをおすすめします。
サーバー(エックスサーバー)で独自SSL設定を追加する
まず、サーバーパネルにログインして「SSL設定」を選択します。
すると所有するドメインが全て表示されるので、対象のものを選び「独自SSL設定を追加する」をクリックします。CSR情報というチェックボックスは無視して問題ありません。
設定の追加が終わると反映されるまでしばらく待機することになりますが(最大一時間程度)、その間試しにSafariでhttpsのアドレスで叩くとこのような文言だけが表示されます。
プログラム設定の反映待ちである可能性があります。
しばらく時間をおいて再度アクセスをお試しください。
一時間近く経ってもこの表示から変わらない場合はキャッシュが残っている可能性があるので、キャッシュをクリア、もしくはページを更新してみましょう。
サイトやブログがhttpsで表示されればサーバーの設定はOKです。
ワードプレスの管理画面でURLを変更する
サーバーの設定が終わったら次に、ワードプレスの管理画面にログインします。
ログインしたら「設定」→「一般」でURLの変更を行います。
変更する項目は「WordPressアドレス」と「サイトアドレス」の二つ。
httpをhttpsに変えるだけの簡単な変更なのですが、ここを間違えてしまうと管理画面にログインできなくなり、データベース上から修正しなくてはいけなくなるので慎重に行いましょう。
リダイレクト処理の設定をする
ワードプレスでURLの変更を行ったら再びサーバーの管理画面へ戻り、項目の中にある「.htaccess編集」をクリックして編集を行いましょう。
対象のドメインを選択したら.htaccess内の一番上に以下のリダイレクト用コードを貼り付けます。
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
万が一失敗しても元の記述に戻せばいいので、こちらも必ずバックアップを取っておきましょう。
ちなみにですが、もちろんサーバーにログインせずFTPソフトを使って編集することもできます。
その場合はpublic_htmlのディレクトリ下に.htaccessファイルがありますが(作成している場合)、FTPによってはデフォルトで非表示になっていることがあります。
「.htaccessファイルがどこにもない!」なんて時は検索フォームに「hta」など入れれば表示されると思います。
プラグイン「Search Regex」で内部リンクを修正する
リダイレクト処理まで終わったらいよいよ最後ですね。ここもかなり注意が必要というか慎重にならなければいけません。
最後の作業は、今まで書いた記事内のURLを修正する作業です。
ブログを始めたばかりで記事数が少ない人は一つ一つ手動で記事を修正していくのが良いと思いますが、100記事200記事もあるとかなり時間が掛かってしまいます。
そこで、「Search Regex」というプラグインを使って過去記事内の画像URLや内部リンクを全てhttpsに修正しましょう。
インストールして有効化したら「ツール」からこのプラグインを選択します。そうすると以下の二つの項目があるので、それぞれこのように入力します。
- Search Pattern
- Replace Pattern
「SSL化前のURL(http://〜)」
「SSL化後のURL(https://〜)」
触るのはこの二つだけです。
URLを入力したら一度真ん中のボタン「Replace」でどこのURLがどのように変わるか見ることができるので確認しておきましょう。
ここまでで問題がなかったら「Replace&Save」のボタンで処理を実行します。
このプラグインで気を付けたいのが、こちらもデータベースで書き換えているということ。
もしURLを間違えると大変な事態になる可能性があるので細心の注意を払いましょう。
問題なく修正が終わればもうこのプラグインは必要ないので削除して大丈夫です。
これでおそらくアドレスの横に鍵マークが付いているのではないでしょうか。
テーマが「simplicity」ならカスタマイズからもできる
上記までで作業は全て終わりなのですが、テーマがsimplicityならプラグインを使用せずに修正することもできます。
「外観」→「カスタマイズ」→「その他」→「簡単SSL対応」でチェックを入れるだけで可能とのこと。
私も最初はこの方法でやろうとしたのですが、チェックを入れても内部リンクがhttpsに変わらなかったので結局プラグインを使用しました。
データベースを編集するプラグインを使用するのが怖い気持ちは分かりますが、案外使ってみると数十秒程度で終わる簡単なものでした。
ここまでで完全SSL化ができていない場合
もしここまで作業を終えても鍵マークが付かない場合、まだ一部でhttpが残っている状態ということです。
まず考えられる一つが「ウィジェット」でURLを書いているケース。
テーマによってはプロフィール画像や検索フォームのURLをベタ書きしていることがあります。
他には、ヘッダー画像やファビコンのURLがhttpのままということもあります。外観のカスタマイズからこちらも確認してみましょう。
それでもまだ鍵マークが付かなくて不明な場合は、Google Chromeのデベロッパーツールを開いてみましょう。
ツールを開いて「console」を選択するとどこでエラーが出ているか見ることができます。
また、完全にSSL化できたら今までhttpで登録していたサイトやツールでも変更が必要になります。例えば「アナリティクス」や「サーチコンソール」などですね。
まとめ
以上がブログをSSL化した話でした。作業自体は一日もあれば終わるものですが、気を付けないと不具合を起こす作業なので精神的によくありません…
私は作業するときこのブログでも使っているテーマ「simplicity」を開発したわいひらさんのブログを参考にさせていただきました。同じテーマの方は開発者の手順を参考にして間違いありません。
わいひらさんのSSL化手順紹介記事はこちら