【WordPress】URLを常時SSL化(https)する方法
WordPressサイト(通常サイトでも可)のURLの先頭部分を「http」から「https」に変更する手順を紹介しています。
なお、URLの先頭部分を「http」から「https」に変更することを専門用語で「常時SSL化」といいます。
常時SSL化することで情報通信が暗号化されるため
- ウェブサイト閲覧者:安全にサイトを閲覧できる
- ウェブサイト管理者:SEO的に有利で検索上位になれる
といったメリットがあります。そのため特に理由がなければSSL化しましょう。
常時SSL化(https)する方法
「常時SSL化」の意味やメリットが分からない方はこちらを参照してください。
ここでは運営しているWordPressサイトをスマートにSSL化する方法を説明します。
1.WordPressのバックアップを取る
WordPressをカスタマイズする場合やシステムを変更する場合は、必ずバックアップをとる習慣を付けましょう。
何か手違いで重大な欠陥が生じても、バックアップがあれば簡単に元に戻せます。
最近ではWordPressのバックアップを簡単に取れるプラグインがあるので、それを使えば一発です。
その方法ですが「WordPress本体ファイルとデータベースを一撃でバックアップする方法」を参考にしてください。
2.ドメインにSSLを適用する
このサイトのドメインは「ysklog.net」ですが、通常のURLは「http://ysklog.net」です。
SSL化するためには「https://ysklog.net」という形にしなければならないのでその適用を利用しているサーバー会社で行ってください。
3.WordPressの一般設定でURLを変更
運営しているサイトが「https」でもアクセスできるようになったら、WordPressにログインして、左サイドバーの「設定」→「一般」で次のようにURLを変更します。
を次のようにして、「変更を保存」します。
※「http」を「https」にするだけでOK
4.記事にある「http」から始まるURLを「https」に一括置換
これまでは「http」でサイトを運営してきたため、記事中の内部リンクや画像は「http」から始まっています。
しかし、今回「https」としたので、「http」を全て「https」に一括置換しなければなりません(そうしないと不十分なSSLとみなされ常時SSL化は達成できない)。
その方法ですが、「Search Regex」というプラグインを使えば簡単で「【WordPress】すべての記事の単語やURLを一括置換する方法」を参考にしてやってください。
置換でやること
URLの置換でやることはこれだけでOKです。
Search patern :http://〇〇〇.com
Replace pattern:https://〇〇〇.com
5.「.htaccess」ファイルにリダイレクトを設定
サーバー設定ファイル「.htaccess」にリダイレクトの設定を行います。
WordPressサイトのディレクトリまでいき、「.htaccess」に以下を追記してください。
# BEGIN 「http」から「https」に正規化
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END
これは、「mod rewrite」というURL書き換え技術を使ったもので、「http」を持ったアクセスを「https」に変更(301リダイレクト)しています。
試しに、「http://ysklog.net」でアクセスしてみると、「https://ysklog.net」にリダイレクトされていることがわかると思います。
その他のページでもこのわずか数行のコードで全てリダイレクト処理可能です。
【ポイント】
301リダイレクトを行っているので、これまでのURLが持っていた検索エンジンからの評価もほぼ引き継げるので、SEO的な心配も不要です。
6.完了
これでWordPressサイト自体の「常時SSL化の設定」は完了です。
しかし、私の場合は、ここからが本当の意味での「常時SSL化」の作業となりました(ややこしいサイト構成でWordPressを運営しているためかなり面倒なことになった)。
「混在アクティブコンテンツ」への対処
常時SSL化完了!と思ったのですが、これまで動いていたjavascript(jQuery)が動かないことがわかりました。
何かがおかしい!とブラウザコンソールを確認したところ、原因は「混在アクティブコンテンツ」の読込ブロックが原因と判明しました。
混在アクティブコンテンツ “http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js” の読み込みをブロックしました
このようにjQueryの外部ソースURLが「https」ではなく「http」であったため読込がブロックされていました。
この外部ソースはテーマファイルのヘッダーにあったため「Search Regex」での置換対象にならずにそのままの状態(http)となっていました。
そのため常時SSL化するときにはテーマファイル内のURLもすべてチェックする必要があります。
以上でWordPressを常時SSL化する方法の説明を終わります。これ以降はSSL化の意味やメリットについて説明します。
「常時SSL化」とは?
「常時SSL化」とは、ウェブサイトとユーザーとの情報(データ)のやりとりを暗号化させることです。
- URLが「http://」で始まるサイト :暗号化通信されていない
- URLが「https://」で始まるサイト:暗号化通信されている
常時SSL化されていないウェブサイトは暗号化通信にならないので、ユーザーがサイトのフォームにクレジットカード情報を書いて送信した場合、通信の過程で何者かに入力した情報をそっくりそのまま傍受される危険性があります。
一般サイトで「https」化する意味は?
特に重要な情報をフォームでユーザーに送信させる仕組みのないサイトは特段「https」化させる意味はないです。
では何でわざわざ「http」から「https」に変更する・・・なんて面倒なことをしなければならないのでしょうか?
検索順位に影響する!?
2015年12月にGoogleが、常時SSL化させたサイトを優先的にインデックスすることを発表しました。
わざわざそういう発表をするということは、「常時SSL化が好ましい」と言っているようなもので、検索結果のランキングを決定するアルゴリズムに一つの要素として取り入れられている(もしくは取り入れることを予定している)可能性があります。
ユーザー視点でも好ましい
サイト運営者側からするとけっこう面倒なのでしたくない気がしますが、ユーザー視点から見るとどうでしょう?
自分が閲覧しているサイトが暗号化通信されている・・・と知ったら安心感がありますよね?
Googleはユーザーの利便性を第一に考えているので、「暗号化通信」を導入しているサイトを優遇するのは特におかしなことではありません。
サイトの運営者であれば、自サイトの情報が誰かの役にたち、しかも広告収入も増えたら嬉しいものです。
少しでもSEOを意識する(検索結果の上位を狙う)のであれば、特に理由がなければ常時SSL化しましょう。
あわせて読んでほしい!
コメント
2:unknown:2019/12/27 22:14:33
↑の投稿の「動画ファイル(mp3)」は間違いです。
「動画ファイル(mp4またはmpg)」です。
3:管理人:2019/12/27 22:56:56
ご指摘ありがとうございます。
久々にサイト周り、プログラム点検を行っているためそこでコード修正ミスを犯しているかもしれません。
確認いたします!
4:unknown:2019/12/28 22:11:13
迅速なご対応ありがとうございます。
まだ動かないようなのでご確認よろしくお願いいたします。
5:管理人:2019/12/30 4:29:05
遅くなりましたが復旧完了しております。
また、コードの不備と機能性を向上させたので以前より若干ですが使いやすくなっていると思います。
ぜひご利用下さい!
6:unknown:2019/12/30 8:24:26
おおおおおおお!ありがとうございます!
早速使わせていただきます。
1:unknown:2019/12/27 22:12:27
初めまして。
いつも「動画サイズ 変更オンラインツール!」を利用させて頂いてましたが、
数日前から利用できなくなりました。具体的には
自分が持っている動画ファイルのサイズを変更!(こちらをクリック)
の後に出てくる灰色部分に動画ファイル(mp3)をドラッグ&ドロップしても、
クリックして選択しても、その後が全く反応しません。
以前はすぐ「サイズを確認(?)しています」とかの表示が出てたのですが。
「動画サイズ 変更オンラインツール!」の所でコメントを入れようとしましたが、コメント欄も表示されないのでこちらに書き込みます。
そういえば左側に「サイト内検索」と「カテゴリー」が出てから
動かなくなったような気がしますので、確認をお願いいたします。