wordpressで、サイトを構築する時に、sslが導入されていないことがよくありますよね。

開発環境になったら、または開発の途中に、SSLを導入して、サイトのURLをhttpからhttpsに変更します。

サイト全体は問題ない見えますが、実際に、DBにhttpのURLがいっぱい残っている可能性があります。

よくあるのは、ssl導入前に、アップロードしたメデイアファイルのURLはhttpのままです。

サイトの開発モードで表示すると、よく以下のエラー情報が出ます。

Mixed Content: The page at ‘https://xxxxx.xxx.xx/’ was loaded over HTTPS, but requested an insecure image ‘http://xxxxx.xxx.xx.jpg’. This request has been blocked; the content must be served over HTTPS.

 

これを解決するために、以下の記事を参照になりました。

https://wordpress.org/support/topic/switched-to-https-but-images-still-http/

 

簡単にいうと、

  1. Better Search Replaceプラグインをインストール、有効化にします。
  2. http://xxxxx.xxx.xxを全部https://xxxxx.xxx.xxに切り替えます。

効果として、DBをスキャンして、全てのhttp://xxxxx.xxx.xx文字列をhttps://xxxxx.xxx.xxに書き換えます。

もちろん、DBをいじる前に、サイトを必ずバックアップしてください。

wordpressサイトのバックアップと復元は以下の記事を参照してください。

WordPressのバックアッププラグイン-All in One WP Migration