WordPressサイトSSL化の落とし穴

ここのところ、WordPressサイトのサーバー移転のお客様から、移転と一緒に、常時SSL化(全ページ https:// でアクセスできるように変更)のご依頼をいただくことが多くなってきました。
(ありがとうございます。)

WordPressは、ご存知の通り、表示するページ内容をデータベースから出力していますので、常時SSL化は、サーバー証明書の契約やサーバーへの適用を除けば、基本的には、データベースのデータを変更するだけで済みます。
(もちろんその前にバックアップ等の準備は必須で、それらも全部含めてSSL化です。)

ところが最近、それだけでは済まなかった想定外のケースが2件立て続けにありましたので、ご紹介します。

WordPressテーマ内の絶対パス

WordPressのコーディングレベルのカスタマイズは、通常、子テーマを作って行うわけですが、今回のケースでは、市販のテーマを直接コーディングで変更されていました。
(それはそれで問題があるのですが、今回それは置いておいて。)

そして、そのテーマの中に、絶対パス(http://)で、画像やファイルを読み込んでいる部分がありました。

つまりそのままだと、ブラウザのURL欄に、SSL接続を示す「鍵マーク」が付かなくて、またブラウザによっては、

このサイトへの接続は完全には保護されていません

というメッセージが出てしまう状況になってしまいます。

この場合の対応としては、WordPressテーマを、

  1. 絶対パス相対パスに変更
  2. 対象が外部サイトの場合は、「http://」を「https://」に変更(ただし参照先もSSLに対応していなければなりません)
    (テーマ内から外部サイトの画像やファイルを読み込むのも、あまりおすすめできませんが)

する必要があります。

古いアフィリエイト用コード

お客様の中には、アフィリエイト用のコードを埋め込んでいる方もいらっしゃるのですが、その中には、「http://」を使った古いコードが含まれていることがあります。

それらのコードは、単純に「http://」を「https://」に変更するだけで済むものもあるかもしれませんが、サイトの収益に直結するものですから、全部新しいものと差し替えた方が無難です。

ただ、全部差し替えといっても、

そのアフィリエイト用コードが、ウィジェットやプラグインだけで管理されているのであれば、数も多くないと思われますので、それほどの手間ではないかもしれませんが、

「投稿」や「固定ページ」のコンテンツとして埋め込まれている場合は、ページ数が多ければ多いほど膨大な数になりますので、サイトによっては、気の遠くなるような工数になってしまうこともあります。
(ページごとに違うコードのことが多いので、一括置換でもできません。)

古いアフィリエイト用コードの問題は、HTMLファイルの常時SSL化でも起こりえることですが、WordPressサイトはページ数が多いですので(簡単にページを増やせるのがWordPressを使うメリットの1つなので)、その分、新旧差し替えの工数も嵩んでしまいます。

なかなか悩ましいところではありますが、最終的にどうするかは、ご相談のうえ、お客様に決めていただいています。