DOCUMENTATION
Revolutionary Importer Documentation
Spin up a finished site from a demo pack, migrate an existing one painlessly, sideload every media file, rewrite URLs safely, and roll the whole thing back in one click if you change your mind, all from a guided wizard or WP-CLI.
Getting started
Install the plugin and run your first demo-pack import.
Demo packs
Drop a finished starter site onto a blank install in a couple of minutes.
WXR import
Read standard WordPress export files with chunked, reliable processing.
Media sideload
Download every referenced image into your own library and rewrite URLs.
Migrate & rewrite
Full-site export, serialized-safe URL replace and one-click rollback.
Automate & extend
Script every operation from WP-CLI and extend it with hooks and filters.
Introduction
Revolutionary Importer does two related jobs well. It installs demo packs, complete starter sites you can drop onto a blank install, and it handles site migration, moving real content and settings between installs without the usual breakage. Both run through the same guided wizard with a live progress bar.
Under the hood every import is chunked, so large WXR files and media-heavy packs finish without tripping your server's execution limits. Remote images are sideloaded into your media library, the old domain is rewritten everywhere it appears (including serialized data), and a rollback snapshot is captured before the first item is written so you can undo the entire operation.
Tip: Always run your first import on a staging copy if you can. The rollback makes it safe to experiment, but staging lets you preview a pack with zero risk before touching production.
Installation
Revolutionary Importer installs like any standard WordPress plugin. Use the bundled .zip archive or grab it from the Revolutionary Plugins hub.
- Upload the plugin. In your WordPress admin, go to Plugins -> Add New -> Upload Plugin and choose
revolutionary-importer.zip. Click Install Now. - Activate. Once installed, click Activate. A new Importer menu appears in the admin sidebar.
- Check the requirements. On first run the plugin verifies that
wp-content/uploadsis writable and that your PHP memory and time limits are sane for imports. - Verify your license. Paste your license key under Importer -> Settings -> License to unlock the demo pack gallery, full-site migration and rollback.
Heads up: Media sideloading needs outbound HTTP access and a writable uploads directory. If your host blocks outgoing requests, imported posts keep their content but images stay linked to the source URL until the path and network are available.
Your first import
Let's install a demo pack onto a fresh site. Start to finish this takes two or three minutes, most of which is the progress bar doing its thing.
- Open the wizard. Go to Importer -> Demo Packs. The gallery shows every pack with a thumbnail and a count of pages, posts and menus.
- Preview a pack. Click Preview to open the live demo in a new tab. When you've picked one, click Import this pack.
- Choose merge or clean. Decide whether to merge the pack alongside your existing content or start from a clean slate. A rollback snapshot is taken automatically before either option runs.
- Watch it run. The progress bar walks through pages, media, menus and URL rewrites in order. Leave the tab open until it reaches 100%.
- Review the summary. When the import finishes you get a report of everything created, plus a Visit site link and a Roll back button.
That's the whole loop: choose, import, review, and undo if needed. Migrating a real site uses the same wizard, just starting from an export file instead of a pack.
Demo packs
A demo pack is a bundle of designed content and the settings that make it look right: pages, sample posts, navigation menus, a homepage assignment, widget content and customizer values. Revolutionary Importer ships with twelve packs covering common site types.
| Pack | Best for | Includes |
|---|---|---|
| Agency Pro | Studios and freelancers | 9 pages, services, case studies, contact, 1 menu |
| Startup | SaaS and product launches | 7 pages, pricing, blog, hero homepage |
| Storefront | Shops and catalogs | 12 pages, product grid, cart, checkout |
| Portfolio | Designers and photographers | 6 pages, gallery, project posts |
| Journal | Writers and publications | Blog layout, categories, sample posts, about |
| Local Business | Cafes, clinics, services | Hours, map, services, testimonials, booking |
Each pack is self-contained. Importing one never deletes anything on its own, and the optional clean slate mode only removes the content you confirm, after the rollback snapshot is saved.
WXR import
WXR is the standard WordPress eXtended RSS export format, the same file the built-in Tools -> Export screen produces. Revolutionary Importer reads it more reliably than the core importer, with chunked processing and proper media handling.
- Open the import screen. Go to Importer -> Import File and drop your
.xmlWXR file onto the uploader. - Map authors. Assign imported authors to existing users, or let the wizard create new ones.
- Choose media handling. Tick Download and sideload attachments so images come into your library instead of staying linked to the source site.
- Run the import. Watch the progress bar. Large files are processed in batches so the import never times out partway through.
Posts, pages, custom post types, taxonomies, comments and attachments are all supported. Duplicate detection skips items already present, so re-running an import is safe.
Media sideload
The most common reason imports look broken is media that never came across. Sideloading fixes this by downloading every referenced image and file from the source and importing it into your own media library, then updating the references in post content to point at the new local URLs.
- Featured images are reattached to their posts automatically.
- Inline images in content are downloaded and their URLs rewritten in place.
- Galleries and blocks have their attachment IDs remapped to the newly imported media.
- Retries handle slow or rate-limited source servers, and any file that genuinely cannot be fetched is listed in the summary so you can review it.
Tip: If the source site is still online, sideloading is most reliable. For a site that's already gone, point the importer at a media archive folder and it will sideload from there instead.
Full-site export & import
Full-site export goes beyond a content-only WXR. It bundles your content and your settings, active theme options, customizer values, widgets, menus and selected plugin settings, into a single portable file you can move between staging, production and client sites.
- Export. Go to Importer -> Full-Site Export, choose what to include, and download the generated
.zipbundle. - Import on the target. On the destination site, open Importer -> Import File and upload the bundle. The wizard detects it as a full-site package and offers the migration flow.
- Set the URL rewrite. Confirm the old and new domain so links resolve correctly on the new home.
- Run and review. The import restores content, sideloads media, applies settings and rewrites URLs in one pass, with a rollback point saved first.
Find & replace URLs
When you move a site, the old domain is hard-coded into post content, menu items, widget text and, crucially, serialized option data. A naive SQL replace breaks serialized strings because their stored byte lengths no longer match. The importer's rewriter is serialized-aware, so it updates those lengths correctly.
You can also run a standalone find-and-replace at any time under Importer -> Tools -> Replace URLs, useful after switching to HTTPS or changing domains.
Always start with a dry run. It reports exactly how many matches will change in which tables without writing anything, so you can confirm the scope before committing.
Rollback & restore
Before any import or replace writes its first change, Revolutionary Importer captures a rollback snapshot of the affected content and settings. If the result isn't what you wanted, one click restores your site to its previous state.
- Automatic, a snapshot is taken at the start of every import and every URL replace, no setup required.
- Scoped, the snapshot records exactly what the operation will touch, so restores are fast and precise.
- Listed, the last several snapshots appear under Importer -> Rollback with a timestamp and a one-click restore.
- Cleaned up, older snapshots are pruned automatically so they don't bloat your database.
Important: Rollback is content-level protection, not a substitute for full off-site backups. For disaster recovery, pair it with Revolutionary Backups so you always have a complete restore point as well.
WP-CLI
Every import operation is scriptable from the command line, which is ideal for provisioning sites, CI pipelines, or running large migrations without a browser tab open. Install a demo pack by its slug:
# Install the "agency-pro" demo pack, merging with existing content
wp revimport pack agency-pro --mode=merge
# Import a WXR file and sideload all attachments
wp revimport file ./export.xml --sideload-media
# Roll back the most recent import
wp revimport rollback --last
Run a serialized-safe URL replace as a dry run first, then commit it:
# Preview the changes without writing anything
wp revimport replace-url "staging.acme.com" "www.acme.com" --dry-run
# Commit the replace and capture a rollback snapshot
wp revimport replace-url "staging.acme.com" "www.acme.com"
Hooks & filters
Developers can extend the import lifecycle with standard WordPress actions and filters. Use the revimport_post_data filter to adjust each item before it is inserted, here we force every imported page into draft status for review:
add_filter( 'revimport_post_data', function( $data, $raw ) {
if ( 'page' === $data['post_type'] ) {
$data['post_status'] = 'draft';
}
return $data;
}, 10, 2 );
Use the revimport_complete action to run custom logic once an import finishes, flushing a cache, pinging a build hook, or logging the result. Other commonly used hooks include revimport_before_run (fires after the rollback snapshot is saved), revimport_media_sideloaded, revimport_replace_url (filter replacement pairs), and revimport_register_pack (register your own demo pack).
Troubleshooting
Most import issues trace back to media, memory or URLs. Work through these first:
- Images still broken after import: confirm Download and sideload attachments was enabled and that the source site is reachable. Re-run with sideloading on; duplicate detection means existing items are skipped.
- Import stalls partway: the process is chunked, so a stall usually means a PHP memory or time limit. Raise
memory_limit, or run the import from WP-CLI which has no web timeout. - Links point at the old domain: run Tools -> Replace URLs with the old and new domain. Always do a dry run first to confirm the match count.
- Settings broke after a replace: you almost certainly ran a raw SQL replace elsewhere. Use the importer's serialized-safe replace, or restore the rollback snapshot and try again.
- Pack looks empty: check that the homepage was assigned under Settings -> Reading.
Tip: Enable Importer -> Settings -> Logging to record every step of an import. The log captures the exact item that failed and why.
FAQ
Frequently asked questions
Not unless you choose clean slate and confirm it. The default merge mode adds the pack alongside what you have, and a rollback snapshot is saved before either mode runs, so the whole import is reversible.
The target must be a WordPress install. Multisite is supported per-subsite, run the importer from within the subsite's admin, and demo packs and migrations apply to that site only.
Progress is saved as it goes, so reloading resumes where it left off rather than starting over. If you would rather abandon it, restore the rollback snapshot for a clean slate.
Yes. Builder layouts are stored as post content and meta, which the importer carries across intact. Media inside those layouts is sideloaded and the URLs are rewritten just like everything else.
No. The free version handles WXR import and export, media sideloading and WP-CLI. Pro unlocks the demo pack gallery, full-site migration, the find-and-replace tool and one-click rollback.
Was this helpful?
Browse the rest of the documentation or see what is included in each plan.
Back to all docs