ソニーペイメントサービスの2つの決済モジュール

常時SSL化の設定方法

Welcart で運営するネットショップを、常時SSL化(常に https:// でアクセス)する手順を紹介します。

どれも必要不可欠な作業ですが、間違えるとアクセスできなくなることもあるので慎重に行いましょう。

手順1. SSLをサーバーにインストールする

「独自ドメインに対してSSL証明書を取得してサーバーにインストールする」なんて作業は、私も含めサーバーエンジニアでない人にとっては避けて通りたいところですよね。
でも、最近ではとても簡単にSSLをインストールできたり、無料のSSLを利用できたりしてとても便利になりました。無料といっても共有SSLではありません。Let’s Encrypt というやつですね。
このSSLでクレジット決済が行えているサイトも拝見しました。いつ使えなくなるか少々不安はありますが、小規模サイトにとっては強力な味方ですよね。

とにかく、ネットショップを運営するならば、共有ドメインと共有SSLなんていう選択はやめましょう。
独自ドメインで常時SSL化、これが正しい道です。

この簡単にSSLをインストールできる便利な操作画面を持ったサーバーは、主に共有(共用)サーバーに多く見られます。ただ、サーバー会社によって操作方法が異なり、この記事でそれらを解説することはできません。
もちろん私も、全てのサーバー会社を経験したわけではありませんので、SSLのインストール方法については、ご利用のサーバー会社のドキュメントを見るか問い合わせてみてください。

無事SSLがインストールできたら、サイトにアクセスして確かめてみましょう。
もし WordPress がインストールされているのでしたら、このURLにアクセスすると確認できます。

https://*******.com/wp-content/ もしくは https://*******.com/wordpress/wp-content/

wp-content フォルダには空の index.php が置いてありますので、それにアクセスしてみるということです。
画面は真っ白ですが、例えば Chrome でしたら、ブラウザのアドレスバーのURLが https:// になっていて、セキュリティ警告(「保護されていない」等の表示)が出ていなければ、インストールは正常に完了しています。

SSLのインストールは、なかなか自分で行うのは難しいかもしれません。しかも、毎年更新作業が必要です。
専門の業者に任せてしまう方が、早くて安全かもしれませんね。

クレジットカード決済を行うならば

共有サーバーのお話をしましたが、クレジット決済を行う場合、サーバー選びは慎重に行う必要があります。スペックの低いサーバーを利用していると、予期せぬ決済エラーが発生する可能性が非常に高いです。
例えば月額500円以下の低コスト・低スペックのサーバーは、クレジット決済が利用できないと思った方が無難です。

どのサーバーをチョイスすべきかについては、「クレジット決済を行う場合のサーバーの注意事項」をご覧ください。

手順2. WordPress の設定を変更する

常時SSL化を行うときの WordPress の設定はとても簡単です。
一般設定の2つのURLを、https:// で始まるよう変更するだけです。

HTTPSおよびSSL関連のプラグイン、つまり強制的に https:// のURLに変換するタイプのプラグインは使わないようにしましょう。クレジット決済でエラーになる可能性があります。
プラグインを使わずとも、このURLの設定だけで十分です。

注意
Really Simple SSL プラグインなど、強制的にリダイレクトしたりスキームを変換するプラグインは使用できません。
メモ
この「WordPress アドレス (URL)」を、http:// から https:// に変更すると、再ログインを求められますので、慌てずもう一度ログインしましょう。
ただし、URLそのものを間違ってしまうと、管理画面に入れなくなってしまいますので注意が必要です。万が一、URLを間違えて管理画面にアクセスできなくなってしまった場合は、データベースを直接修正するしか方法はありません。

WordPress のURLの設定変更は必須

WordPress のURLを変更せずに運用しているサイトを時々見かけます。
実はこのURLを変更せずとも、手順4のリダイレクトを行えば http:// でアクセスしても https:// に自動的に切り替わります。
しかし、利用しているプラグインの中には、WordPress に設定されているURLをそのまま利用している物もあり、その場合は、セキュアなコンテンツを利用していないといったエラーが出ることになります。
あるいは JavaScript が読み込まれず、想定した動作をしないという事にもなるかもしれません。
ですので、WordPress のURLを変更するのは必須だと思った方が良いのです。

手順3. Welcart の設定を変更する

常時SSL化する場合、Welcart のシステム設定の「SSLを使用する」というオプションはチェックを外します。

Welcart のこの「SSLを使用する」という言い回しが悪くて、多くのユーザーの皆さんを混乱させてしまっていることをお詫びします。
この「SSLを使用する」を正しい言い方に直すと、「SSLと非SSLの切り替えを行う」という事になります。
従いまして、常時SSL化する場合は「SSLを使用する」のチェックを付けないでください。

WCEX Mobile プラグインは必要か

SSLと非SSLの切り替えを行っていた時代は、スマホのセキュリティー上 WCEX Mobile プラグインが必要でした。しかし、レスポンシブデザインテーマを使っているサイトでは、常時SSL化することでこの機能は要らなくなりました。
PC専用テーマとスマホ専用テーマを切り替えている場合は、WCEX Mobile プラグインはデバイスチェンジャーとして利用することはできます。ただ、デバイス切り替えプラグインは無料でもありますので、わざわざ WCEX Mobile を購入する必要はないのです。
もし常時SSL化を行い、WCEX Mobile プラグインでデバイス切り替えだけに利用しようとする場合は、下記の設定に注意が必要です。
「SSLを無効にする」にチェックを入れてください。
これは、「SSLと非SSLの切り替えを無効にする」という意味になりますので、煩わしくて申し訳ないのですが、ここは無効にするという事になります。

手順4. http:// でのアクセスを https:// にリダイレクト

手順2で、WordPress の2つのURLを https:// にしましたが、実はこれを行っても、フロントページを http:// でアクセスするとそのまま暗号化なしでページが表示されてしまいます。
https:// に切り替わらないのです。
そこで、サーバー側で強制的にhttps://に切り替える設定が必要になります。
特に、途中から常時SSL化を行ったショップでは、Google などのインデックス(しばらくすると更新されます)も、お客様のブックマークも http:// なので、非SSLのアクセスは絶えません。
必ずリダイレクトの設定は行いましょう。

Apache の場合

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
これは一般的な記述です。共有サーバーの場合はこれではうまく行かない場合があります。

例えばさくらサーバーの場合

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://ドメイン名/$1 [R=301,L]
</IfModule>

各サーバー会社で異なる場合がありますので、サーバー会社のマニュアルを参照してください。

メモ
既に WordPress の設定がある場合は、その前に上記スクリプトを設置します。

手順5. データベースを書き換える

http:// から https:// に切り替えた際は、記事の中あるいはテキストウィジェットの中に書かれた URL が http:// のまま残っています。
これらを https:// に書き換えたいのですが、一つひとつ記事を確認していくのは大変です。
そこで「Search Replace DB」というツールを紹介します。

通常、データベースを自分で一括置換しようとすると、シリアライズされたデータが壊れてしまって、最悪 WordPress が動作しなくなってしまいます。
Search Replace DB はそう言った事態にならないように、特定の文字列を置換してくれる便利なツールです。

例えば、 http://www.sample.com > https://www.sample.com と設定すると、データベース内のすべての対象を、シリアライズを壊すことなく変換してくれます。

これはドメインの変更時にも利用できます。

例えば、 http://127.0.0.1 > http://www.sample.com SSL のインストールが済んだら http://www.sample.com > https://www.sample.com

じつは、これを使えば、手順2のURLの設定は必要なくなります。

手順6. 最終チェック|まとめ

すべての設定が正しく反映されているか、以下のポイントを必ずチェックしてください。

  1. ブラウザでの表示確認:
    サイトにアクセスした際に、アドレスバーに「保護されていない通信」という警告や、赤い取り消し線が出ていないか確認してください。
  2. WordPress 設定の確認:
    WordPress 一般設定で、「WordPress アドレス (URL)」と「サイトアドレス (URL)」が https:// から始まる URL になっているか確認してください。
  3. リダイレクトの動作確認:
    http:// でアクセスした際、自動的に https:// へ転送されるか確認してください。
  4. プラグインの確認:
    「Really Simple SSL」などのプラグインを使用していた場合は、プラグインを無効化、削除してください。
  5. 購入テスト:
    クレジット決済を利用している場合は、必ず購入テストを行い、正常に決済完了できるかを確認してください。

ネットショップを運営するうえで、サイトの常時SSL化は、お客様からの信頼を守るために欠かせない要素の一つです。設定に不備があると予期せぬ不具合を招くこともあるため、手順に沿って慎重に設定を行い、安全かつ快適なネットショップを構築しましょう。

もしご自身での設定に不安がある方や、こういったセキュリティ対策をプロに一任してショップ運営に集中したいとお考えの方は、ぜひ「Welcartクラウド」のご利用を検討ください。

この記事は役に立ちましたか?

0