WEB

WordPress記事のカスタムフィールド設定ごとエクスポートしインポートして記事移行する方法

投稿日:

ディクトレ(英語リスニング無料学習館という、オンラインでリスニング(ディクテーション)学習ができるサービスを運営しています。

WordPressで運用しているのですが、別でインストールしたWordpressに、カスタムフィールド設定ごと記事を移行し、お引越しする場面がありました。

今後のために、方法を記しておきます。

なお、カスタムフィールドの設定には「Advanced Custom Fields」というアプリを使っています。

全体的な流れ

  • 旧サイトで、Advanced Custom Fieldsプラグインの設定をエクスポート
  • 新サイトにAdvanced Custom Fieldsプラグインを使い、先ほどエクスポートしたものをインポート
  • 旧サイトで、wordpress投稿、固定ページをそれぞれエクスポート。
  • 新サイトで、wordpress投稿、固定ページをそれぞれインポート

ボツ案

最初、下記の流れでやろうとしましたが、タイムアウト問題でうまくいきませんでした。

  • 旧サイトで、Advanced Custom Fieldsプラグインの設定をエクスポート
  • 新サイトにAdvanced Custom Fieldsプラグインを使い、先ほどエクスポートしたものをインポート
  • 旧サイトで「WP CSV Exporter」というプラグインを使い、記事をカスタムフィールドの値を含めて丸ごとエクスポート。参考
  • 新サイトで「Really simple CSV importer」というプラグインを使い、先ほどエクスポートした記事をインポート

ざっくり言うと、上記流れで完了です。

Really simple CSV importerでインポート中にタイムアウトしてしまう場合

記事数が多かったりすると、インポート途中でタイムアウトしてしまい、全記事移行する前に止まってしまうことがあるようです。

私はそうなりました。

調べた結果、私と同じサーバーのエックスサーバー で解決してる人がいたので、下記記事を参考にしました。

Xserverのコントロールパネルにログインしてドメインを選択します。
次に「php.ini設定」のその他設定にある

memory_limit 200M(PHPのスクリプトが利用できるメモリ容量の最大値)
post_max_size 30M(POSTデータの最大サイズ)
upload_max_filesize 30M(アップロードされるファイルの最大サイズ)
の設定を変更しました。

一旦、300Mに設定して設定を保存してあとで規定サイズに変更しました。

参考CSVデータでWordPressの記事移行Xserverでタイムアウトを起こしました

色々と試行錯誤した結果、

memory_limit 10000M
post_max_size 10000M
upload_max_filesize 10000M
max_execution_time 30 → 500
max_import_time 60 → 500

など、色々数値増やしたりしましたが、ダメでした。





-WEB

© 2023 ヨコログ