「サイトをSSLにして、URLがhttpsになったけど、なぜか、アドレスバーに鍵マークがつかない」ということがある。
あるいは「安全でないサイトです」とか「セキュリティで保護された部分のみ表示します」とか言った表示が出る場合もある。
なぜ、そうなるのかというと、画像や内部リンクがhttpのままだから。
要は、本家サイトはSSL対応できても、画像や内部リンクなどは、SSLに対応していないからだ。
内部リンクや画像のhttp化の方法
もともと使っていた画像や内部リンクはそのまま何もしないとhttpのまま。
数が少なければ、手動で書き換えるのが一番安全だが、数が多くなると大変。
対処方法はいくつかある。
- プラグインを使って内部リンクや画像リンクをhttpsにする。
- hpptをhpptsに見せかける機能を持つWordPressテーマを使う。
- functions.phpに内部リンクをhttpsにするコードを張り付ける。
など。
内部リンクを書き換えるWordPressプラグイン
Search Regex
Wordpressデータベース内の文章を一括で検索したり、置換したりすることができるプラグイン。
http→httpsだけでなく、他の言葉などを一括で置き換えることができる。
データベースそのものを書き換えてしまうので、失敗するととんでもないことになる。
使うときはデーターベースなどをバックアップをしてから。
Really Simple SSL
インストールして有効にするだけで内部リンクと管理画面の一般設定にある「WordPressアドレス(URL)、サイトアドレス(URL)」を「https://」に変更してくれる。
また「http://~」のアドレスにアクセスが来ても「https://~」に301リダイレクトしてくれる。
hpptをhpptsにする機能を持つWordPressテーマ
今、このサイトで使っているWordPressテーマは「Simplicity2」。
この「Simplicity2」 は設定すれば内部リンクや画像のアドレス・外部のサービスのリンク(Amazonアソシエイト)などをhttpからhttpsに書き換えてくれる。
ウィジット内のリンクは書き換えられない。
ちなみに、設定を解除すると、元のhttpに戻る。301リダイレクトの機能はない。
ちょっと困るのは、投稿時に「http
://freesoft.0hs.org」と書くと、勝手に「https://freesoft.0hs.org」と表示してしまうところ。
これは、プラグインを使っても同じなのかもしれない。
ちなみに、「http
://freesoft.0hs.org」と表示したい場合は「<code>http</code>://freesoft.0hs.org」
と記述する。
「Simplicity2」以外にも、こういった機能があるWordPressテーマを選ぶのも手の打ち。
ちなみに「Simplicity1」にはhttp→hppts書き換えの機能がない。
functions.phpに内部リンクなどをhttpsにするコードを張り付ける
メリットは、
- どんなテーマでも利用できる
- データベースそのものを書き換えない。
といったところ。
コメント