WordPressサイトSSL化の落とし穴
ここのところ、WordPressサイトのサーバー移転のお客様から、移転と一緒に、常時SSL化(全ページ https:// でアクセスできるように変更)のご依頼をいただくことが多くなってきました。
(ありがとうございます。)
WordPressは、ご存知の通り、表示するページ内容をデータベースから出力していますので、常時SSL化は、サーバー証明書の契約やサーバーへの適用を除けば、基本的には、データベースのデータを変更するだけで済みます。
(もちろんその前にバックアップ等の準備は必須で、それらも全部含めてSSL化です。)
ところが最近、それだけでは済まなかった想定外のケースが2件立て続けにありましたので、ご紹介します。
WordPressテーマ内の絶対パス
WordPressのコーディングレベルのカスタマイズは、通常、子テーマを作って行うわけですが、今回のケースでは、市販のテーマを直接コーディングで変更されていました。
(それはそれで問題があるのですが、今回それは置いておいて。)
そして、そのテーマの中に、絶対パス(http://)で、画像やファイルを読み込んでいる部分がありました。
つまりそのままだと、ブラウザのURL欄に、SSL接続を示す「鍵マーク」が付かなくて、またブラウザによっては、
このサイトへの接続は完全には保護されていません
というメッセージが出てしまう状況になってしまいます。
この場合の対応としては、WordPressテーマを、
- 絶対パスを相対パスに変更
- 対象が外部サイトの場合は、「http://」を「https://」に変更(ただし参照先もSSLに対応していなければなりません)
(テーマ内から外部サイトの画像やファイルを読み込むのも、あまりおすすめできませんが)
する必要があります。
古いアフィリエイト用コード
お客様の中には、アフィリエイト用のコードを埋め込んでいる方もいらっしゃるのですが、その中には、「http://」を使った古いコードが含まれていることがあります。
それらのコードは、単純に「http://」を「https://」に変更するだけで済むものもあるかもしれませんが、サイトの収益に直結するものですから、全部新しいものと差し替えた方が無難です。
ただ、全部差し替えといっても、
そのアフィリエイト用コードが、ウィジェットやプラグインだけで管理されているのであれば、数も多くないと思われますので、それほどの手間ではないかもしれませんが、
「投稿」や「固定ページ」のコンテンツとして埋め込まれている場合は、ページ数が多ければ多いほど膨大な数になりますので、サイトによっては、気の遠くなるような工数になってしまうこともあります。
(ページごとに違うコードのことが多いので、一括置換でもできません。)
古いアフィリエイト用コードの問題は、HTMLファイルの常時SSL化でも起こりえることですが、WordPressサイトはページ数が多いですので(簡単にページを増やせるのがWordPressを使うメリットの1つなので)、その分、新旧差し替えの工数も嵩んでしまいます。
なかなか悩ましいところではありますが、最終的にどうするかは、ご相談のうえ、お客様に決めていただいています。