WooCommerceストアのようなECサイトを運営する以上、高い安全性を確保することは必要不可欠。特にSSLの導入は欠かせません。

決済代行サービスを経由して消費者からの支払いを受け取っていても、顧客データは保護しなければなりません。

WooCommerceストアにSSLを導入すれば、サイトと顧客データを保護することができます。

WooCommerceストアへのSSL導入の重要性

WooCommerceストアに限らず、SSLはあらゆるウェブサイトに有効です。さらに、GoogleではSSLを導入しているサイトを優先して上位に表示するため、SEO上のメリットもあります。

WooCommerceをはじめとするECストアを運営する場合、購入手続きの際にユーザーから個人情報を収集することになるため、SSLの存在は特に重要です。

Paypalのような決済ゲートウェイを利用して支払いを受け取るにしても、配送のための住所やダウンロードのためのメールアドレスなどのデータを収集することになります。

WooCommerceストアにSSLを導入することで、サイトの安全性を高め、顧客データが悪意のある第三者に悪用されるリスクを減らすことができます。

では、SSLとは具体的にはどのようなものなのでしょうか。

SSLとは

SSLとはSecure Sockets Layerの略で、ウェブサイトで収集または処理されているデータに対する不正アクセスを防ぐ技術です。

SSLは、誰でもアクセスできる公開鍵と、非公開の秘密鍵の鍵ペアを使用してウェブサイトへのアクセスを認証します。公開鍵を使って送信される情報を暗号化できるのは、秘密鍵を所有する人物、つまりサイト所有者のみ。そして誰もが公開鍵を使用し、サイトの安全性を確認することができます。

SSLは、ウェブサイト用の鍵を保存するのではなく、サイトにSSL証明書をインストールすることで機能します。

SSLがインストールされたサイトは、ブラウザでの表示が変わり、URLはhttp://からhttps://に変更され、URLの横のブラウザバーには南京錠やその他のセキュリティアイコンが表示されるようになります。

ブラウザでのSSL通信の見え方
ブラウザでのSSL通信の見え方

WooCommerceストア向けSSL証明書

従来は、サイトにSSLを導入する場合、ホスティング会社または認証局(CA)で証明書を購入しなければなりません。

Kinstaでは、Cloudflareを統合し、すべてのサイトにワイルドカード対応のCloudflare SSL証明書を無料で提供しています。Kinsta以外をご利用でも、ほとんどのホスティングプランに無料のLet’s EncryptのSSL証明書が付帯しているはずです。Let’s Encryptをサポートしていないホスティングをご利用の場合は、SSL Zenプラグインをインストールして対応できます。

拡張検証などの機能を備えた独自SSL証明書が必要の場合は、ComodoDigiCertGeoTrustThawteTrustwaveなどのサービスで証明書を購入し、サイトに紐付けてください。

WooCommerceストアにSSL証明書をインストールする方法

Kinstaをご利用の場合、Cloudflare SSL証明書を利用するのに特別な操作は不要です。ドメインの所有権を確認し、Kinstaにドメインが紐付けられると、自動的にCloudflareによってサイトが保護されます。

独自SSL証明書を追加
独自SSL証明書を追加

また独自SSL証明書もサポートしているため、特定のビジネス要件によって独自SSL証明書が必要になるサイトも安心です。サードパーティサービスから独自SSL証明書を購入済みの場合、インストール方法はこちらを参照してください。

プラグインを使ってSSL証明書をインストールする方法

利用しているホスティングプランに無料のSSL証明書が付帯していない場合は、SSL Zenプラグイン(無料)を使って、Let’s Encryptの証明書を無料で導入することができます。

SSL Zen
SSL Zen

サイトにプラグインをインストールして有効化したら、管理画面から「SSL Zen」を開きます。無料版を選択すると、以下のようなセットアップ画面が表示されます。

SSL Zenのセットアップ画面
SSL Zenのセットアップ画面

指示に従って設定を行うと、プラグインがLet’s Encryptにアクセスして証明書をインストールします。

HTTPSリダイレクトを設定する方法

SSL証明書をインストールしたら、サイトでHTTPSリダイレクトを設定しましょう。

MyKinstaでHTTPSリダイレクトを設定
MyKinstaでHTTPSリダイレクトを設定

