引越しなどで、WordPressのメディアが消えた場合の、Moving Media Library。|デザイナー、コーチ、ディレクターズメモ|井川igawa.

Memo

引越しなどで、WordPressのメディアが消えた場合の、Moving Media Library。

HTMLって

引越しなどで、WordPressのメディアが消えた場合の、Moving Media Library。

メディアライブラリが空に!?

WordPressのメディアライブラリが空になった

WordPressで制作したサイトのリニューアルのため、旧サイトのサーバーの画像類をWP管理画面からxmlファイルでエクスポートし、リニューアル中のテストサーバーのWP管理画面からインポートした。

当初は問題なく画像が表示されていたが、作成中に突然消えていることが判明。FTPでuploadsフォルダを削除し、再アップしてみたが変わらず。

xmlファイルをインポートし直すと、管理画面のメッセージでは、○○○.jpg” はすでに存在しています。的なメッセージが出るのだが、メディアライブラリには何も無く、肝心のサイトにも表示されない。

一応過程をメモ書きしていたが、長くなりすぎた。

なので先に結論から言うと、当日翌日どころか数日後、WordPressプラグイン「Moving Media Library」でようやく解決した。

以下、もしご参考になれば。↓

Moving Media Libraryを使用した移行手順へスキップ


ネットで調べて、色々と対処してみたところ、意外とよくあることのようで。ひとまずやってみた。

  • パーミッション → 問題なし。
  • .htaccess → 記述は変えず。
  • プラグインの停止 → 変化なし。
  • プラグイン「WordPress Flash Uploader」の使用 → 変化なし。
  • WordPressインポーターの容量は上限5MB → xmlファイルはそれ以下。(容量の大きい添付ファイルの画像類はFTPでアップ済み)
  • admin-ajax.php → 「wp-content」以外のファイルはwp-config.php以外、触りたくないのでそのままに。

など。

が、今回の場合解決にはいたらず。


データベースを作り直し、WordPressもインストールし直す。

一旦あきらめて、テストサーバー側WordPressの全削除と再構築を決意。FTPでWordPressごと全削除し、テストサーバー側のデータベースも同様に全削除し作り直した。

(もちろんバックアップを取って。)

念の為xmlファイルの問題の可能性も疑い、投稿、カスタム投稿、各ページ、フォーム、などと個別にエクスポート。そのまま一夜寝かせて、頭を落ち着かせることにした。

WordPressにハマったので一旦逃げる。


翌日、削除したサーバーのディレクトリにFTPでWordPress最新版をアップロード。リニューアル中のテーマもアップロード。ここまでは問題無し。

プラグインも最低限のみをインストール。

前日に個別にエクスポートしたxmlファイルを、それぞれ個別にインポートしたが、状況変わらず。

元々メディアライブラリには149枚の画像があったので、さすがにこの枚数を1枚1枚個別作業で再アップロードすることは避けたい。

149回の手順を繰り返すのはとても賢いとは言えない。今後万一同じことが起こった場合の解決にもならない。


データベース&WordPressの再構築のし直し。

再度、データベースとサーバーからWordPressを削除し、再作成。今度はプラグインもデフォルトのまま。

カスタム投稿を使用(functions.phpへ記述)しているため、テーマファイルはリニューアル中のものに変更。

プラグイン画面。

ただし、、、

○○○ の新規ユーザを作成できませんでした。投稿は現在のユーザに関連付けられます。

すべて完了しました。 ではお楽しみください !

インポートしたユーザーのパスワードと権限を更新してください。

と出る。

なので、管理画面でユーザーを購読者→管理者に更新し、再度インポート。

すると、またも、○○○.jpg” はすでに存在しています。と表示される。

○○○.jpg” はすでに存在しています。

メッセージは出るが、やはりメディアライブラリは空のまま。

カスタム投稿ではなく、普通の(デフォルトの)投稿データのインポートもできない。

テストサーバー側にはメディアファイルはあるのだが、WordPressと紐付け、関連付けができていないのだ。

ファイルのパスはWPのテンプレートタグやインクルードタグを使っているので、ディレクトリやドメインの文字変更の必要もないはずだ。

ちなみに「新規追加」でメディアを追加することは問題なくできる。

なぜだろう。。


Add From Server

