ここ数年のWebブラウザのセキュリティ強化などによって、個人ブログなどのWebサイトでもSSL化がほぼ必須化してきました。
エックスサーバーでは無料で独自SSL(Let's Encrypt)を利用できます。
今回は、エックスサーバーで運用しているWordPressに常時SSLを設定する方法をご説明します。
本記事の内容は、2024年5月に最終更新したものです。時期によって画面など異なる場合がありますのでご了承ください。
WordPressクイックスタートを利用した方は本作業不要です
エックスサーバー契約時にWordPressクイックスタートを選択してインストールしたWordPressサイトは自動で常時SSLの設定がされているので、本作業は不要です。
基本的には、WordPressクイックスタートを利用しなかった方や二つ目のドメインに設置したWordPressサイトに対して本作業が必要になります。
エックスサーバーで常時SSLをWordPressに設定する方法
【概要】エックスサーバーで常時SSL化する流れ
SSL化されていない状態では、ブラウザのアドレスバーに下記のように「保護されていない通信」と表示されています。
エックスサーバーでWordPressに常時SSLを設定手順は下記の通り。
- 「エックスサーバー」でSSLの設定を行う
- 「WordPress」でSSLの設定を行う(WordPressで認識させるアドレスをHTTPSにする)
- 「.htaccess」で常時SSLの設定を行う(※注)
- その他必要に応じてSSL化によって生じる調整作業
常時SSL化を実施すると、サイト内のどのページにアクセスしても下記のように鍵マークが表示されるようになります。
(※注)単純にSSL化のみ実施した場合は、httpでもhttpsでもどちらでもアクセスできる状態で不完全な状態です。そこで「http」でリクエストされたアクセスも「https」化して通信する設定を常時SSLといいます。
関連WordPressのSSL/HTTPS化とは?意味や実装手順
関連【エックスサーバー歴8年】評判・口コミや特徴を徹底レビュー
【手順1】エックスサーバーで独自SSLを設定する
まずはエックスサーバーの管理画面にアクセスしてログインしましょう。
ログイン画面でメールアドレス、パスワードをそれぞれ入力し「ログイン」をクリックします。
これでエックスサーバーアカウントパネルが表示されます。
つぎに、「サーバー管理」をクリックしてサーバーパネルに移動します。
これでサーバーパネルが表示されました。つづいて「SSL設定」をクリックします。
ドメインが複数ある場合はドメイン選択が表示されます。SSL化対象のドメインを選択します。
「独自SSL設定追加」タブをクリックします。
補足)すでにSSL設定済みの方は
エックスサーバーでのドメイン追加時にSSL化設定をしていた場合は、最初からSSL化されています。
すでに対象ドメインがSSL設定済みになっている場合は、手順2「WordPressでSSLの設定をする」からスタートしましょう。
対象のドメインが選択されていることを確認して(通常はwwwありでOKです)、「確認画面へ進む」をクリックします。
確認画面が表示されますので、「追加する」をクリックします。
2,3分程度「取得中」と表示されるのでしばらく待ちます。
取得中の表示が消えたら「戻る」をクリックします。
SSL設定が「反映待ち」と表示されている間はしばらく待ちます。最大60分程度かかります。
何回か更新して反映待ち表示が消えたことを確認してOKです。
これでエックスサーバーでSSLの追加設定は完了です。次にWordPressの設定を行なっていきます。
【手順2】WordPressでSSLの設定を行う
次に、WordPressでもSSLの設定を行います。ダッシュボードから「設定」を選択し「一般」をクリックします。
「WordPressアドレス(URL)」、「サイトアドレス(URL)」を「http://~」から「https://~」に変え、「変更を保存」をクリックします。(※)本操作で誤った内容を入力・保存すると、WordPressにアクセスできなくなる場合があるため、慎重に行いましょう。
一旦ログアウトされるので、再度ログインしましょう。
管理画面のアドレスがhttpsになっていることが確認できたらOKです。
【手順3】「.htaccess」ファイルに常時SSLの設定を行う
最後に、常時SSLの設定を行なっていきます。
ここまでの設定だけでは、まだ「http」と「https」のURL両方にアクセスすることができる状態です。
そこで「http」のURLを「https」へ転送する設定を行っていきます(常時SSL)。設定を行うには、サーバー上にある「.htaccess」という重要なファイルを編集する必要があります。
ここでは、エックスサーバーのサーバー管理パネルの.htaccess編集機能から、.htaccessを編集する方法を紹介します。
再度、エックスサーバーのサーバーパネルを開いてください。「.htaccess編集」をクリックします。
複数のドメインをがある場合はドメインの選択画面が表示されます。SSL化対象のドメインを選択しましょう。
「.htaccess編集」をクリックします。
.htaccessファイルの内容が表示されます。記載内容はご利用の環境によって異なる場合があります。元々ある記述は消さないでください。
.htaccessに書き加えるコードは、以下のとおりです。コピーしてください。
1 2 3 |
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
コピーしたコードを一番上の行に貼り付けます(元々合った記述は1文字も消さないようにしてください)。「確認する」をクリックします。
「実行する」をクリックします。
1 2 3 |
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
- 「RewriteEngine」とは、「有効(ON)・無効(OFF)の設定」で、「有効(ON)」にします。
- 「RewriteCond」とは、「条件を設定する」という意味です。
- 「 %{HTTPS} !on 」とは「httpsがonでない場合(SSLではない場合)」という意味です。
- 「RewriteRule 」とは、「ルールを設定する」という意味です。
- [ R = 301 , L ]の「R = 301」は「永続的に転送する」という意味であり、「L」は「ルールを終了する」という意味です。
以上のコードで「http」でアクセスがあった場合、「https」へ転送しますというルールを設定しています。
最後に「http://自分のドメイン名」でアクセスしてみましょう。httpsにリダイレクトされて入れば完了です。
【必要に応じて】運用済みのWordPressに対して行う微調整
すでに稼働中のWebサイトをSSL化する場合は、必要に応じて上記以外の設定をする必要もあります。
- WordPressの場合)画像パスURLの置換
- Google Analyticsの設定
- Google Search Consoleの設定、など
画像パス(URL)の書き換え
これまでの操作でSSL化を実施しましたが、Webページの中にhttpから始まる画像のパスがあると、下記のように完全ではないと表示されます。
おおよそのケースが、httpで始まる画像のパスがあることが原因なので検証ツールなどを利用して、画像のパスを確認してhttpsに修正しましょう。
WordPress上の文字列・URLを置換する方法はいくつかありますが、「Database Search and Replace Script in PHP」と言うツールを使って、画像URLを一括置換する方法を「【WordPress文字列一括置換】画像URLをhttpsに変更する方法」の記事に説明していますので合わせてご参考ください。
(※)なお、自作テーマや子テーマなどのカスタマイズによってPHPソースファイルで直接CSS・Javascriptファイルをhttp://〜読み込んでいる場合や、画像のURLがhttp://〜になっている場合は、テーマのPHPソースファイルもhttps://〜に修正する必要があります。
関連【テーマ自作】WordPress オリジナルテーマの作り方と基本
関連WordPressで子テーマを作成してカスタマイズする方法
Googleアナリティクスの設定
SSL化する以前に、Googleアナリティクスをすでに設定している場合は、Googleアナリティクスでhttp→httpsに変更してあげましょう。
関連【GA4対応】Googleアナリティクスの仕組み・見方と設定方法
Googleサーチコンソールの設定
SSL化を実施する以前に、すでにhttp://〜でGoogleサーチコンソールを登録している場合は、「https://対象のドメイン」で新たに登録しておきましょう。
また、「https://ドメイン名」のプロパティに対してサイトマップも忘れずに登録しておきましょう。
(補足)SSL化(HTTPS)とは通信を暗号化する仕組み
SSL化とは
SSLとはSecure Sockets Layerの略で、インターネット上でデータを暗号化して送受信する仕組みを指します。
SSL化されていない場合
SSL化していない場合はインターネット通信は「http」通信で行われますが、通信データは平文(暗号化なしのテキストそのままの状態)で送信されています。悪意ある第三者が情報を盗聴したり書き換えたりすることができる危険な状態です。
SSL化されていない通信の場合は、アドレスの前に以下のマークと「保護されていない通信」と表示されます。
SSL化している場合
通信をSSL化(HTTPS)をすることで、通信データを保護し、クレジットカードのような他人に知られると悪用される重要な情報を守ります。
クリックすると下記のように警告表示され、利用者に不安を与えてしまう恐れもあります。
Webブラウザ上でも、WebサイトをSSL化すると、端末間の通信が暗号化されてHTTPS通信になりアドレスバーに鍵マークが表示されて安心感があります。
閲覧専用のブログやホームページでもSSL化は推奨です
個人のブログなど、訪問者が重要な情報を入力するような場面がないWebサイトはSSL化の必要がないように思われるかもしれません。
それでもSSL化はほぼスタンダードの技術になってきており、GoogleもSSLを推奨しています。ホームページ・ブログを始めたばかりの方も、最初からSSL化しておくことをお勧めします。
サイトのコンテンツを問わず、ユーザーによるウェブサイトへの接続を保護するために、HTTPS を導入することをおすすめします。
HTTPSでサイトを保護する | Google SearchConsoleヘルプ
SSLの機能について
ここでは詳しい原理や解説は割愛しますが、SSLの機能は暗号化だけではなく、下記のような3つの特徴があります。
- 暗号化(盗み見を防止する)
- データの改ざん防止
- (2者間での)なりすまし防止
エックスサーバーが提供する無料の独自SSLは、ISRG(Internet Security Group)提供のLet's Encryptを使用しています。
この無料SSLの他にも、より信頼性の高い「企業認証SSL」「EV SSL」といった方式のSSLもあります。
「企業認証SSL」「EV SSL」は、企業・団体を対象としており、登記書類や電話などによる実在しているかどうかの審査があります。実際に実在している会社か証明しなければ、利用できませんのでなりすましなどを防ぐことができます。
関連WordPressのSSL/HTTPS化とは?意味や実装手順
まとめ
まとめです。今回はレンタルサーバー「エックスサーバー」で、独自ドメインに対して常時SSLを設定する方法をご説明しました。
エックスサーバーの独自SSL化の流れは下記の通りです。
- 「エックスサーバー」サーバー管理画面でSSLの設定を行う
- 「WordPress」でSSLの設定を行う(WordPressで認識させるアドレスをHTTPSにする)
- 「.htaccess」で常時SSLの設定を行う(※注)
- その他必要に応じてSSL化によって生じる調整作業を行う
(※注)単純にSSL化のみ実施した場合は、httpでもhttpsでもどちらでもアクセスできる状態で、ある意味不完全な状態です。そこで「http」でリクエストされたアクセスを「https」化した通信へ転送した設定(どんなアクセスでもhttps(SSL)で通信を強制することを常時SSLといいます。
これからWordPressを始める方は最初からSSL化しておきましょう。すでにWebサイト運用設置済みの方もなるべく早めにSSL化を検討しましょう。
なお、SSL化後のWordPressの基本的な使い方については「【総まとめ版】WordPress(ワードプレス)の使い方」をあわせてご参照ください。
今回は以上になります。最後までご覧いただきありがとうございました。
個別指導形式のスクールでは、自分の知りたいことをピンポイントで学習・達成でき、自分で更新もできるというメリットもあります。
教室の無料事前相談もしておりますので、まずはお気軽にご登録ください。
YouTubeチャンネル開設しました!
最大月間50万PVの当ブログをベースに、Youtube動画配信にてWordPress、ホームページ作成、ブログのことについてお役立ち情報を随時配信していきます。
ご興味ある方はぜひチャンネル登録をしていただけますと幸いです。