MyKinstaで該当のサイトを選択し、「ツール」>「HTTPSリダイレクト」セクションで「利用する」をクリックします。ドメインを選択すると、すぐに有効化されます。

Kinsta以外をご利用の場合は、プラグインでHTTPをHTTPSにリダイレクトするか、NginxまたはApacheサーバーにコードを数行追加します。

あるいは、WordPressの設定を変更し、wp-config.phpファイルにコードをして、.htaccessファイルを編集するという手も。

これを行うには、WordPress管理画面の「設定」>「一般」を開き、サイトアドレスとWordPressアドレスのURLの「http://」を「https://」に変更します。

WP管理画面の一般設定でURLを変更
WP管理画面の一般設定でURLを変更

また、wp-config.phpファイルの「That’s all, stop editing!」という行のすぐ上に以下の行を貼り付けると、HTTPSリダイレクトを実装することができます。

define('FORCE_SSL_ADMIN', true);

最後に.htaccessファイルを編集します。コードエディターでファイルを開き、サイトのURLが含まれている行を探します。URLを「http://」から「https://」に置き換えたら、ファイルを保存してください。

これでサイトにHTTPSリダイレクトを実装できました。

WooCommerceストアのSSL導入に関するよくある質問

このセクションでは、WooCommerceストアへのSSL導入に関してよくある質問とその回答をご紹介します。

WooCommerceのお買い物カゴページにSSLを導入するにはどうすればいいですか?

場合によっては、「WooCommerceにSSLを導入したいけど、サイトのその他の部分には導入したくない」という状況があるかもしれません。(セキュリティとSEOの理由からHTTPSに切り替えるサイトが増えているため、これは稀ではあるが)。

何らかの理由でサイト全体にSSLをインストールしたくない場合には、顧客の機密情報を送信するWooCommerceのお買い物カゴページにSSLを導入してください。顧客データが万が一盗用された場合、サイト所有者が責任を負わなければなりません。

サイト全体にHTTPSリダイレクトを設定しなくてもいいですが、証明書のインストールは必要です。

インストールしたら、「WooCommerce」>「設定」>「高度な設定」に移動します。サイトでHTTPSで動作していない場合は、「強制 SSL(HTTPS)支払い処理」という項目が表示されます。これにチェックを入れて、変更を保存します。

補足)サイト全体でSSLが有効になっている場合、この設定は表示されません。

WooCommerceストアのSSLとHTTPSの違いは何ですか?

SSLとHTTPSは厳密には異なるものですが、アプリケーションという意味ではほぼ同じと認識して問題ありません。

SSLはサイトを保護する技術であり、SSL証明書を使用してサイトに導入します。HTTPSは、ブラウザがサイトにアクセスする際に使用するプロトコルです。「https://」という表示が、SSL証明書がインストールされていることを訪問者に伝えます。

関連して、TLSとSSLの違いはこちらをご覧ください。

WooCommerceストアのSSLに専用IPアドレスは必要ですか?

WooCommerceストアでSSLを導入するために、専用IPアドレスを取得する必要はありません。

専用IPアドレスは、サイトのインターネットプロトコル、またはIPアドレスが他のサイトと共有されていないことを意味します。IPアドレスは、ウェブ上の各サーバーを一意に識別する一連の番号であり、URLは、IPアドレスが人間が理解できる形に変換されたもの。共用サーバーをご利用の場合は、専用IPアドレスを購入するか、プランに付帯していない限り、専用IPアドレスを持つことはありません。

SSLはPCIに準拠していますか?

PCIコンプライアンスはPayment Card Industry complianceの略で、カード情報のオンライン上での保存、送信方法を定義したものです。

SSLだけがPCIコンプライアンスの準拠に必要な要件というわけではありませんが、重要な部分を担っています。他には、セキュリティ評価やサーバースキャンも含まれます。

ほとんどのWooCommerceストアは、カード決済の対応に決済ゲートウェイを使用しており、ストアと顧客データは、決済ゲートウェイによる保護を受けることができます。

WordPressのマルチサイト上で動作するWooCommerceストアには、どのようにSSL証明書を追加すればいいですか?

WordPressのマルチサイト上でストアを運営されている場合、SSLの導入方法は、サブドメインまたはサブディレクトリを使用しているかどうか、ドメインマッピングを使用しているかどうかによって異なります。