ネット上で「Add From Server」というプラグインの情報があったので、実践してみた。

これは、すぐに反映された。

ただ難点として、作業がフォルダ毎ではなくファイル毎となるので、ファイル数が多ければ多いほど手間がかかる。

例えば年月に分けている場合、年単位ではなく、月単位での作業となる。(毎年毎月なら、年数 x 12回)

ただし、とりあえずこれで、管理画面のメディアライブラリに画像を表示させることはできた。

ところが、投稿ページでは画像ファイルや音声ファイルが出力されているが、カスタム投稿の方では出ていない。

理由は、カスタムフィールドと関連付けがされていないためだ。

画像ファイルをカスタムフィールドから出力させるのはサイト制作の前々任者が作成した仕組みであり、かつすでに149枚の画像がアップされている。

前前任者を引き継いだ前任者は私自身なのだが、前回のリニューアル時には今回のような問題は起きなかった。

実際にアップするのはクライアントさんであるため、今更作業手順を変えるわけにもいかない。

まいった。これでは意味がない。また、振り出しに戻る。

なぜなんだ。。

その後、テストサーバー(プランA)で2,3度、データベースの作り直しとWordPressの再構築を行なったが状況変わらず。

phpmyadminからエクスポートとインポートを行なったがダメ。(これも理由が不明。utf8、utf8mb4の文字コードのエラーが出たので変更したが無駄だった。もともと絵文字は使えていたので原因は別なのだろう。)

別のプランのサーバー(プランB)でも同様に行なったがやはりメディアライブラリにもページにも反映されず。(uploadsフォルダにはある。)

プラグインは極力最低限で、WordPressインポートツール以外はすべて無効の状態。

極力プラグインを減らす。

リニューアル前のサーバーではメディアライブラリにあり、そこへリニューアル後のテーマフォルダだけをアップしたところ、ページに反映される。

なのでページに表示されないのはやはり画像パスの指定ミスではない。(そもそもWPのテンプレートタグで書き出しているので間違えようがない。)


再度、Add From Serverを試す。

どうしようもない状況となった。完全に沼にハマった。サーバー(プランC)を変えてもダメ。ブラウザ(ChromeやFirefox)を変えてもダメ。

ネット上で見つかる、いわゆる「魔法のコード」的なものをphpファイルに貼ってもみたが、残念ながら沼からは抜けられなかった。

ただ、サーバーを変えた際は「Add From Server」がカスタム投稿でも機能した。メディアライブラリにもサイトのページ(archive-〇〇.phpのページ)にも表示ができた。

そこで、改めて、元々のサーバー(プランA)へデータベースとWordPressを再構築した。

「Add From Server」を追加し、試してみた。

とろころが、状況は変わらず。


Bulk Media Register

そんな中、「Bulk Media Register」というプラグインを見つけた。「Media from FTP」が開発停止予定となり、その後継らしい。

Bulk Media Registerの使用でメディアライブラリに表示成功。一括登録ができるため、手順が簡単だった。

デフォルト状態のまま「選択」→「検索」→「登録」をクリックでOK。

※ 実行時間のエラー、php.iniのmax_execution_timeについてのエラーが表示された場合、Bulk Media Registerの設定画面からmax_execution_timeの設定ができた。(php.iniを直接触る必要は無し)

Bulk Media Registerの画面1。

Bulk Media Registerの画面2。

開発者ご本人による日本語での説明もありました。
https://ja.wordpress.org/plugins/bulk-media-register

ただし、これでも、サイトのページでの表示は不可。。。


メディアライブラリには表示できるが、サイトのページには表示されない。

3つのサーバーでダメだった。

リニューアル中のテーマファイル群を、先週時点まで戻してみるが、全く変わらず。

ネット上でひたすらと情報を集め、WordPressのバージョンが違っていたため、移転前サーバーのとテスト用サーバーのバージョンを同じにすることにした。

その後、「Bulk Media Register」と同じ作者の「Moving Media Library」を試してみることにした。

Riverforest-Plugins


Moving Media Libraryを使用した移行手順。

バージョンを統一。

バージョン違いやプラグインの影響の可能性などを避けるため、移行前と移行後のWordPressのバージョンを同じにした。移行後WPはデフォルトの状態に。

移行前のWordPressにインストール。

