Menu

v1.0.1Free and open source · WordPress 7.0+

Move your WordPress content. Not your mess.

Pick the pages, products or posts you need — or just ask your AI agent. They arrive on the other site with their images, their settings and their homepage: no database dump, no broken images, no search-and-replace.

Try it free in your browserDownload free
For agents

Free and open source. No account, no upsell, no “pro” version.

Demo, a minute and a half: export a page with its settings, import it on another site, open the site in WordPress Playground, and call it from an AI agent.

Sound familiar?

Moving content shouldn’t mean rebuilding the site

  • Images break after the import

    WordPress’s export only points to your media. The importer has to download every file from the old site — and if it’s offline, slow or behind a login, you get gray boxes.

  • The homepage is gone

    Settings never travel with WordPress’s export. Your static homepage, posts page, shop and checkout pages arrive as ordinary pages, and you rebuild the site by hand.

  • Migration plugins bring the junk

    Copying the whole database brings transients, logs, sessions and the tables of plugins you deleted years ago — and overwrites the site you were importing into.

How it works

Three steps. No new tools to learn.

It works inside Tools → Export and the WordPress Importer — the screens you already use — and makes them finish the job.

  1. Step 1

    Choose what moves

    On Tools → Export, check the content types or the exact items. What they use — the products a page shows, the settings that point to it — comes up as a suggestion.

  2. Step 2

    Get one complete file

    Content, media files, the settings that point to it and each post as readable .html — in one .wxrz or .zip.

  3. Step 3

    Import it anywhere

    Tools → Import opens the WordPress Importer you already know, dressed like the Export screen — or install the file as a plugin and click Run import. Media comes from the file, IDs are remapped, settings are set.

Agent-first

Built for AI agents, not bolted on

Every export, import, copy and setting is an ability of the WordPress Abilities API — typed input, typed output, permissions and safety hints. Connect an agent over MCP and ask in plain words; or call the same abilities over REST, PHP and WP-CLI.

  • 12 abilities with JSON schemas an agent can read
  • Read-only and destructive actions flagged for the agent
  • Permissions are WordPress’s: export, import, manage_options
  • Docs for agents too: llms.txt and every page as Markdown
An example conversation over MCP
  1. You

    Export the homepage with its images and the basic settings as a .zip, and give me the link.

  2. Agenteizport/get-items { "type": "page", "search": "Home" }

    Found “Home” (ID 43) — it’s the homepage.

  3. Agenteizport/export { "types": { "page": { "ids": [ 43 ] } }, "options": { "groups": [ "basics" ] }, "zip": true }

    Done: home.zip (31 KB) with the page, 3 images, the homepage setting and the Basics. The link expires in a day.

The clean middle way

Not a full migration. Not a bare export.

Copying the whole database drags along transients, logs, sessions and the tables of plugins long gone — and overwrites the site you import into. WordPress’s own export leaves out the media files, the settings and the images your content uses. Eizport takes only what you choose, and everything that depends on it.

How Eizport compares with a full-site migration and with WordPress’s export
Full-site migrationWordPress’s exportEizport
What goesThe whole database and every fileOne content type, or everythingWhat you choose, and what it depends on
LeftoversTransients, logs, sessions, old plugins’ tables, spamNoneNone: never transients, keys or caches
Media filesAll of themNot in the file — downloaded from the old siteOnly the items’ media, inside the file
Media used in contentYes, with everything elseOnly attached and featuredYes, attached or not
SettingsAll, including the site’s URLs and usersNoneThe ones you choose; homepage, shop… follow their pages
IDs and URLsSearch-and-replace afterwardsPosts remapped; settings lostPosts and settings remapped on import
Target siteOverwrittenMergedMerged

Choose

Take exactly what you need — nothing else

Posts, pages, products, forms, attachments and options sit in one list. Move a store’s catalog without the blog, or a landing page without the rest. You see what each row exports before you click.

  • Several content types at once
  • Variations come with their products; reviews when you want them
  • Nothing checked? Everything goes, as you expect
Read about choose
The Export screen: Pages with 1 item, and Products and Options bringing what the homepage suggests (4 and 2 suggested); the file details open above the list.

Precision

Hand-pick items — what they use is suggested

Open any type in a side panel, search it, filter it by status or category, and tick exactly the items you want: they join the export at once. The homepage, the shop and the checkout wear badges, and the products a page shows come up as suggestions, so you never leave a key piece behind.

  • Your selection survives search and paging
  • Products shown by blocks, and their reviews, suggested
  • A Selected filter to review what you picked
Read about precision
The Pages side panel: Home checked with a Homepage badge; Cart, Checkout and Shop with their WooCommerce page badges.

Settings that follow

Your homepage is still your homepage

Pick a page that is the homepage, the shop or the checkout, and the settings that point to it are suggested — check Options and they come along, remapped to the new page on import. Add any other option one by one.

  • Linked settings: homepage, posts page, shop, cart, checkout…
  • IDs remapped to the imported pages
  • Site URLs, keys, users and plugins never leave
Read about settings that follow
The Options side panel showing the settings the homepage brings: page_on_front and show_on_front, checked.

Demos in seconds

Ship a whole working site in one .zip

Export a WordPress Playground bundle with your content, its media, the theme and the plugins you choose — premium and custom ones too, not only the directory’s. Playground runs in the browser, so even a copy made on your laptop’s local server opens on playground.wordpress.net with one link.

  • Works from localhost: Playground runs in your browser
  • Any installed theme or plugin, premium or custom
  • Or run it offline: npx @wp-playground/cli server --blueprint=site.zip
Read about demos in seconds
The Playground themes and plugins modal: Twenty Twenty-Five chosen to install.

One click on the other site

Send a plugin that imports itself

