今回はWordPressでHTTPS化した後に記事に貼り付けた画像が消えてしまう現象について、原因と対処方法を解説します。
画像が消えてしまう原因
HTTPS化する前に書かれた記事の画像はHTTPS化した後に消えてしまうことがあります。
もしくは以下のような表示になり画像が閲覧できなくなってしまうことがあります。

この画像に書かれている「alt属性」とは、WordPressでは「代替テキスト」として設定できる画像説明文のことです。
画像が閲覧できない主な原因は画像URLがHTTPのままであることが考えられます。
記事の編集画面で壊れた画像をクリックし”メディア”の下の画像URLを押して、”現在のメディアURL”の欄にあるペンのマークで現在のURLを確認できます。
URLの冒頭が”http://”となっていた場合、HTTPS化後も古い画像URLが残っている可能性が高いです。
次はその対処方法を解説します。
プラグインBetter Search Replaceの導入
先ほど画像URLを確認した場所から直接URLを編集する方法もありますが、消えた画像が多い場合は”Better Search Replace”というプラグインを使用する方法が便利です。
WordPressの管理画面の左側のメニューでプラグイン検索ページに移動し、”Better Search Replace”を検索してインストールします。
インストールしたらプラグインを有効化して、左側のメニューでツールを選択すると”Better Search Replace”が追加されているかと思いますので開きます。
まずは実際にはURLを置換せずに、置換できる項目があるか確認するために”ドライランとして実行する”にチェックしたまま実行します。

次に置換する内容を記述しますが、置換後の内容は”https://ドメイン名”として”次と置換”に記述します。
置換前の入力欄は、画像URLを確認したときに”http://IPアドレス”だった場合はそれを記述し、”http://ドメイン名”だった場合はでそれを”検索”に記述します。(プラグインを使用せずに手動で置き換える場合も同様です。)
次に置換する範囲を選択しますが、すべての項目を対象としますので”テーブルを選択”の欄で複数選択できるようにCtrlキー(Macはcommandキー)を押しながら選択します。
選択出来たら、一番下の”検索/置換の実行”を押します。
すると一番上に以下のような表示が出ているかと思います。
DRY RUN: 数字A tables were searched, 数字B cells were found that need to be updated, and 0 changes were made.
Click here for more details, or use the form below to run the search/replace.
この”数字A”が置換対象の数になりますので、対象項目があった場合は”ドライランとして実行する”のチェックを外して実際に置換します。
置換が完了したら、記事を”Ctrl + Shift + R”などでスーパーリロードして画像が表示されているかどうか確認します。
画像が表示されるようになっていれば手続きは完了です。
まとめ
今回はHTTPS化に伴うURLの置換漏れを起因として起きる画像の消失についての対処方法を解説しました。
WordPressを構築して、しばらくHTTPS化せずに記事を書いていた場合に起こりうる現象ですので、同じ現象でお困りの方のお役に立てば幸いです。