移行前WPで 「Moving Media Library」をインストール。有効化し、エクスポートメニューから、チェック項目はデフォルト状態のまま、JSON形式でエクスポートのボタンをクリック。

Moving Media Libraryの画面1

JSONファイルをダウンロード。

JSONファイルが作成されるので、ダウンロードをクリック。
Moving Media Libraryの画面2

移行後のWordPressにもインストール。

移行後WPでも「Moving Media Library」をインストール。有効化し、インポートメニューをクリック。

Moving Media Libraryの画面3

JSONファイルをインポート。

チェック項目はデフォルト状態のまま、ファイルを選択で先程の移転前のJSONファイルを選び、インポート。
Moving Media Libraryの画面4

これで音声ファイルはWordPressのメディアライブラリに表示された。

Moving Media Libraryの画面5

テーマを変更。

その後、テーマをリニューアル用のものへ変更。

FTPでアップロード。

画像類はFTPソフトでuploadsフォルダへアップロード。

画像ファイルもメディアライブラリに表示された。(上記スクリーンショットの非表示枠に現れた。人物像が多いためスクリーンショットは割愛。)

XMLファイルでインポート。

投稿ページやカスタム投稿、固定ページやコンタクトフォーム7のデータはWPの通常のxmlファイルでインポート。

完了。

以上で成功。サイトのページでも画像ファイルや音声ファイルが表示された。

※Moving Media Libraryは、エクスポートとインポート後は、それぞれのWordPressから削除しても大丈夫。(作者の方へ感謝をしつつ。)

これでやっと解決した。

※後日追記)
MAMPを使用したローカル環境にも同様の方法(xmlファイル & jsonファイル)でデータの移行ができた。


色々と試してみたが、結局、、、

  1. パーミッションや、WPユーザーの権限などはデフォルトのまま。
  2. ○○○.phpファイルや、.htaccessファイルなどへの追記もなし。
  3. 他のプラグイン使用はなし。(メディアライブラリ以外のxmlファイルはWordPressインポートツールを使用。)
  4. データベース&WordPressの削除・再作成と、Moving Media Libraryプラグインの使用以外、特に何もしていない。

普段意識していない部分でのつまづきだったので、数日間を要した。根本的な原因は不明だが、サーバーやデータベースの問題ではないようだ。移行前のWordPressの状態の問題か、私のイージーミスの可能性もないとは言えない。

※後日追記)
同様の方法でローカル環境にもデータの移行できたので、パーミッションなどは関係ないと思われる。


いずれにせよ、メディアファイルはWordPressインポートツールだけで移行するよりも、Moving Media Libraryも利用した方が無難だと痛切に感じた。

作者の「Katsushi Kawamori」さまに感謝です。

こちらのプラグインも、開発者ご本人による日本語での説明もありました。
https://blog.riverforest-wp.info/moving-media-library

それにしても、疲れた。ほんと無駄骨だったので、もしどこかの誰かのお役にでも立てれば幸いです。


※後日追記)
「All-in-One WP Migration」プラグインでの移行も良いかもです。

参照:WordPressの引越しは、ささっとAll-in-One WP Migrationで。

引用元:WordPress.org
プラグインのページ:All-in-One WP Migration


疲れた時は、栄養を。
ポスト投函で届く、人気のブドウ糖です。
砂糖の代わりにコーヒーや紅茶などに。

Webデザインは実務数年、職業訓練校講師数年、フリーランス数年、計15年以上のキャリアがありますが、一気にがぁっと書いています。(元々はメモ書きでしたので順次見直し、更新しています。) 事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ訂正いたします。 写真や動画はフリー素材、購入素材、もしくは自前のものを使用しております。

井川 宜久 | Norihisa Igawa
デザイナー、ディレクター、講師、コーチ / 井川宜久

お問い合わせ CONTACT..

    Name(required)お名前 (必須)
    Furigana(required)ふりがな (必須)
    Email(required)メールアドレス (必須)
    Phone Number(required)電話番号 (必須)
    Message(required)ご質問・ご要望 (必須)


    免責事項について

    • 事実や経験、調査や検証を基にしていますが、私はただの人間です。万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ訂正いたします。
    • 万一損害・トラブル等が発生した場合でも、一切の責任を負いかねます。