WordPressサイトをSSL化して安全な通信を実現する方法

保守
この記事は約6分で読めます。

Webサイトの安全性を高めるためにはSSL化が重要です。この記事では、WordPressサイトをSSL化する手順とURLの統一方法についてわかりやすく解説します。

SSL化の必要性

SSL化(Secure Sockets Layer)を行うことで、サイト訪問者との通信が暗号化され、データの盗聴や改ざんを防ぐことができます。SSL化されたサイトは、URLが「https://」で始まり、訪問者に安心感を与えます。

SSL化とは?

SSL化とは、サイトと訪問者間の通信を暗号化する設定のことです。これにより、第三者によるデータの盗聴や改ざんを防ぐことができます。多くのサーバー会社では、SSLを簡単に設定できる機能が提供されています。

無料の独自ドメインを利用したい場合

無料の独自ドメインを利用してSSL化したい場合は、サーバー会社やプラン内容を確認してください。多くのレンタルサーバーでは、無料SSLが利用できるプランを提供しています。

無料で使えるSSL証明書について

例えば、ロリポップなどのサーバーでは、無料のSSL証明書を提供する「Let’s Encrypt」が利用できます。「Let’s Encrypt」は非営利団体が運営しており、世界中で多くのユーザーに利用されています。設定は非常に簡単で、初心者にもおすすめです。

SSL化後のアクセス例

設定が完了すると、URLが「https://dummy.pretty-cute.info/」のように、セキュアな形式でアクセスできるようになります。これにより、訪問者に安心感を与えることができます。

SSLの設定方法

  1. サーバー(レンタルサーバー会社)でSSL証明書を発行
  2. WordPressダッシュボードでURLを変更
  3. .htaccessファイルでリダイレクト設定

以上がSSL化の流れです。

サーバーでSSL証明書を発行

  • サーバーの管理画面から独自SSL証明書を取得します。
  • 下記はロリポップサーバーの場合です。
  1. セキュリティー↠独自SSL証明書導入
    「証明書お申し込み・設定」を選択
  2. SSL化したいドメインを選択し、申請後、設定作業が開始されます。
  3. 約5分後くらいにページを再読み込みすると、状態が「SSL保護有効」に変わります。
  4. 設定完了ドメインが「SSLで保護されているドメイン」に表示されます。
  5. 設定完了後、https://で始まるURLにアクセスし、正しく表示されれば完了。

WordPressダッシュボードでURLを変更

WordPressの設定も行います。サーバー側でSSL証明書を発行しても、WordPressの設定や投稿・ページ内のリンク、メディアファイルのURLがHTTPのままになっていることがあります。当サービスでは、データベース内のURLを適切に修正し、リダイレクト設定や混在コンテンツ(Mixed Content)対策も含め、サイト全体を完全にSSL対応(HTTPS化)します。

  • WordPressダッシュボードにログインし、左メニューから「設定」>「一般」を開きます。
  1. 「WordPressアドレス(URL)」と「サイトアドレス(URL)」を「https://」から始まるURLに変更します。
  1. 「変更を保存」をクリックして設定を完了します。
  2. ログアウトになるので、再度ログインして下さい。

URLの統一(リダイレクトされない時)

通常の設定が完了すると、HTTPでアクセスしても自動的にHTTPSへリダイレクトされます。しかし、何らかの理由でリダイレクトが正常に機能しない場合は、手動で設定することも可能です。現在のままでも大きな問題はありませんが、HTTPでのアクセスを確実にHTTPSへリダイレクトするように設定しておくと安心です。SSL化後は、以下の方法を使って「http://」から「https://」へのリダイレクトやURLの正規化を行いましょう。

.htaccessファイルを使用した設定

以下のコードを記述し、.htaccessファイルという名前で保存します。元の.htaccessファイルはコピーして取っておいてください。

ロリポップの場合、http://5546515645645s1.site.jp/のようにrootディレクトリが割り当てられます。その直下にサイト情報を集めるフォルダ(公開(アップロード)フォルダ)が配置されます。その直下に.htaccessがあります。

.htaccessファイルに追加

httpをhttpsに統一するコード。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://hogemoge.com%{REQUEST_URI} [R=301,L]
Bash

初期に記載されているコードの、ファイルの最上部に記述すると管理しやすくなります。

# HTTPをHTTPSに統一する設定
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://hogemoge.com%{REQUEST_URI} [R=301,L]
</IfModule>

# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Bash

URL変更時の注意点

  • 改行が正しいか確認:.htaccessファイルの最後に改行を追加してください。
  • パスの確認:記述するURLが正しいか確認してください。
  • 動作確認:変更後、実際にアクセスして動作を確認しましょう。

まとめ

WordPressサイトをSSL化し、URLを統一することで、セキュリティとSEOの両面でメリットがあります。特にロリポップのようなサーバーを利用している場合は、無料でSSLを設定できる機能を活用しましょう。これにより、安全で信頼性の高いサイト運営が可能になります。

コメント