ディクトレ(英語リスニング無料学習館という、オンラインでリスニング(ディクテーション)学習ができるサービスを運営しています。
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に設定して設定を保存してあとで規定サイズに変更しました。
色々と試行錯誤した結果、
memory_limit 10000M
post_max_size 10000M
upload_max_filesize 10000M
max_execution_time 30 → 500
max_import_time 60 → 500
など、色々数値増やしたりしましたが、ダメでした。
コメント