WordPress のメニューとウィジェットには注意が必要だ!
はじめに:
かなり前のことだが、このサイトを置いている XSERVER のハードウェアが全面的に更新された時に、それまで設定していた Basic 認証が使用不能になった。
なので、もし追加費用が少なくて済むのならばそのうちサイトを常時 SSL 化しようと思っていたところ、追加費用は必要ないという情報を長男が教えてくれたので、早速 SSL 化にチャレンジしてみた。
今回は自分で試行した部分はひとつもない。
サブタイトルに挙げたメニューとウィジェットの件は自分で解決したが、後で参考サイトを読み返したら、これらの件にもしっかり触れていた。
結果的に、今回私がやったことは、全部以下に挙げる参考サイトに書かれていることばかりだった。
XSERVER の処理が完了した後の処理:
-
SSL 化の手順参考リンク
SSL 化の手順は次のサイトを参考にして頂きたい。
色々なサイトを見たが、私の環境ではこの二つのサイトが特に役に立った。
参考サイト:
creive:WordPressサイトをhttpからhttpsにSSL化する方法【対応手順を丁寧に説明】
寝ログ:WordPressをhttpからhttpsにSSL化した全手順まとめ(エックスサーバー環境)
Google Chrome のサーチコンソールや AdSense に関する情報については、次の二つのサイトが参考になった。
参考サイト:
Toro ノマド:SSL化ちょっと待って!HTTPS化する前に知っておくべき4つの設定(WordPressセキュリティ)
ブロギングライフ:HTTPS に移行後に AdSense が表示されなくなる理由とその対処法
-
メニューとウィジェットの件
SSL 化の手順の中で、Search Regex というプラグインを使って内部リンクの http を https に置換するという処理がある。
Search Regex はメディアを含めたコンテンツ内の内部リンクは置換するが、メニューやウィジェットなどの、テーマ twentyfourteen の functions.js が制御している部分には効果がない。
つまり、メニューやウィジェットに設定したカスタムリンクや、そこに配置した画像などのメディアファイルへの内部リンクは置換しない、ということだ。
このサイトではヘッダーメニューの【HOME】と【カテゴリーの RSS】、それと XSERVER の広告が http のままだった。前の二つはダッシュボード > 外観からそれぞれのリンク設定を変更して対処したが、広告の方はとりあえず非表示にしている。
これでやっとサイトがセキュア―になった。
対処する前は https の前に鍵マークではなく「丸に !」のマークが付いて、「このサイトへの接続は完全には保護されていません」という情けない警告メッセージを頂いていたのだ。
おわりに:
XSERVER で SSL 化の手続きをしてから、サイトが表示可能になるまで約 2 時間かかった。説明では「最大 1 時間程度」とあったのでかなり心配したが、サイトが無事表示された時はホッとした。
サイトがセキュア―になっていないことに気が付いたのは、サイトが表示可能になってからかなり時間が経ってからのことだ。
その時は「XSERVER の広告だろう」という見当はついたが、メニューとウィジェットには考えが及ばなかった。そのあたりのことは参考サイトの説明をまったく読んでいなかったからだ。
役に立ったのは Chrome の DevTools だ。
Elements タブ上で CTRL + F を押して検索ボックスを開き、http://ys.moon で検索するとすぐに分かった。
これらの内部リンクは WordPress のダッシュボード上で簡単に修正できたが、Java Script や JQuery で、メディアファイルの内部リンク文字列を常数として持っている場合は、スクリプトファイルのダウンロード > 内部リンク文字列の修正 > アップロードの作業を、全部マニュアル操作で実行しなければならないだろう。