お問い合わせはコチラから

WordPress メディアライブラリにアップロードできない原因と対処法

サイト運営

WordPressサイトを移転する時にはAll in One WP Migrationを使っている人が多いのではないでしょうか?

でも、大規模なサイトの場合はプラグインを使うと失敗する確率が高くなりますので、SSHを使ってファイル一式を移転する方がストレスが少ないです。

あるサイトのドメインを変更した時に今まで起きたことが無い問題が発生してかなりハマったのでメモしておきます。

メディアライブラリにファイルがアップロードされない

あるサイトのドメイン変更のために、サイトの移転を行った後に起きた事象です。

メディアライブラリにアップロードして、アップロード完了となった後にサムネイルが表示されるはずなのですが、サムネイルが表示されません。

アップロードは完了しているのでDB上はメディアが存在していることになってますが、ファイルはアップロードされていません。

移転前のサイトが残っている状態だったので念のため確認すると、移転前のサイトでは問題なくメディアライブラリにアップロードできます。

検証ツールでもエラーが無く、PHPエラーも無く、原因を調べる手がかりが無い状態でした。

プラグインを全て停止、テーマも初期テーマに変更、それでも状況変わらず。

何も変えていないのになんで?と思いながら色々検索して調べたら以下の記事を発見しました。

Wordpress でメディアのアップロードに失敗する際の備忘録 - Qiita
Wordpress で、メディアのアップロードに失敗する際に対応した備忘録を残しておく。失敗する際に確認する設定アップロードしたメディア (ファイル) が保存されるディレクトリの確認保存される…

メディアライブラリのアップロードパスが間違っているとメディアライブラリのアップロードに失敗するという内容でした。

実際に設定⇒メディアから設定値を確認しました。

まず、絶対パスで書かれていて、その部分がドメイン変更前のサイトのままでした。

原因は確実にこれなので、これを正しいパスに変更することでメディアライブラリにアップロードできるようになりました。

メディアライブラリのアップロードパスを変更する

自分で意図的にメディアライブラリのアップロードパスを変更していないのであれば、デフォルト値に戻す方が安全です。

デフォルト値に戻すには以下の3種類の方法があります。

①ダッシュボードから変更する

設定⇒メディア と進みアップロードするファイルの保存場所が表示されていたら、以下に変更する

wp-content/uploads

②wp-config.phpに書き込んで初期状態に戻す

define( 'UPLOADS', 'wp-content/uploads' );

③wp cliを使って初期状態に戻す

wp option update upload_path 'wp-content/uploads'

なぜメディアのアップロード先が絶対パスになったのか?

アップロードするファイルの保存場所という項目は、デフォルトのwp-content/uploadsから変更していない場合は項目自体が表示されないそうです。

通常のインストールでは、最初から項目が表示されず、変更には特殊な手段が必要です。

意図的にデフォルト値から変更したことは考えられません。

しかし、私のサイトは全て絶対パスで書かれています。

なんでこのようなWordpressインストールになっているのかはわかりませんが、レンタルサーバーのWordpress簡単インストールの問題かなと思います。

ちなみにレンタルサーバーはカラフルボックスです。

なぜ移転ツールでは今回の問題が起きないのか?

今回のようなケースは初めてだったので、有名なサイト移転ツールを使っていれば問題が起きないのかもしれません。

絶対パスの中には公開ディレクトリ名だけでなくサーバー特有のパス(ユーザー名など)が含まれていますので、サーバー移転時などはドメイン名の置換だけでは上手くいかないはずです。

画像のアップロードパスに関してはデフォルト値から変更されている場合、単純な置換では置換漏れが起きそうです。

移転ツールは移転先のWordpressにインポートする際DBを書き換えるのが一般的です。DBを書き換えるのに問題が起きないのは、アップロードするファイルの保存場所のDBテーブルを書き換えないようにしているのではないかと思います。

インストール直後のWordpressはアップロードするファイルの保存場所が正しいので、そこを上書きしなければ問題が起きないからです。

All in One WP Migrationでアップロードするファイルの保存場所が変更されたサイトを移転した場合、移転先のサイトではアップロードするファイルの保存場所は初期状態(wp-content/uploads)に戻ってしまいます。

それに伴い、画像もアップロードするファイルの保存場所(wp-content/uploads)にコピー(移動ではない)されて保管されます。

結果的には辻褄が合うようになっているのですが、元の状態とは異なる状態で移転されてしまうのでかなり気持ち悪いです。

このあたりの挙動はちぐはぐになりますので、アップロードするファイルの保存場所が変更されたサイトの場合は素直にファイルとDBを直接移行した方が安全ですね。

まとめ

手動でDBをインポートしてDBテーブルを置換する場合は、隠し項目のような項目に絶対パスが残っていないか確認する必要があります。

隠し項目の設定は https://www.example.com/wp-admin/options.php で表示されます。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました