Linux 软件免费装
Banner图

WolkTools Dry Run Importer

开发者 wolktools
更新时间 2026年7月15日 18:37
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

migration xml acf wxr custom-fields

下载

1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1

详情介绍:

Dry Run Importer is a safe-loop companion for working with WXR (WordPress eXtended RSS) files — built for the workflow of importing and updating WordPress content repeatedly and safely, including content you edited with the help of AI. Unlike the standard WordPress importer or WP All Import, this tool supports the development and content-migration process itself. It lets you overwrite and merge content into an existing WordPress site safely, with a strong safety model that avoids silently breaking the site. Dual tool: Web Checker + WP Plugin The project ships as two complementary tools: a WP Plugin you install inside WordPress, and a Web Checker (wp-import-checker.html) that runs fully offline in your browser. Key features Where to find it after activation Open Tools > Dry Run Importer in the WordPress admin to get started (the export screen is Tools > Dry Run Exporter). Like the standard WordPress importer, this plugin lives under the "Tools" menu. You can also jump straight there with the "Open" link on the Plugins page.

安装:

  1. Copy the wolktools-dry-run-importer directory into wp-content/plugins/ as-is (or install the ZIP from "Plugins > Add New > Upload Plugin" in the admin).
  2. Activate "Dry Run Importer" from "Plugins" in the WordPress admin.
  3. Open "Tools" > "Dry Run Importer" in the admin.
  4. Drag and drop your WXR XML file, and first run a "Dry Run" (validation).
  5. To use the export feature, open "Tools" > "Dry Run Exporter", set your filters, confirm the count and size under "Preview", and then download.

屏幕截图:

  • The detailed diff preview against an existing post, with selective merge per post-core / meta / taxonomy.
  • The result list after import completes, with re-run of failed items and rollback (restore) from per-post backups.
  • The filter settings and pre-export preview screen under "Tools" > "Dry Run Exporter".

常见问题:

I activated the plugin — where is it?

Open Tools > Dry Run Importer in the WordPress admin. The export screen is next to it, at Tools > Dry Run Exporter. It sits under "Tools" rather than in its own top-level menu because that is where the standard WordPress importer lives, so import tools are where most people look for them first. If you would rather not hunt through the menu, the "Open" link on the plugin's row in the Plugins page takes you straight to the import screen, and a notice with the same link appears once right after activation.

Is it really safe to use in production?

The plugin is designed around a safety model: it always takes an automatic backup before import, automatically blocks dangerous content, and lets you restore at any time. That said, the first time you use it on production, we recommend first trying a "Dry Run" on a test/staging environment, reviewing the warning messages, and securing a full external DB/file backup before use.

Does running a Restore also delete downloaded image files?

No. Restore only returns the post's text, metadata, and taxonomy relationships to the backup point. To protect server disk space, image files already saved to the Media Library are not deleted.

What happens to my data when I uninstall the plugin?

When you uninstall, the temporary task information, per-post backup logs, and processing-log tables that the plugin created are safely and completely removed from the database, and the wpsi_* settings options are erased as well. Your normal posts and Media Library images are never deleted.

Which matching key should I choose for collision detection?

We most recommend matching by "Slug." Matching by "Title" risks accidentally overwriting a different article that happens to share the same title. Use matching by "ID" only when you are certain the post IDs intentionally coincide between source and destination (for example, syncing staging to production).

How should I choose between the Web Checker and the WP Plugin?

If WordPress isn't installed yet, or you want to check WXR structure or reconcile against a CSV without affecting a running WordPress site, use the "Web Checker" — a single self-contained HTML page that runs fully offline in your browser. It is distributed separately from this plugin (it is not included in the plugin ZIP); you can find the download link on the plugin page. When you want to actually bring data into WordPress safely and use the per-post backup and restore features, use the "WP Plugin."

Can images be downloaded automatically from an external site?

Yes. However, image download makes external HTTP requests and creates new attachments in the destination Media Library, so run it deliberately after confirming the liveness and safety of the image URLs (including an SSRF-prevention filter) in the Dry Run.

If I upload images manually, will they be linked to the WXR? (recommended flow)

Yes. This is the most reliable migration procedure.

  1. Upload the images manually to the destination Media Library (drag and drop in the admin, etc.). That alone lets WordPress correctly handle the storage path, thumbnails, and ownership/permissions (no need to copy the uploads folder structure or chown on the server).
  2. Import the WXR. With the advanced option "Link to existing media by filename (don't create duplicates)" (ON by default), each attachment is matched against existing media by filename (plus image-dimension matching) and linked to the existing ID without creating duplicates. Featured images, ACF image fields, and in-content image references are remapped to that existing media.
  3. The pre-flight before import shows "Linked to existing media: N / same filename in multiple places → create new / dimension mismatch → create new," so you always confirm before importing.
To prevent mismatches, four guardrails apply: (a) exact filename match only, (b) if the same filename exists in multiple files, no auto-link — create new, (c) if the WXR carries image dimensions, compare against the existing file and skip linking on mismatch. Turn it OFF to create everything new as before. The filter wpsi_attachment_relink_policy (strict / filename-only / default) changes the matching strictness.

Migrating from another site — what should I prepare first? (recommended order)

  1. Register the field definitions first if the source site uses ACF (or similar): recreate the ACF field groups on the destination via ACF's JSON sync, copy, or by activating the theme/plugin that defines them. Values import even without the definitions, but until the definitions exist the fields stay blank/uneditable in the editor.
  2. Stage the images in the destination Media Library (see the manual-upload FAQ above).
  3. Import the WXR — run the Dry Run, review the report, then apply.

I use ACF and always get yellow warnings — which ones matter?

ACF field definitions are usually managed outside the content (ACF admin UI, JSON sync, or code), so they are not part of a WXR file. Warnings of the kind "definition is not in the WXR" (e.g. parent field group not found, referenced field definition missing) are expected in that setup — register the definitions on the destination site first (see the FAQ above) and the report returns to normal. However, a warning that a field's value itself is missing is a real sign the field will end up empty; review those before importing.

If I delete posts on the source site and re-import, are they deleted on the destination too?

No. Importing never deletes destination content — it only creates and updates the posts contained in the file. If you need to remove posts that were deleted on the source, delete them manually on the destination.

How does the Dry Run Exporter work?

Dry Run Exporter is based on WordPress core's export_wp() and generates a safely server-side-filtered WXR XML file on the fly. Before exporting, always click "Preview" to confirm the number of posts and attachments to be exported, the estimated file size, and PII warnings such as author email addresses. The Attachment mode (how related media is exported) offers three behaviors: "auto" (auto-collect only media related to the selected posts), "include" (include all site media), and "exclude" (exclude media). Note: WXR XML files contain author email addresses and display names. Handle export files with appropriate care for personal data.

更新日志:

1.1.1 1.1.0 1.0.3 1.0.2 1.0.1 1.0.0 0.9.0-beta 0.2.0 0.1.0