WordPressで画像が表示されない原因|メディアライブラリにアップロードしても直らなかった理由
WordPressの記事へ画像を表示するため、画像ファイルをメディアライブラリへアップロードしました。
その後、HTMLに入っていた画像URLの置換部分を、images/01-before-top-page.pngのように変更しました。
しかし、公開画面には画像が表示されませんでした。
調べて分かった原因は、WordPressではパソコン内やZIPファイル内の相対パスではなく、メディアライブラリに表示される完全な「ファイルのURL」を指定する必要があることでした。
この記事では、画像が表示されなかった状態、原因、修正した手順、確認したポイントを紹介します。
最初に結論
WordPressへ画像をアップロードしただけでは、HTML内の画像URLは自動的には変わりません。
images/画像名.pngではなく、メディアライブラリの画像詳細に表示される「ファイルのURL」をコピーし、HTMLのsrcへ入れる必要がありました。
重要:ZIPファイル内のimages/...は、WordPress上の公開URLではありません。
画像をアップロードしても表示されなかった
私は、ChatGPTで作成したWordPress用HTMLと、記事で使用する画像をまとめたZIPファイルを用意しました。
画像をWordPressのメディアライブラリへアップロードした後、HTML内の画像URLを次のように変更しました。
src="images/01-before-top-page.png"
ところが、画像は表示されませんでした。
画像ファイルそのものはメディアライブラリに存在していたため、最初はファイル名やHTMLの書き方に問題があると思いました。
相対パスと完全なURLの違い
images/01-before-top-page.pngは、ZIPファイルやパソコン上のフォルダー構成を表す相対パスです。
WordPressへ画像をアップロードすると、画像には次のような公開用URLが割り当てられます。
https://あなたのサイト/wp-content/uploads/年/月/画像ファイル名.png
WordPressの記事から画像を表示するには、この公開用URLをHTMLのsrcへ指定します。
メディアライブラリからファイルURLを確認する手順
- WordPress管理画面の「メディア」を開きます。
- 記事で使用する画像を選択します。
- 「添付ファイルの詳細」を表示します。
- 「ファイルのURLをコピー」を押します。
- HTML内の画像URLへ貼り付けます。
画像URLは、ファイル名だけでなく、https://から始まる完全なURLをコピーします。
HTMLを修正した例
変更前
<img
src="images/01-before-top-page.png"
alt="変更前のトップページ"
>
変更後
<img
src="https://あなたのサイト/wp-content/uploads/年/月/01-before-top-page.png"
alt="変更前のトップページ"
>
実際に使用する場合は、「あなたのサイト」の部分を手入力するのではなく、メディアライブラリに表示されたファイルURLをそのままコピーします。
修正後に確認したこと
- 公開画面に画像が表示されるか
- PCとスマートフォンの両方で確認できるか
- 画像URLを直接開いて404にならないか
- 画像の代替テキストが設定されているか
{{IMAGE_01_URL}}などの置換記号が残っていないかimages/...という相対パスが残っていないか
まだ画像が表示されない場合
- URLの前後に余分な空白や記号がないか
src="..."の引用符が正しく閉じているか- メディアライブラリから画像を削除していないか
- ブラウザやキャッシュ系プラグインに古い表示が残っていないか
httpとhttpsが一致しているか- 画像URLをブラウザへ直接貼り付けると画像が開くか
よくある質問
メディアライブラリへアップロードすれば、HTMLのURLも自動で変わりますか?
いいえ。既に作成済みのHTML内のURLは自動では変わりません。画像ごとにファイルURLを確認し、HTMLへ反映します。
画像ファイル名だけを入れてはいけませんか?
WordPress上の正しい保存場所を示していない場合、ファイル名だけでは画像を見つけられません。メディアライブラリの完全なURLを使う方法が確実です。
画像ブロックを使う方法でもよいですか?
はい。HTMLへ直接画像URLを入れず、WordPressの画像ブロックを使って挿入する方法もあります。HTML全体をまとめて作成した場合は、ファイルURLの置換が必要になることがあります。
代替テキストには何を書けばよいですか?
画像を見られない場合でも内容が分かるように、画像が何を示しているかを簡潔に書きます。装飾だけの画像には、無理に長い説明を入れる必要はありません。
まとめ
私の場合、画像が表示されなかった原因は、画像をメディアライブラリへアップロードした後も、HTMLにZIPファイル内の相対パスを入れていたことでした。
WordPressで画像を表示するには、メディアライブラリへアップロードした画像の「ファイルのURL」を使う必要がありました。
ChatGPTにHTMLを作ってもらった場合でも、画像URLはWordPressへアップロードした後に、自分のサイトのURLへ置き換える必要があります。
WordPressの設定で困っている方へ
画像が表示されない、HTMLを貼っても崩れる、説明と実際の画面が違うなど、現在の状態を確認しながら整理するご相談ページを用意しています。
