人気のエックスサーバーの便利な機能の一つに、「WordPress 簡単インストール」があります。この機能を使うことで、インストールから初期設定まで自動で行ってくれるので、楽にWordPressをインストールできます。
ところが、この機能を使うとSSL設定済みドメインに対してもなぜか「http」になってしまい、SSL化は別途対応する必要があるのです。常時SSLが当たり前となった今、あえてhttpにする必要はないと思うのですが、httpかhttpsかといった選択肢はありません。
そこで、エックスサーバーのWordPress 簡単インストール機能を使ってインストールしたWordPressサイトに対して、常時SSL化する方法をご紹介します。
目次
便利なWordPress 簡単インストール機能はhttpのみ
エックスサーバーに標準でついている「WordPress 簡単インストール」。丁寧なマニュアルが用意されていますが、案内に従っていけば簡単にWordPressをインストールできる便利な機能です。
WordPress 簡単インストール手順 | レンタルサーバーならエックスサーバー
ですが、インストール画面を見ると、「サイトURL」にかかれているプロトコルは「http」となっているのがわかります。確認画面も「http」となっており、WordPressのURLがhttpとして作られるのがわかります。常時SSLが当たり前となっている今、httpかhttpsかを選べるようにできるといいのですが……。
もちろん、事前に無料SSLにてSSL設定済みのドメインです。リダイレクト設定はまだのため、ドメイン単位ではhttpとhttpsどちらにでもアクセスできる状態です。
やはり、簡単インストールで作られたWordPressのサイトURLは「http」となっています。
試しに、サイトURL、管理画面URLにhttpsとhttpでアクセスしてみると、どちらにもアクセスができる状態で、一見問題ないように見えます。
WordPressのSSL化を正しく設定しないとSEOやセキュリティ面で大きなダメージ
簡単インストールのWordPressの場合、WordPress管理画面内の設定→一般からURLを確認してみると、「http」になっているのがわかります。
このような状態でhttp, httpsどちらでもアクセスできる状態の場合、SEOやセキュリティ面でよくありません。
重複コンテンツとしてSEOに不利
http、httpsどちらでもアクセスできる状態だと、一つのページに対して2つURLが生成されていると見なされ重複コンテンツになり、SEOで大変不利になります。
せっかく内部SEOを定義したり、良質コンテンツを量産して公開していても、重複コンテンツとして見なされマイナスの評価になると正しく検索結果に反映されません。
参考: 重複するコンテンツを避ける | Google 検索セントラル | ドキュメント | Google Developers
Mixed content(混在コンテンツ)としてセキュリティ的に危険な状態
サイトURLがhttpになっているため、保存や呼び出されるURLが「http」になる可能性が高いです。そうなると、httpsとしてページにアクセスできていても、画像やCSSといった各種ファイルはhttpとしてアクセスされている状態となり、httpsとhttpが混在しているページとなり、「Mixed content(混在コンテンツ)」となってしまいます。
こうなると、ウェブページにアクセスがあった場合、セキュリティ的に問題があると表示されたり、Googleからのアクセスが制限される可能性があります。
Google は、ユーザーを安全でないコンテンツのダウンロードから保護するために、段階的に Mixed content(以下、混在コンテンツ)に対する警告・ブロックを強化しており、すでに公開されている Chrome 88 以降では画像なども表示しなくなったと公表しています。
フィッシング対策協議会 Council of Anti-Phishing Japan | ニュース | 協議会からのお知らせ | Google Chrome における混在コンテンツのブロック(2021/04/01)
「とりあえずhttpでもhttpsでもアクセスできてるからいいや」として正しい対応をしないでいると、せっかくのウェブサイトが不利な状況や危険な状態になってしまう可能性がありますので注意が必要です。
常時SSL化するための正しい対応方法
httpではなく、httpsとしてウェブサイトにアクセスできるように設定するためには以下を対応する必要があります。
- DB上に保存されている「http」をすべて「https」に置換する
- 「http」としてアクセスした場合は自動的に「https」にリダイレクトする
DB上に保存されている「http」をすべて「https」に置換する
WordPressはデータベース(DB)に保存されており、インストールした時点ですでにDB上に「http」として情報が登録されています。よって、すでに保存された「http」を「https」に変えてあげる必要があります。
DB上のhttpをhttpsに一括置換するには、シリアライズ化されたデータに対しても一括で置換してくれる「Search-Replace DB」を使った変換がWordPress公式も推奨しています。具体的な対応方法は以下の記事内にありますのでご参照ください。
「http」としてアクセスした場合は自動的に「https」にリダイレクトする
DBをすべてhttpsに一括置換しても、トップページ以外は直接httpのページにアクセスするとまだ表示されています。そのため、強制的にhttpsのページにリダイレクトさせる必要があります。
色々と方法はあるのですが、エックスサーバーが公式で紹介している「.htaccessファイルに記述する方法」が安全かと思います。これであれば301リダイレクトとなるため、リダイレクトの方法としてもSEOの評価を可能な限り引き継げる正しいリダイレクト方法となります。
独自SSLの設定が完了した時点では、自動的に「https://~」のURLへ転送されません。
Webサイトの常時SSL化 | レンタルサーバーならエックスサーバー
Webサイトにおけるすべての表示を常時SSL化する場合は、「.htaccess編集」で以下の記述を追加します。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
プラグインを使う方法もあるものの、できれば利用しないのが安全
プラグインの「Really Simple SSL」を使えば、リダイレクト設定を自動で行ってくれ便利ではありますが、すべてのDB上のhttpを置換しているわけではありません。また、プラグインを無効化した際は戻ります。(厳密にはSSLへのリダイレクトを有効にしたまま無効化も可能)
SSL証明書が完全に有効になっていない状況でプラグインを有効化してしまうとサイトにアクセスできなくなったり、サイト移転時に不具合が出たりすることがありますので、どうしてもプラグインでしか解決できない場合を除き、できるだけプラグインを利用せずにリダイレクトを実現することをおすすめします。
参考:
「Really Simple SSL」でリダイレクトループの不具合?「.htaccess」ファイルをチェックだ! | Howcang(ハウキャン) | 格安webサイト制作、動画制作
Troubleshooting with Really Simple SSL – Really Simple SSL
DBを置換し、リダイレクトを行うことで正しく常時SSL化を実現
上記を対応することで、DB内のhttpはhttpsとなり、301リダイレクトによりhttpsへリダイレクトされ、常時SSLが実現しました。
サイト移転やテスト環境を作成する際など、普段行わなうことのない作業だとどうしても間違いやミスをしがちですが、一つ一つ正しく対応することで移転作業を成功させることに繋がります。
エックスサーバーのWordPress 簡単インストール機能は大変便利ですが、このような作業も発生するということを念頭に入れて利用いただければ幸いです。
参考 エックスサーバーを使ったテスト環境の構築方法: WordPressのテストサイト・検証用環境の作り方
コメントを残す