WordPressの画像ファイルの場所をメディアライブラリのサムネイルまで含めて変更する方法

関連記事

検索すると断片的には情報が出てくるのですが、メディアライブラリのサムネイルが表示されなくなる件までフォローしてくれている記事はなかったのでまとめておきます。

こう言うことをやるレベルの人に細かい手順の解説は不要だと思うのでザックリと。

wp-admin/options.phpからアップロードディレクトリとURLを修正

『upload_path』と『upload_url_path』ですね。

検索すればいくらでも情報が出てきますが、パスの最後にスラッシュ(/)をつけると表示ができないので注意してください。

FTPで画像を移動

wp-content/uploadsから新しく作ったディレクトリに移動します。

SQL文でwp_postsとwp_postmetaを置換

UPDATE wp_posts SET guid = REPLACE(guid, 'https://example.com/wordpress/wp-content/uploads/2018/03/', 'https://example.com/images/');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://exemple.com/wordpress/wp-content/uploads/2018/03/', 'https://example.com/images/');

MySQLの置換は正規表現が使えないので、年月のフォルダが複数ある場合はその都度実行しておきます。

プラグインSearch Regexで記事内の画像URLを置換

こちらもSQLでやってもいいのですが、やはりプレビューがあって便利なので。

SQLと同じように、正規表現で

  • 置換前
/\/\/example\.com\/wordpress\/wp-content\/uploads\/\d{4}\/\d{2}\//
  • 置換後
/\/\/example\.com\/images\/

と入力して実行します。

プラグインRegenerate Thumbnailsでサムネイル再生成

単にデータベースを置換しただけだとwp_postmetaの中のserializeされたデータまでは修正できないので、プラグインRegenerate Thumbnailsでサムネイルを再生成。

以上の操作で画像ディレクトリの移動は完了です。

ソースコードからWordPressを使っていることがバレるのはまぁ別に構わないのですが、正直初期設定の画像ファイルの配置場所はURLが長ったらしいので、気になる人はディレクトリが増える前に早めに変更することをおすすめします。

関連記事