WordPressのデフォルトの画像アップロード先は、インストールディレクトリの下の /wp-content/uploads となっています。
そうすると、例えば、ルートディレクトリ直下のwpディレクトリにWordPressがインストールされている場合の参照先は、
https://example.com/wp/wp-content/uploads
となり、メディアを年月フォルダで整理している場合のメディアまでのパスは、
https://example.com/wp/wp-content/uploads/2023/01/img.jpg
のような形になり、非常に長い印象を受けますし、何より、必ず入る /wp-content/uploads の部分でWordPressだということが分かり、セキュリティ的にもよくありません。
なので、メディアのアップロード先をルートディレクトリに変更して、
https://example.com/images
という形にします。
また、ルートディレクトリに画像フォルダを置くことで、例えば本サイトとは別にメンテナンス用のミラーサイトを置く場合など、画像ファイルを共有できるので共通のアンカーリンクで運用でき、ファイルの重複を防ぐことができます。
WordPressアドレス(インストールディレクトリ)により、対応したほうが良いことが少し違ってきますので、それぞれ記載します。
(WordPressアドレスはWordPress管理画面から[設定] > [一般]で確認できます)
新たにimagesディレクトリを作ります
まずは新たにメディアのアップロード先とするimagesディレクトリを作ります。
FileZillaなどのFTPツールを使い、サイトアドレスが https://example.com なら https://example.com/images というように、ここではサイトアドレス直下に作ります。
options.phpの変更とメディア設定の確認
-
WordPressの管理画面を開くと、urlに wp-admin/ とありますが、その後に options.php と入力して「すべての設定」画面を開きます。つまり、
https://[WordPressインストールディレクトリ]/wp-admin/options.php
を開きます。 -
画面をスクロールしますと中程か少し下方に upload_path と upload_url_path という項目がありますので、その2箇所に入力します(デフォルトは空欄)。
- upload_path
- メディアのアップロード先をWordPressインストールディレクトリから見た相対パスで入力
- upload_url_path
- メディアを表示させる参照先で、上記ディレクトリを絶対パスで入力
WordPressアドレスとサイトアドレスが同じ場合
以下のように、WordPressインストールディレクトリとサイトURLが同じ場合、
- WordPressアドレス
- https://example.com/wp
- サイトアドレス
- https://example.com/wp
- WordPressアドレス
- https://example.com
- サイトアドレス
- https://example.com
メディアのアップロード先にするのは https://example.com/wp/images であったり https://example.com/images であったりだと思います。
その場合は、WordPressインストールディレクトリ直下のディレクトリになります。アップロード先が https://example.com/images であれば、
- upload_path
- images
- upload_url_path
- https://example.com/images
と入力して[変更を保存]をクリックします。
WordPressアドレスとサイトアドレスが違う場合
サイトアドレス下層にインストールディレクトリを設け、WordPressインストールディレクトリとサイトURLが違う場合、
- WordPressアドレス
- https://example.com/wp
- サイトアドレス
- https://example.com
- WordPressアドレス
- https://example.com/bin/wp
- サイトアドレス
- https://example.com
https://example.com/images にメディアを置く場合の upload-path の相対パスは、WordPressインストールディレクトリが https://example.com/wp の場合は1階層上、https://example.com/bin/wp の場合は2階層上ということになります。
- https://example.com/wp の場合
- ../images
- https://example.com/bin/wp の場合
- ../../images
例えば2階層上の場合はそれぞれ以下のような設定となります。
- upload_path
- ../../images
- upload_url_path
- https://example.com/images
と入力して[変更を保存]をクリックします。
メディア設定を確認します
[設定] > [メディア]で「メディア設定」を確認しますと、「アップロードするファイルの場所」に upload_path、「ファイルへの完全なパス」に upload_url_path が入っています。
ここで、WordPressインストールディレクトリより上層にimagesフォルダを置いた場合は、「アップロードしたファイルを年月ベースのフォルダーに整理」のチェックをはずすほうが良いと思います。
なぜなら、年月フォルダの自動生成はWordPressの管理下にありますので、その外(上層)にあるフォルダには適用されないからです。年月フォルダが存在する場合は画像の振り分けは行われますが、フォルダが存在しない場合は手動で作らなければなりません。
これで、以後、画像などのアップロード先と参照先は https://example.com/images となりますが、既存の画像リンクは /wp-content/uploads に向けられています。
既存画像をコピーして記事の画像リンクを変更します
-
既存の画像も https://example.com/images に向けて統一します。
FTPツールを使い、uploadsフォルダの中の画像をすべてダウンロードし(年月フォルダで分けられている場合は年月フォルダごとダウンロードします)、それをそのまま imagesフォルダにアップロードします(この段階ではuploadsフォルダの画像もそのまま残しておきます)。 -
記事中の画像リンクの変更には、今回はプラグイン「Search Regex」を使います。
WordPress管理画面[プラグイン] > [新規追加]でキーワード search regex と入れて検索し、インストールして有効化します。 -
WordPress管理画面[ツール] > [search regex]を開き、「検索」欄に置換対象となる文字列、「置換」欄に置換後の文字列を入力します。
例えば、https://example.com/bin/wp/wp-content/uploads/ へのリンクを https://example.com/images/ に置換する場合は、- 検索
- /bin/wp/wp-content/uploads/
- 置換
- /images/
となります。[検索]をクリックすると置換候補を表示し、[すべて置換]で置換されます。
以上、ご参考になれば幸いです。ありがとうございます。
コメント
[…] **「変更を保存」**をクリックして設定を […]