WooCommerceを実行しているWordPressサイトは、本格的かつブランド化されたサイトに見せるため、マッピングされたドメインを採用するのが一般的です。つまり、「mynetwork.com/mysite」ではなく、「mysite.com」(またはサイトにマッピングしたドメイン)を使用します。この場合は、mysite.com用のSSL証明書をインストールしなければなりません。

マルチサイトがサブディレクトリで実行されている場合(例:mynetwork.com/mysite)、1つのドメイン名で実行されているため、1つのSSL証明書がネットワーク全体に適用されます。

サブドメインmysite.mynetwork.com)を使用している場合は、各サブドメインは個別のドメインとして扱われるため、ワイルドカードSSL証明書をインストールするか、各サブドメインにSSL証明書を手動でインストールする必要があります。

WooCommerceストアのSSLに関するトラブルシューティング

SSL証明書をインストール後、時折エラーなどに遭遇することがあります。以下のヒントを問題解決の参考にしてみてください。

「安全でないコンテンツ」エラー

SSLがインストールされたサイトでこのエラーが表示される場合は、コンテンツの一部が安全に配信されていない(混合コンテンツの問題)可能性があります。または、スクリプトの一部がHTTPで読み込まれているかもしれません。

このエラーを解決するには、以下を実践してみてください。

  • エラーが発生しているページのソースコードを開き、「src=http//」を検索してみると、原因の特定に役立ちます。
  • 設定画面上だけでなく、サイト全体でSSLが有効になっていることを確認してください。確認方法は、上記「HTTPSリダイレクト」セクションを参照してください。
  • スクリプトが安全に読み込まれない場合、使用しているプラグインに原因がないかどうかも確認してください。これに該当した場合は、プラグインを無効にしてください。
  • コンテンツに挿入されたリンクやメディアに問題がある場合は、SSLをインストールする前に挿入したことが原因かもしれません。「http://yoursite.com」をデータベースで検索・置換し、「https://」に置き換えてみてください。
  • メディアへの外部リンクに問題がある場合は、すべてのコンテンツを安全なソースからホストしていることを確認してください。他のサイトからメディアを取り込んでいる場合は、そのサイトもSSLが有効になっていなければなりません。

「この接続ではプライバシーが保護されません」エラー

このエラーが表示される場合、WooCommerceまたはサイト全体でHTTPSリダイレクトが有効になっていないことを意味します。リダイレクトの設定方法は、上記「HTTPSリダイレクト」セクションを参照してください。

WooCommerceではSSLが有効になっているが、サイト全体では有効になっていない状態で、このエラーが表示される場合は、サイト全体でSSLを有効にしてみてください(WooCommerce推奨)。

WooCommerceのお買い物カゴページでSSLが動作していない

お買い物カゴページでSSLが動作していない場合、WooCommerceの設定(またはサイト全体)でSSLが有効になっている、なおかつSSL証明書が最新の状態になっているかを確認してください。無効なSSL証明書は「この接続ではプライバシーが保護されません」エラーを引き起こし、訪問者に敬遠されてしまう恐れがあります。

なお、ドメインにSSL証明書を導入した場合にのみ、WooCommerceでSSLを有効にできます。

SSLハンドシェイクの失敗

これは、ブラウザがサーバーとの安全な接続を確立できないことを意味します。このエラーに関しては、さまざまな原因が考えられます。SSL接続に関連するエラーの解決方法はこちらをご覧ください。

有効期限が切れたSSL証明書

SSLのエラーメッセージが表示される場合は、単に証明書の有効期限が切れています。

証明書が自動更新されるサービスを利用するか、期限が切れる前に更新するように設定を行ってください。

Kinstaでは、SSLの自動更新が行われるため、更新管理について心配する必要はありません。サイトで独自SSLを使用している場合は、サイトがダウンすることのないよう、証明書の更新を必ず追跡するようにしてください。

まとめ

SSL証明書の導入は、WooCommerceストアに必須の作業です。顧客データを保護し、顧客の信頼を得られるだけでなく、SEOの強化にもつながります。

Let’s Encryptを使えば、無料で簡単にSSLをインストールすることができます。WooCommerceストア(またはその他のWordPressサイト)をKinstaでホスティングしている場合は、MyKinstaでSSL証明書を簡単に追加・管理可能です。