Move posts so their featured images, inline images, and category assignments arrive connected, in one pass or in separate ones, plus the fix when they did not.
Updated 5 June 2026·Task guide
What travels with a post
A post is never just a post. It carries a featured image, images inside the content, category and tag assignments, custom fields, and sometimes a parent. When a post moves between sites, all of those references point at IDs that only existed on the source. The whole job of the import is re-pointing them at the right things on the target.
The key fact that explains everything else on this page: that re-pointing happens at the moment a post is imported. The importer looks for the post's media and terms on the target right then, connects what it can find, and moves on. It does not go back and repair posts later when media arrives after the fact.
The one-pass flow (recommended)
The flow that avoids thinking about order entirely:
Open the Library and select the posts you want to move.
Click Preview Dependencies. It counts what your selection actually relies on: media, terms, custom fields, parent posts. If the numbers surprise you, the move is bigger than it looked.
Click Export Selected (or Push Selected for a remote), and in the related-data dialog tick the options, including Include Media Files and terms.
Import on the target. Media in the payload is imported before the posts on purpose, so featured images, inline images, and category assignments all connect in the same pass.
One pass, everything attached, done.
Separate passes, and the one rule about order
Separate passes work too, media this week, posts next week, as long as you respect one rule: the post's dependencies must exist on the target before, or at the moment, the post is imported.
So: media first, then posts, and everything connects, because imported media remembers the ID it had on the source, and the post importer resolves through that memory, with a filename match as fallback.
The order that bites people is the reverse. Import posts first, onto a site where their images do not exist yet, and there is nothing to connect to. Importing the media afterwards does not retroactively fix those posts.
Already imported posts and the images did not attach? The fix is one step: now that the media exists on the target, import the same posts again. On re-import, featured and inline images reconnect through the source-ID memory or the filename match. Nothing else needs to be redone, and content that only lives on the target is not touched.
Categories and tags: assignments vs the tree
Two different things hide behind the word categories, and they move differently:
Assignments, which posts belong to which categories and tags, travel with the posts when the related-data options include terms. You do not need a separate categories export for this.
The tree itself, the categories with their hierarchy, descriptions, and term meta, lives in its own Library section (Categories, Tags). Export that when you want the taxonomy structure to exist on the target without moving any posts, or when you want empty terms to arrive too.
If an assigned category does not exist on the target at import time, it is created so the assignment lands. The separate section export is for when you care about the full tree, not just the terms your posts happen to use.
This guide exists because a customer asked exactly this question. If yours is not answered here, same offer: support@wpchangesync.com or the community, and the answer becomes the next guide.