WordPress Importerとは?基本機能と特徴の解説
WordPress Importerの概要
WordPress Importerは、WordPress公式が提供するプラグインで、WordPressのエクスポートファイル(WXR形式)から投稿、ページ、コメント、カスタムフィールド、カテゴリー、タグ、カスタムタクソノミー、さらにはユーザー情報まで、一括してインポートできる便利なツールです。
サイトの引っ越しやバックアップ復元、複数サイト間でのコンテンツ共有に最適で、初心者にも使いやすいシンプルなインターフェースが特徴です。
このプラグインの最大のメリットは、標準投稿だけでなく、カスタム投稿タイプやカスタムフィールド、コメントメタデータ、さらにはユーザーのマッピングまで対応している点にあります。
これにより、単なる記事の移行に留まらず、サイトの構造やユーザー情報を含めた完全なデータ移行が可能です。
インポート可能なコンテンツ一覧
WordPress Importerが対応している主なインポート対象は以下の通りです。
| インポート対象 | 説明 |
|---|---|
| 投稿(Posts) | ブログ記事やニュースなどの標準投稿 |
| 固定ページ(Pages) | サイトの固定コンテンツページ |
| カスタム投稿タイプ | 独自に定義された投稿タイプ(例:商品、イベントなど) |
| コメントとコメントメタ | 記事に付いたコメントやそのメタ情報 |
| カスタムフィールド・投稿メタ | 投稿に紐づく追加情報 |
| カテゴリー、タグ、カスタムタクソノミー | 分類情報およびそのメタデータ |
| ユーザー(Authors) | 投稿者情報のマッピングや新規作成 |
対応するカスタム投稿タイプやメタ情報
WordPress Importerは、標準の投稿・固定ページに加え、サイトごとに異なるカスタム投稿タイプやそれに紐づくカスタムフィールド、さらにはカスタムタクソノミーのインポートにも対応しています。これにより、テーマやプラグインで独自に拡張されたサイトの構造をそのまま移行可能です。
また、カスタムフィールドや投稿メタデータはシリアライズされた形式でも正しく読み込み、復元してくれます。特に複雑なメタ情報を多用するECサイトやポートフォリオサイトのデータ移行に大きく貢献します。
インポート時のユーザーと添付ファイルの扱い
インポート時には、投稿の作成者(ユーザー)情報の扱いが重要です。WordPress Importerでは、既存のユーザーに投稿を割り当てる「マッピング機能」と、エクスポートファイルに含まれるユーザー情報を元に「新規ユーザーを作成」する設定が用意されています。これにより、ユーザー管理を柔軟にコントロール可能です。
さらに、投稿やページに添付された画像やファイルも自動でダウンロードし、メディアライブラリに格納してくれます。これにより、リンク切れを防ぎ、インポート後にメディアが正しく表示される環境を整えられます。
フィルターとアクションフックによるカスタマイズ
開発者向けに、WordPress Importerは以下のようなフィルターやアクションフックを用意しています。
| フック名 | 用途 |
|---|---|
| import_allow_create_users | 新規ユーザー作成の許可を制御 |
| import_allow_fetch_attachments | 添付ファイルの自動ダウンロードのON/OFF切替 |
| import_attachment_size_limit | 添付ファイルの最大サイズ制限設定 |
| import_start | インポート開始時の処理をフック可能 |
| import_end | インポート終了時の処理をフック可能 |
これらを活用することで、標準機能に加えた柔軟な処理の追加や制御が可能です。たとえば、企業内の複数管理者によるユーザー作成制限や、巨大な添付ファイルのインポート制限などを実装できます。
最新バージョン0.8.4の新機能とアップデート情報
WordPress 6.7.2対応での互換性強化
2025年3月25日にリリースされた最新版のWordPress Importer 0.8.4は、WordPress最新バージョン6.7.2との互換性が強化されています。
これにより、WordPress本体の最新機能やセキュリティアップデートとスムーズに連携でき、将来のWordPressバージョンアップによるトラブルを軽減します。
特に、APIやコア関数の変更に合わせて動作検証と修正が行われているため、6.7.2環境下でも安心して利用可能です。
PHP 8.4対応による安定性向上
近年のPHPバージョンアップに伴い、WordPress ImporterはPHP 8.4でも動作確認がなされ、互換性の問題を解消しています。PHP 8.4はパフォーマンス向上や新機能が追加された一方で、従来のコードとの非互換が一部発生するため、多くのプラグインが対応に追われています。
このアップデートにより、最新のPHP環境でもエラーや警告が減り、安定したインポート処理が実現しました。
セキュリティ強化:信頼できない入力の逆シリアライズバグ修正
今回の0.8.4では、特に重要なセキュリティ修正が盛り込まれています。外部からの未検証な入力データに対する逆シリアライズ処理に起因する脆弱性が発見されていた問題が修正されました。
これにより、悪意あるデータがインポートファイルに含まれていた場合でも、プラグイン内部での危険なコード実行などが防止され、サイト全体の安全性が向上しています。
post_exists関数の強化:post_typeを含めた重複チェック
インポート処理の重複投稿チェックに使われるpost_exists関数も改良されました。従来は投稿タイトルや日時のみで重複を判断していましたが、今回からはpost_typeも考慮されるようになり、異なる投稿タイプ間での誤った重複判定を防止します。
これにより、例えばカスタム投稿タイプの投稿と通常投稿が別物として正しく識別され、インポートの精度が向上しました。
ワークフロートリガーの調整と開発者向け改善点
また、開発者向けにはインポートのワークフロートリガーが調整され、import_startやimport_endアクションの呼び出しタイミングがより正確になりました。これによりプラグインやカスタムコード側でのイベント連携が容易になり、カスタマイズの幅が広がっています。
使い方ガイド:WordPress Importerで簡単・高速にインポートする方法
インポート準備:エクスポートファイルの取得と確認ポイント
インポートを始める前に、元サイトから正しいエクスポートファイル(WXR形式)を取得しましょう。
WordPress管理画面の「ツール」→「エクスポート」から、「すべてのコンテンツ」を選択してXMLファイルをダウンロードします。
ファイルサイズが大きい場合は、サーバーのアップロード制限やPHPの設定値を事前に確認してください。また、エクスポートファイルが破損していないかテキストエディタで開いて内容をざっとチェックすることもおすすめします。
プラグインのインストールと有効化手順
WordPress Importerは公式プラグインディレクトリに登録されているため、管理画面の「プラグイン」→「新規追加」から「WordPress Importer」で検索し、インストール・有効化が可能です。
| プラグイン名 | WordPress Importer |
|---|---|
| バージョン | 0.8.4 |
| 対応WordPress | 5.2以上(動作確認済み6.7.2) |
| 対応PHP | 5.6以上(PHP 8.4対応) |
| 累計ダウンロード数 | 58,264,345 |
| 平均評価 | 3.1 / 5 |
| 最終更新日 | 2025-03-25 10:20am GMT |
インストールが完了したら、プラグインを有効化してください。
インポート画面の操作方法と設定項目の説明
有効化後、「ツール」→「インポート」→「WordPress」を選択すると、インポート画面が表示されます。ここで先ほど取得したエクスポートファイルをアップロードします。
主な設定項目は以下の通りです。
- ユーザーの割り当て:既存ユーザーへのマッピングか、新規ユーザー作成かを選択
- 添付ファイルのダウンロード:エクスポートファイルに含まれる画像やファイルを自動取得するかどうか
- デバッグモード(高度者向け):IMPORT_DEBUGを有効にすると詳細ログが表示され、トラブルシューティングに役立ちます
投稿・ページ・コメントの一括インポート手順
1. エクスポートファイルを選択し、「ファイルをアップロードしてインポート」をクリック
2. ユーザー割り当てを設定(既存ユーザーにマッピング、または新規作成)
3. 添付ファイルの自動ダウンロードを選択(通常はON推奨)
4. インポート処理が開始され、投稿・ページ・コメントが次々と読み込まれる
5. 完了メッセージが表示されたら、正常にインポートできたか投稿一覧などで確認
添付ファイルの自動ダウンロードと格納方法
添付ファイルの自動ダウンロードは、外部URLから画像やメディアを取得し、自サイトのメディアライブラリに格納します。これにより、画像のリンク切れを防ぎ、サイトの一貫性を保てます。
ただし、サーバーのPHP設定やファイルサイズ制限によっては失敗することもあるため、大容量ファイルや大量の画像がある場合は注意が必要です。
ユーザーのマッピングと新規作成設定の使い分け
ユーザー割り当ては、既存ユーザーに投稿を関連づけたい場合は「既存ユーザーにマッピング」、元サイトのユーザー情報をそのまま再現したい場合は「新規ユーザーを作成」を選びます。
新規ユーザー作成は便利ですが、多数のユーザーが含まれる場合は管理が複雑になるため、必要に応じて使い分けることが推奨されます。
トラブルシューティングとよくある疑問解決
インポート時にエラーが発生した場合の対処法
- ファイルサイズ超過エラー:php.iniの`upload_max_filesize`や`post_max_size`を増やす
- タイムアウトエラー:`max_execution_time`を延長、または分割インポートを検討
- パーミッションエラー:アップロード先のディレクトリ権限を確認し、書き込み可能にする
添付ファイルが正しくインポートされない場合の確認点
- 添付ファイルURLが有効かどうかを元サイトで確認
- サーバーの外部URLへの接続制限(ファイアウォールやセキュリティ設定)をチェック
- 添付ファイルのサイズが大きすぎないか確認し、`import_attachment_size_limit`フィルターで制限設定がされていないか確認
PHPエラーやタイムアウトの回避策
大容量サイトのインポートでは、以下の点を見直すと良いでしょう。
- PHPのメモリ制限(`memory_limit`)を増加
- 実行時間(`max_execution_time`)を延長
- サーバーのエラーログを確認し、原因特定
- インポートファイルを分割して小分けにインポート
複数サイト・マルチサイトでのインポート活用法
WordPressのマルチサイト環境では、各サイトごとに個別にエクスポート・インポートを行うことが基本です。
ただし、0.7以降のバージョンではWP-CLIの`wp:base_blog_url`フィールドに対応しており、コマンドラインから複数サイトへの一括インポートも実現可能になっています。
IMPORT_DEBUG設定の活用とデバッグ方法
`wp-config.php`に以下を追加し、デバッグモードを有効化することで詳細な処理ログが画面に表示されます。
“`php
define(‘IMPORT_DEBUG’, true);
“`
これにより、インポート時の問題個所や処理進捗を把握しやすくなり、問題解決がスムーズになります。
開発者向けカスタマイズと拡張ポイント
import_allow_create_usersフィルターでユーザー作成制御
このフィルターを使って、新規ユーザー作成の可否をプログラムで制御できます。たとえば企業内サイトで外部からの不正ユーザー作成を防止したい場合などに便利です。
“`php
add_filter(‘import_allow_create_users’, function($allow){
return false; // 新規ユーザー作成を禁止
});
“`
import_allow_fetch_attachmentsフィルターで添付ファイル取得のON/OFF切替
添付ファイルの自動ダウンロードを無効化したい場合に使用します。サーバー負荷軽減やセキュリティ上の理由でファイル取得を停止したい時に活用可能です。
“`php
add_filter(‘import_allow_fetch_attachments’, function($allow){
return false; // 添付ファイルのダウンロードを無効化
});
“`
import_attachment_size_limitで添付ファイルサイズ制限の設定方法
添付ファイルの最大ファイルサイズ(バイト単位)を設定し、巨大ファイルのインポートを制限します。サーバー容量を守るために重要なコントロールポイントです。
“`php
add_filter(‘import_attachment_size_limit’, function(){
return 10485760; // 10MBに制限
});
“`
import_start・import_endアクションフックで処理開始・終了時の拡張
これらのアクションをフックして、インポート処理の開始・終了タイミングで独自処理を挟むことが可能です。ログ出力や通知送信、キャッシュクリアなどに利用できます。
“`php
add_action(‘import

コメント