wp-migrate-core now supports Payload CMS

Leaving WordPress should still leave you somewhere to edit your content, that was the reason for adding Payload CMS as a destination alongside Astro. The updates from 0.8.0 to 0.9.1 also bring across more of the original site structure and add checks for what actually reached the destination. 0.9.1 is now published on npm.

The Payload destination generates collection definitions, content, local media and an importer to run in your destination project. Posts, pages and custom content types keep their titles, routes, dates, authors and taxonomy information. Supported text becomes editable rich text, while the original HTML stays available for reference.

Repeated imports also account for work done after the first migration. The importer checks for source changes and edits made inside Payload. Records changed in the CMS are skipped and reported for review, helping avoid overwriting someone’s work. Private, scheduled and other unpublished WordPress content remains in draft.

More of the site comes across, too. The 0.8 releases added custom content types, nested navigation, category and author archives to the Astro output, with optional pagination, date archives and RSS feeds. Those surrounding pages and links matter when replacing an established website.

The verification step now checks the built output for missing media, broken internal links, canonical issues, crawl blocks and incomplete sitemap coverage. For Payload, it can also read the importer’s report to identify missing, failed or skipped records. Checks that could not run remain visible as unchecked.

The follow-up releases address details that can cause trouble during migration: pagination redirects, menu destinations, rich-text links, nested lists, date handling and protection of CMS drafts.

There is still work to review. Themes, forms and plugin behavior need rebuilding, and unsupported rich-text elements are flagged rather than silently approximated. The Payload import has been tested against Payload 3.90.2 and SQLite using generated content, media, repeated imports and draft edits. A complete real-site migration is the next validation step.

View wp-migrate-core · npm package · Full changelog