Importing from WordPress
WordPress import reads a WordPress export file (WXR/XML). It can put posts, pages, and selected comments in the main site or one author space. It does not import WordPress accounts or passwords.
Enable WordPress import, then open it from the author administration area. Authors can import into their own space. A superadmin can choose Root (the main site) or another author space, including one whose account cannot sign in. Posts imported into Root use URLs such as /my-post. Old WordPress URLs do not redirect automatically; plan those redirects separately.
Imported data
The importer keeps supported publication states and dates. It preserves page hierarchy when parent pages are present in the export, converts common HTML to Markdown, and imports images when their attachment URLs are in the export or the source upload URLs are still reachable.
Supported WordPress galleries become Photos galleries when all their images are available. If an image is missing, the gallery becomes ordered inline images with a visible placeholder linked to the original URL. Single-image captions keep the image and caption text.
Paired code and php shortcodes become display-only code blocks. Simple highlight text becomes emphasis, and supported xs_wikipedia forms keep their words without guessing links. Recognized HTTPS YouTube iframes become click-to-load [embed] shortcodes. Other safe iframe sources become links; unsafe sources are removed.
The preview lists these conversions and flags plugin tags that need review. WordPress widgets, themes, and general settings are not imported.
Options
- Posts imported into the main site appear in its post list. For an author-space import, choose whether posts also appear there.
- Replacing posts deletes every existing post in the selected root or author space before import.
- Replacing pages deletes every existing page in the selected root or author space before import.
- Skipping unpublished entries leaves source drafts and other unpublished entries out of the import set.
- Menu import can map recognized WordPress menus to the site-level
primaryandfooterlocations. The mapping is optional and based on conservative menu-name recognition. - Comment import includes only records mapped to entries in the same import. Source relationships and timestamps are preserved within the Comments limits.
- Approved source comments enter moderation unless
Keep approved source comments approvedis selected separately. Pending, spam, and Trash states remain non-public. - Valid commenter e-mail addresses are retained only when their separate option is selected. Addresses stay private and never create subscriptions.
Commenter URLs, IP addresses, user-agent data, and reply-notification consent are not imported. Imported comment HTML is reduced to the limited Markdown supported by Comments.
Menu import changes site configuration regardless of the content target. Review the resulting menus after import.
CLI
php8.4 bin/tinymash.php wordpress-import preview export.xml --author=cajo
php8.4 bin/tinymash.php wordpress-import import export.xml --author=cajo
For a root import, use --root instead of --author=cajo. Choose exactly one target.
Use wordpress-import --help for media, menu, comment, batch, memory, replacement, retention, and lock options.
Check the result
Before importing, open Content needing review in the preview. It lists WordPress plugin tags that tinymash cannot recreate, with the affected titles and tag counts. The same findings appear in the import report and CLI output. Download the full list to keep it; previews expire after seven days of inactivity. The importer leaves these tags in the content and does not unpublish affected entries. Edit or unpublish them after import.
Review representative posts and pages, page hierarchy, comment threads and approval state, accented or non-Latin text, code blocks, featured images, image sizes, summaries, dates, drafts, menus, and the missing-image report.
Run the stored-content audit after a real import:
php8.4 bin/tinymash.php audit:remote-media --author=cajo
Omit --author to include root content in the media audit. audit:shortcodes reports unsupported stored shortcode candidates without changing content.
An unresolved source upload may be represented by a local placeholder that links to the original URL. The original binary cannot be recovered when it is absent from the export and no longer available at the source.