このたび、WordPressで運用している当サイトを常時SSL化したので、その手順をまとめました。
これまで、当サイトは、さくらのVPSで運営していました。
さくらのVPSについては以下にまとめてあります。
VPSで運用している場合は、Let's Encryptという無料のSSLをインストールすれば、常時SSL化は出来ると思います。
詳しい手順は以下にまとめました。
ただ、今回、諸事情があって、さくらのVPSからエックスサーバーにWordPressの引越しを行いました。
目次
さくらのVPSからエックスサーバーへ引越し
まず、エックスサーバーの申し込みを行います。
エックスサーバーはミニマムのX10というプランでもMySQLでデータベースを50個作れるので、WordPressのサイトを50個追加することが可能です。
さくらのVPSから、エックスサーバーヘの移行手順はほぼ以下の通りです。
(この時は、さくらのVPSからお名前.comのVPSへ引越したなぁ。)
エックスサーバーへWordPressを移行する場合、エックスサーバーであらかじめ、移行するドメイン名でWordPressをインストールしておきます。
その後、エックスサーバーで作成されたWordPressのデータベースに対して、バックアップDBを上書きリストアするようにします。
その際、エックスサーバーにsshでログインする必要があります。
sshのクライアントは、私の場合、Poderosaを使っています。
1 |
$ mysql -h (WordPressのサーバー名) -u (WordPressのユーザー) -p (WordPressのパスワード) < wordpress.sql (バックアップされたDB) |
WordPressのPHPのファイル群については、WordPressインストール直後に存在する
/home/(ユーザー名)/(ドメイン名)/public_html
を
/home/(ユーザー名)/(ドメイン名)/public_html-orig
にリネームしてから、バックアップを
/home/(ユーザー名)/(ドメイン名)/public_html
に展開します。
後はドメインの管理コンソールからDNSのAレコードのIPアドレスを変更するだけです。
エックスサーバーでSSL(https)化の設定
エックスサーバーには無料のSSL証明書がついてきます。
詳しい設定方法は以下にまとめました。
Let's Encryptという無料のSSL証明書は3ヶ月おきに更新が必要なのですが、エックスサーバーの場合、自動で更新してくれます。
SSL証明書が無料なうえに、更新も無料なので使わない手はありません。
特に、複数ドメイン持っている場合、めっちゃ楽でお得ですね。
SSL証明書って以下の記事の通り、普通に買うとドメインごとに年間10,000円ぐらいしますからね。
エックスサーバーでSSLの設定を行って、1日ぐらい待ってからWordPressの管理画面で
WordPressアドレス(URL)とサイトアドレス(URL)を http から https に変更します。
このアドレスを間違えると、ログイン出来なくなどちょっと面倒なことになるので慎重に行いましょう。
httpからhttpsへの変更の場合も、あらかじめhttpsでログイン出来ることを確認してから変更を行いましょう。
このあと、.htaccessでhttpからhttpsにリダイレクトしておきます。
具体的には、
/home/(ユーザー名)/(ドメイン名)/public_html/.htaccess
というファイルの先頭に以下の行を挿入します。
1 2 3 4 5 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule> |
WordPressのインストール直後なら、.htaccessのファイルの中身は以下のようになると思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress |
鍵付きにならない?httpsでログインを試みる
その後、https でブラウザからログインを試みます。
URLが鍵付きで表示されない場合は、表示されているページのどこかにhttpのコードが残っていることを意味しています。
詳しくは以下をご覧ください。
具体的に問題点を探すには、F12キーを押します。
沢山の記事がある場合も、各記事に残っているhttpのコードを、すべて根気よくhttpsに変更しないと、全ページが鍵付きで表示されません。
ただ、ネットの記事によるとGoogleは、鍵付きかどうかではなくて、httpsという最初の5文字しか判断していないとの指摘もあり、それ程、がんばらなくてもよいかもしれません。
Facebookの「いいね」がゼロ(0)になった
httpから常時https化にしたら、それまで記事についていたFacebook、Google+、はてなブックマークのソーシャルアイコンのカウントがゼロ(0)になってしまいました。
調べてみると、どうやら、httpとhttpsでは異なるサイトと見なされるのでこのようになるようです。
SNS Count Cacheをインストールしてから、設定で「HTTPからHTTPSへのスキーム移行モード」を有効にしてみたのですが、うまくいきません。。。。。
ちなみに、Facebookの公式サイトには、「新しいURLに以前のURLを指すog:url
タグを追加します(推奨)」と書いてあるのですが、この通りなっているのですがうまくいきません。。。
ちょっと困りましたね。。
この件、以下のように調査しました。
WordPressのおすすめ本
↓WordPressのおすすめ本はコチラ
コメント
[…] […]
[…] […]
[…] […]