SnabbSajt · Docs
Site Kit SDK

Import WordPress

Reconcile a public WordPress site with its WXR export without executing themes, plugins, PHP, or XML entities.

WordPress import requires two sources:

  1. the current public URL for rendered structure, design evidence, and safe media; and
  2. a WordPress WXR/XML export for authoritative posts, pages, relationships, taxonomies, authors, metadata, and old URLs.
npx @snabbsajt/cli@0.2.0 site import wordpress \
  --url https://example.com \
  --wxr ./wordpress-export.xml \
  --out ./converted

Imported or converted

  • Published pages and posts, hierarchy, order, excerpts, dates, and display authors.
  • Draft content as held pages that are excluded from publishing.
  • Featured images and safe referenced media.
  • One native Blog collection for WordPress posts.
  • Basic Yoast/Rank Math title and description metadata.
  • Old permalink dispositions and redirect suggestions.
  • Gallery evidence when the referenced attachments are available.

Categories and tags are preserved in the report because Portable Site v1 does not yet have taxonomy fields. They are not silently discarded.

Never executed or imported as runtime

Themes, plugins, PHP, accounts, passwords, comments, arbitrary JavaScript/CSS, Elementor/Divi behavior, WooCommerce, and plugin-specific forms or booking engines never run. DTD and XML entity declarations are rejected.

If the source shows booking or a form, the report proposes a native SnabbSajt replacement only when the required facts exist. It never invents prices, duration, availability, recipients, consent, or payment behavior.

Reconcile and approve

The report calls out public/WXR title or content differences, duplicate slugs, missing attachments, source-only pages, draft state, shortcodes, and old URLs. Review every item before approval:

npx @snabbsajt/cli@0.2.0 site validate ./converted
npx @snabbsajt/cli@0.2.0 site import approve ./converted --yes
npx @snabbsajt/cli@0.2.0 site pack ./converted -o wordpress-site.zip

On this page