WordPressのサイトを常時SSL化する際に最低限必要な作業
最近サイトを常時SSL化しました。
いろんなサイトを巡って常時SSL化に必要な作業を調べていったのですが、やることが意外と多かったり、やり方がたくさんあって調べるだけで数日かかり、結構大変でした。
そこで今回は私が実際にWordPressで作成・運営しているサイトを常時SSL化した際に最低限必要だった作業についてご紹介していきたいと思います。
常時SSL化とは?
URLには「http」と「https」というものがあります。
これは規格の違いで、セキュリティ面で優れているのが「https」のページです。
httpsのページはセキュリティがしっかりとしているため、ユーザーが安心して観覧することができます。
またサイト全体をhttpsにすることを「常時SSL化」と言います。
日本ではまだ浸透しきっていませんが、世界的にhttpsを推奨する動きが出てきています。
GoogleはSSL化されていないサイトの検索順位への影響にも触れており、サイト運営者としては常時SSL化をしておかないと検索順位が下がってしまうかもしれないというデメリットがあります。
またGoogle Chromeではhttpのページを表示すると「安全ではない」という警告が出るようになりました。
ホームページに詳しくないユーザーがこれを見たら「危ないページなのかな?」と不安に思われるという可能性もあります。
これらの理由などから常時SSL化は今後のサイト運営に対して必須の作業です。
今回はこの常時SSL化を目指します。
無料証明書と有料証明書
SSLには大きく分けて無料と有料の2種類が存在します。
無料と有料の違いとしては、何かあった場合のサポートの有無や、証明書にどこまで書くか(信頼性の高さ)が主な違いです。
有料の中でもこの度合いは違います。
とは言え無料のものがSSL化する場合に不十分かと言うとそうではありません。
個人で使う場合には無料のもの、会社やビジネスで使用する場合は有料のものを使うと良いでしょう。
ちなみに無料の証明書では「Let’s Encrypt」が有名です。
事前に必ずバックアップを取る
まずSSL化の作業を行う前に、必ずサイトのバックアップを取るようにしましょう。
SSL化ではいろいろなサイトの根幹となるコードをいじったりします。
これを失敗するとサイト自体が開けなくなったり、挙動がおかしくなったりする可能性があります。
バックアップの取り方はいろいろありますが、おすすめはサーバーのバックアップ機能を利用する方法です。
私の場合はエックスサーバーを使用していたので、自動バックアップを利用することができました。
エックスサーバーの自動バックアップについては、エックスサーバーの公式HPの自動バックアップのページをご覧ください。
SSL化自体に必要な作業
SSL化自体に必要な作業はそこまで多くありません。
必要なのは以下の作業です。
- サーバー管理会社への申請・設定
- WordPress側の作業
サーバー管理会社への申請・設定
まずは使用しているサーバーの管理会社へSSLの申請を行う必要があります。
有料のサーバーを契約している場合は結構スムーズにいくと思いますが、方法はサーバーごとに様々なのでサーバーのHPから調べてみてください。
ちなみにエックスサーバーの場合は公式HPのマニュアルをご覧ください。
WordPress側の作業
WordPressでの設定はとても簡単です。
「設定」のタブを選択して、「WordPressアドレス (URL)」と「サイトアドレス(URL)」のhttpになっているところをhttpsに変更すれば完了です。
この作業をする場合は事前にサーバー管理会社への申請とサーバー側での設定を完了しておきましょう。
http時代のコンテンツへの対応
サイト立ち上げ時に最初からSSL化をしてしまう場合は上の項目に対応するだけでOKです。
ただhttpで運営していたサイトをSSL化する場合は追加で以下の作業が必要になります。
- 301リダイレクト設定 (.htaccess)
- canonicalタグ(カノニカルタグ)の変更
- 内部リンクの変更
301リダイレクト設定 (.htaccess)
301リダイレクト設定とはhttpのページからhttpsのページにリダイレクト(自動で転送)させるための設定です。
これをしないと以前のURLからはページにアクセスができないので、検索エンジンからのアクセスやブックマークしていた人に影響が出てしまいます。
301リダイレクトの設定はどの単位で行うかによって方法が違うのですが、今回はサイトすべてをhttpsにリダイレクトする方法をご紹介します。
というのも、httpsのサイトの中にhttpのページが1つでも残っているとSSL化されているサイトとして扱われなくなってしまうため、httpのページを残す必要がない(残してはいけない)からです。
方法はとても簡単で、.htaccessを編集することによって行えます。
この.htaccessはサーバーによって編集の方法が異なるので、使用しているサーバーのHPを確認してみてください。
エックスサーバーの場合は、サーバーパネルのホームページの欄にある.「htaccess編集」から編集できます。
ここからSSL化したいドメインを選択し、「.htaccess編集」のタブを選べば編集画面を開けます。
301リダイレクトのためには.htaccessの中に以下のコードを書き込みます。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
.htaccessには編集前からコードが書かれていると思います。
エックスサーバーの場合は「# BEGIN WordPress」の上に先ほどのコードを書き込むことで、301リダイレクトの設定ができます。
canonicalタグ(カノニカルタグ)の変更
canonicalタグというのはページ重複によるSEOへの悪影響を回避するものです。
内容が重複しているページが存在する場合、検索エンジンではパクリのページがあると認識されて検索順位が下げられてしまいます。
canonicalタグを入れておくと、重複するページが存在する場合にどのページが大本のページなのかを宣言しておくことができ、検索エンジンにパクリのページだと思われなくなるという効果があります。
便利なこの機能を使用することで、httpとhttpsのページがある場合に検索エンジンからの評価が下がらないようになります。
ちなみにWordPressのテーマによってはSEO対策のために自動でcanonicalタグが挿入されるようになっているものもたくさんあります。
実際のところサイトの設定をhttpsにしてしまえばこのcanonicalタグは自動的に変更されるみたいなのですが、不具合などによって変更されない場合はfunctions.phpを編集することで強制的にcanonicalタグをhttpsに変更することができるようです。
内部リンクの変更
SSL化を行う場合はサイト内にhttpの要素が1つも残っていない状態にする必要があります。
そのため内部リンクもすべてhttpsに変更する必要があります。
SSL化の方法を紹介しているサイトでは良くプラグインを使用して一括でhttpsに書き換える方法がおすすめされていますが、この方法は注意が必要です。
というのもプラグインで一括で置換すると、書き換えてはいけないものも一緒に書き換えてしまいサイトが正常に動かなくなってしまう可能性があるからです。
実際に私はプラグインでの一括置換を行い、WordPressのテーマが正常に適用されなくなってしまいました。。。
内部リンクの数が少ない場合は手動で変更した方が無難だと思います。
どうしても自動で行わないといけない場合は、いつでも置換前の状態に戻せるようにバックアップは必ず取りましょう。
ちなみに自動置換のプラグインとしては「Search Regex」が有名です。
SSL化した際に影響が出る外部ツール・サービスへの対応
ここまでの内容が完了していればサイトのSSL化自体はできていると思います。
ただその他にも今まで使用していた外部のツールやサービスの設定を変更する必要があります。
主に対応が必要なものは以下の通りです。
- Google Search Console
- Google Analytics
- Google AdSense
- 各種アフィリエイト
この中からhttp時代から使用していたもののみ対応してください。
Google Search Console
サーチコンソールはサイトのURLを変更することができません。
そのため新しいサイトとして登録することができます。
サイトの新規登録はページ左上のサイトのURLが書かれているところをクリックします。
プルダウンで出てくる「プロパティを追加」をクリックします。
プロパティタイプの選択の画面で「URLプレフィックス」に新しいhttpsから始まるアドレスを入力して、続行を押すと新規登録完了です。
そして次にサイトマップを登録する必要があります。
サイトマップは左の一覧から選択すると登録のページに飛べます。
ここに「/sitemap.xml」などの生成したサイトマップを指定して送信を押せば登録完了です。
Google Analytics
Google Analyticsは二か所変更をするだけで完了するので簡単です。
画面左下の歯車マークをクリックすると管理画面が出てきます。
ここでプロパティの中の「プロパティ設定」とビューの中の「ビューの設定」をそれぞれ設定します。
それぞれクリックするとこのようにURLの部分を「http」と「https」から選ぶ項目があるので、これをプルダウンで変更して、下の保存を押したら完了です。
各種アフィリエイト
Google AdSenseは特に設定の変更は必要ありませんが、アフィリエイトサイトに関してはURLを変更する必要がある場合があります。
これも使っているアフィリエイトのサイトごとに対応が違うので、公式HPを確認してみてください。
まとめ
サイトの立ち上げの際に常時SSL化させてしまえばとても簡単ですが、httpからhttpsに変える場合は結構やること多くて大変ですよね。
ただ世の中の流れ的に常時SSL化されていないとデメリットがどんどん大きくなりそうです。
手間は多いですがSSL化のメリットはとても大きいので、時間を取ってじっくり作業されてみてはいかがでしょうか。