スポンサーリンク

WordPressサイトの内部リンクをHTTPSにするには

 「サイトを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にするコードを張り付ける

 メリットは、

  • どんなテーマでも利用できる
  • データベースそのものを書き換えない。

 といったところ。