皆様、ウェブサイトのSSL化進めてますか?
聞くところによると不安を煽るような電話営業も流行ってるみたいですね・・。
さて、いくつものサイトをSSL化しているのですが、今回ちょっとつまずいちゃいました。
アウトプットしないとすぐ忘れるので記載しておきます。また、SSL化すべき理由については今後記事にしていきたいとおもいます。
WordPressのSSL化手順
サーバーによって様々ですが、メジャーなXserverやLolipop等だと、「無料」かつ「簡単」にSSL化できます。
SEOのためにもなるべく早めにSSL化しましょう。
WordPressのSSL化 事前準備
wordpressやプラグインを最新の状態にして、必ずバックアップをとっておきましょう。
バックアップは個人的に「All-in-One WP Migration」が最強だと思ってます。
無料だと512MBまでしかバックアップできないので、それ以上の容量の場合は、「Unlimited Extention」を購入しましょう。
$69しますが、それ以上の価値のあるプラグインです。
バックアップしたら、レンタルサーバーの管理画面からSSL化しましょう。
証明書を購入したりする場合はそのマニュアルに従います。
「httpsドメイン」でサイトにアクセスできたら次に進みます。
WordPressのURL設定
WordPressの管理画面の「設定」>「一般設定」に進みます。
一般設定内の「WordPress アドレス (URL)」と「サイトアドレス (URL)」をhttpからhttpsに変更します。
WordPress記事内の内部リンクをhttpsに書き換える
wordpressのURLを変更したことで、記事やページのURLは変更されましたが、今まで書いた記事に記載されている内部リンクURLや画像URLは変更されません。
リンク切れがあると読者やgoogleに対して都合が悪いので、URLを変更します。記事ごとに変更していくのは到底無理なので、データベースの情報を置換してくれるプラグイン「Search Regex」を使います。
プラグイン>新規追加>「Search Regex」で検索、インストール、有効化します。
有効化が完了したら、ツール>Search Regex に進み、Search patternにhttpのURL、Replace patternにhttpsのURLを入力します。
最初はSearchで検索して、問題なければReplace&Save(置換して保存)しましょう。
間違えるとやっかいなので、よくよく確認してから行ってください。
URLの正規化 リダイレクト設定
「http」のアドレスと「https」のアドレスはたった1文字「s」が入っているか入っていないかだけで、ドメインも同じでも、これだけでWEB上では別のアドレスだと認識されてしまいます。
サーバーにもよりますが、現段階では、「http」と「https」両方のアドレスにアクセスできる状況になっています。
.htaccessを利用して301リダイレクトする
index.phpがある階層に.htaccessファイルがあると思うので、以下を記述します。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
上記を記載することで「http://example.com」というURLでアクセスすると「https://example.com」にリダイレクトされます。ちなみに、example.comの部分は自身のドメインに変えてくださいね。
リダイレクトを確認して、はい完了。
と、なるはずでしたがトップのスライダーや埋め込んだyoutubeが表示されません。
CDNのURLも確認する
結果からいうと、見出しの通りです。
jsを読み込む際のURLがhttpになってました。
使っていたのはSmart Slider 3 というスライダープラグインだったのですが、設定のせいだと思いわざわざ英語のドキュメント読んだりして、時間を無駄にしてしまいました。
ナウシカのミト爺のごとく「なぜじゃぁぁ、なぜ動かんのじゃぁ!!!!!」と騒ぐ前に、冷静に対処しましょう。
まとめ
- SSL化は今後必須
- 気を付けて確実に作業する
- なにかあったらコンソール(F12)で確認