WordPressをルートフォルダからサブフォルダを移動しました。
移動して、ホームページを表示することはできました。しかし、公開済みの投稿の画像が表示されなくなりました。
今回は、画像が表示されなくなった原因と対策を書きます。
- WordPress 6.1.1
- WordPressテーマ SWELL 2.7.2
- PHP 7.4.33
サイトのアドレスは、本サイトのhttps://home-programming.com としています。コピペするときは、自分のサイトに合わせてください。
作業するときはバックアップを取っておくと安心です。
WordPressのフォルダ移動
WordPressのフォルダを “/” → “/wp/” に変更します。ただし、サイトのアドレスは変更しないようにします。
こちらのサイトを参考にしました。
- WordPressダッシュボード内「設定 > 一般 」で WordPressアドレス (URL)を変更します
- https://home-programming.com → https://home-programming.com/wp
- FTPソフトでWebサーバーへアクセス。ドキュメントルートに移動先のフォルダ wp を作成。
- ルートにあるindex.php と .htaccess 以外を 今作った wp フォルダの中へ移動。
- index.phpの内容を変更
//変更前
require(dirname( __FILE__ ) . '/wp-blog-header.php');
//変更後
require(dirname( __FILE__ ) . '/newdir/wp-blog-header.php');
ここまでやって、https://home-programming.com にアクセスすると、ホームページは表示されました。しかし、画像は表示されませんでした。
画像が表示されない原因
画像が表示されない原因は、公開済みの投稿の画像のリンクが変更されていなかったからです。
SWELL だと、表示されていない画像を選択し、置換→現在のメディアURL で鉛筆マークをクリックすれば、メディアのURLが確認できます。ここが変更されていないなら、画像が正しく表示さません。
画像が表示されない対策
対策はいろいろあると思います。1つ1つ地道にやっていくと、時間がかかりますし、修正漏れ、修正ミスをするかもしれません。
なので、一括で変更します。一括変更するために「Search Regex」プラグインを使用しました。これでWordPress内の文字列を一括で変更します。
Search Regex をインストール後、「ツール→Search Regex」を選択します。
項目 | 変更内容 |
---|---|
Search | 変更前のアドレスを入力します。ドメイン名の後、wp-content/uploads を入力します。 |
Action | Global Text Replace を選択します。 |
Replace | 変更後のドレスを入力します。ドメイン名の後、wp/wp-content/uploads を入力します。 |
Search ボタン | 変更前の場所を検索します。全部画像のアドレスになっているか確認する必要があります。おそらく全部が増加と思います。 |
Replace All ボタン | Searchで入力→Replace で入力 に置換を実行します。 |
Replace All ボタンを押すと、置換を実行します。
投稿を見ると、無事元通りに画像が表示されました。
まとめ
WordPressでフォルダ移動後に、画像が表示されなくなった問題の対応を行いました。
元々の投稿の画像のアドレスが変更されていませんでした。
対策として、プラグインで画像のアドレスを一括置換しました。
コメント