Skip to content

tr-migrate-wp — Migrate from WordPress

Triggers on: “migrate from WordPress”, a wp-json URL, “move my WordPress site”

Hosted plan This skill uses the migration workflow, which is available on the Typeroll hosted plan.

The migration workflow runs in stages:

StageWhat happens
DiscoverVerifies the WP REST API is reachable, probes for the helper plugin
InventoryWalks the sitemap + REST API to build a complete URL list
Custom typesACF/CPT schemas inferred; each becomes a Typeroll collection
Extract contentPages, posts and custom items reconstructed in your new design; images transferred to CDN
RedirectsOld WordPress URLs mapped to new Typeroll slugs
ReviewPaused for your approval — shows unhandled URLs

All imported pages start with status: "review". You sign off before anything goes live.

Migrate my WordPress site at acme.se to this Typeroll site.
The source site is at https://old.acme.com/wp-json — migrate it here.
I also have the helper plugin installed with key: abc123xyz

The target Typeroll site should already have:

  • Colour palette and fonts configured
  • Header and footer partials built (at least a basic version)
  • 1–2 example pages if possible — Claude uses them as design references

The migration imports content, not the old design. Your new design is applied automatically.

For the best results, install the Typeroll Helper Plugin on the WordPress source site. It exposes:

  • Custom post types regardless of show_in_rest setting
  • ACF field values with image references normalised
  • Navigation menus
  • Page builder JSON (Elementor, Breakdance)
  • Canonical URL list

Without the plugin, the migration falls back to the standard /wp-json/wp/v2/ API, which may miss CPTs and ACF data.

  1. Download wp-helper-plugin/typeroll-helper.zip from the repository
  2. Upload to WordPress: Plugins → Add New → Upload Plugin
  3. Activate it
  4. Go to Settings → Typeroll Helper and generate an API key
  5. Provide the key in your migration prompt

Each CPT becomes a Typeroll collection. The schema is inferred from a sample item’s ACF fields and post meta:

  • ACF image fields → type: "image"
  • ACF text / textareatype: "text" / type: "textarea"
  • ACF date_pickertype: "date"
  • Unknown fields → type: "text" (safe default)

After migration, the portal’s Migration tab shows every URL from the source site classified as:

  • Migrated — content imported as a page
  • Redirected — old URL redirects to a new slug
  • Excluded — pagination, admin, CDN URLs (expected)
  • ⚠️ Unhandled — needs attention before go-live

You can add redirects directly from the Migration tab for any unhandled URL.

Images are transferred just-in-time during content extraction. Only images that are actually referenced on imported pages move to the Typeroll CDN — unused images from the WordPress media library are not transferred.