Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/divangrastogi/wp-page-migrator/archive/refs/heads/main.zipNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.
A modern, high-reliability WordPress plugin for migrating pages between sites. Features a dual UI: a React-powered "10/10 SaaS" dashboard when build assets are present, and an instant PHP tabbed interface that works immediately — no build step required.
Key Features
- Dual UI: React dashboard or instant PHP tabbed interface — no build step required.
- Chunked Processing: Prevents server timeouts by processing large page collections and media libraries in small, manageable batches.
- Export Tab: Select pages via a sortable, searchable
WP_List_Tablewith bulk actions. - Import Wizard: 4-step guided workflow — Upload, Configure, Process, Complete.
- Settings Tab: Conflict resolution, batch sizes, debug logging, and system status dashboard.
- Flexible Import: Import pages even if dependencies like Elementor or ACF are missing.
- Media Sideloading: Automatically downloads and re-associates media files from the export package.
- URL & ID Remapping: Deep-rewriting of post content and metadata (including Elementor JSON) to match the destination environment.
Architecture
This plugin follows a Task-Runner pattern:
- Frontend (React): Orchestrates migration steps via the WordPress REST API. Requires
npm install && npm run build. - Frontend (PHP): Tabbed admin interface (Export, Import, Settings) that works immediately after activation — no build step needed.
- Backend (PHP): Executes discrete
Taskobjects (Extract, Media, Post Process, Zip) via inline processing or the React-driven REST loop. - State Management: Uses transients to track migration sessions, allowing for resume-on-failure behavior.
Getting Started
Prerequisites
- WordPress 6.0+
- PHP 7.4+
- Node.js & npm (optional — only needed for the React UI)
Installation
- Upload the
wp-page-migratorfolder to your/wp-content/plugins/directory. - Activate the plugin through the Plugins menu in WordPress.
- Navigate to Tools > Page Migrator to start exporting or importing.
The plugin works immediately after activation with its PHP admin interface. To enable the React dashboard instead, run
npm install && npm run buildfrom the plugin directory.
Internal Documentation
Detailed technical records are stored in the /docs/superpowers/ directory:
ARCHITECTURE.md: High-level system design.CHANGELOG.md: Version history and UI updates.context/MEMORIES.md: Task status and implementation logic.specs/: Original design specifications.plans/: Step-by-step implementation plans.
License
GPLv2 or later.