Turn on “As plugin” and the file becomes a plugin with the bundle inside. On the other site, install it like any plugin: its screen under Tools checks that Eizport and the WordPress Importer are there — with links to install them — and imports the bundle with Run import. No file to upload, no importer screen; when it’s done, it offers to delete itself.

  • No upload, no importer screen
  • Checks what it needs, with install links
  • Deactivates and deletes itself when done
Read about one click on the other site
The imported plugin’s screen on the other site: what it needs, all checked, the result of Run import and “Deactivate and delete this plugin”.

Your way

Set it once. Every export follows.

Bring the media your content uses or only what’s attached, choose when linked settings join, make bundles plain .zip files anyone can open — and save your favorite export as the default, for you or the whole team.

  • Save as default, per user or site-wide
  • Plain .zip bundles on request
  • WordPress’s Export screen untouched, or classic, if you prefer
Read about your way
The plugin’s Settings → Export: Only attached media, Linked settings, Bundle as .zip and Content as .html files.

Nothing lost

Every export kept — briefly, and out of sight

Each export is kept as a copy you can download again, open in Playground or import back. Online, its link works like a password: a random token no one can guess. Search engines are told to stay away, direct access to the folder is blocked, and a cron job deletes the copy when its time is up.

  • Random 16-character token in every link
  • robots.txt, noindex and a locked folder
  • Expires on its own — 1 hour to 1 week, set in Settings
Read about nothing lost
The plugin’s Settings → Copies: a .wxrz bundle, a .zip bundle and a Playground .zip with sizes and expiry dates.

Made for

Whoever moves WordPress content for a living

  • Agencies and freelancers

    Move a finished section from staging to production, or a template page set from one client site to the next — without touching the rest.

  • Store owners

    Copy a product catalog with its images, variations and shop pages to a new store, merged into what’s already there.

  • Theme and plugin makers

    Package demo content with your theme or plugin as a Playground .zip, ready for reviewers and buyers.

  • Developers and AI agents

    Script every export and import through the Abilities API, REST or WP-CLI — or let an agent do it over MCP.

Try it free in your browser

Formats

The right file for each trip

The format follows what goes in it: plain WXR when it’s only content, a bundle as soon as media or settings join.

What each export format holds
FormatFileMedia filesSettingsContent as .htmlBest for
WXR XML.xmlNoNoNoWordPress’s own export, unchanged
WXRZ.wxrzMoving content between sites
WXR ZIP.zipWhen people will open the file
Playground.zipA runnable site: content, theme, plugins
As plugin.zipImport with one click on the other site

The .wxrz format, entry by entry

Works with

Plugins it knows — and the ones it doesn’t yet

Support for a plugin is a compatibility built on public hooks. WooCommerce has one; the others below weren’t tested, so here is what to expect from how they store their data.

  • WooCommerce

    Supported
    • Products, variations, orders and coupons
    • Shop, cart, checkout and account pages follow their pages
    • Products shown by blocks suggested; reviews in their own row
  • Advanced Custom Fields

    Not officially supported yet · not tested
    • Field values travel with the posts (custom fields)
    • IDs inside fields (images, relationships) aren’t remapped
    • Field groups: export them with ACF’s own tools
  • Elementor

    Not officially supported yet · not tested
    • Designs travel with their pages (_elementor_data)
    • Image IDs and URLs inside designs aren’t remapped
    • Site kit and templates: Elementor’s Import / Export Kit

What to expect from eachUsing another one? Open an issue

On a phone

Works where you are

Both Export screens fit a phone: the list keeps what matters under each title, the Details panel stacks, and every checkbox of the classic screen is a 40px row to tap.

The new Export screen on a phone.
New screen
The classic Export screen on a phone, with 40px rows.
Classic screen

For developers and AI agents

Automate every export and import

Every step is an ability of the WordPress Abilities API: call it over REST, from PHP or WP-CLI, or hand it to an AI agent over MCP. Your plugin can register its own pages, settings and media through hooks.

Export a page as a .zip bundle, over REST
curl -u admin:APP_PASSWORD -X POST \
  https://example.com/wp-json/wp-abilities/v1/abilities/eizport/export/run \
  -H "Content-Type: application/json" \
  -d '{"input":{"types":{"page":{"ids":[43]}},"zip":true}}'
Give your plugin’s page a role
add_filter( 'eizport_linked_options', function ( $linked ) {
	$linked['my_landing_page'] = array(
		'label' => 'Landing page',
		'with'  => array( 'my_landing_enabled' ),
	);
	return $linked;
} );

Before you install

Questions people ask

More answers in the FAQ

Is it really free?

Yes. Free and open source under the GPL, with no account, no license key and no paid version holding features back.

Will it overwrite the site I import into?

No. It imports with the WordPress Importer, which adds the content to the site. Only the settings you chose to export are set.

Does the old site need to be online?

No. The media files travel inside the bundle, so the importer never downloads anything from the old site.

What about my private settings?

Site URLs, the admin email, keys and salts, users and roles, active plugins, transients and caches are never exported — whatever you pick.

Do I need the plugin on the other site?

To import a bundle, yes (plus the free WordPress Importer). Exported “as plugin”, the file tells you so and links to both. Plain .xml exports import anywhere, as usual.

Can the other site import without uploading a file?

Yes: export “as plugin”. Install that .zip like any plugin, click Run import on its screen under Tools, and it deletes itself when done.

Which plugins are supported?

WooCommerce: products, orders, coupons, shop pages, galleries and reviews. Advanced Custom Fields and Elementor aren’t officially supported yet and weren’t tested: their data travels with the posts, but IDs inside it aren’t remapped.

Stop rebuilding after every import.

Install it in a minute, export what you need, and let it arrive complete. Free, GPL, for WordPress 7.0 and later — version 1.0.1.

Or read the docs first