Skip to content

tr-migrate-wp — Migrate from WordPress

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

This skill uses the open-source migration workflow. Typeroll Cloud can also run and support the same workflow as a managed service.

The migration workflow runs in stages:

Stage What happens
Discover Verifies the WP REST API is reachable, probes for the helper plugin
Inventory Walks the sitemap + REST API to build a complete URL list
Custom types ACF/CPT schemas inferred; each becomes a Typeroll collection
Extract content Pages, posts and custom items reconstructed in your new design; images transferred to CDN
Redirects Old WordPress URLs mapped to new Typeroll slugs
Review Paused 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 — the AI agent uses them as design references

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

The optional open-source Typeroll Helper Plugin 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 the wp-helper-plugin directory from the Typeroll repository and create a ZIP archive from it.
  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 through Typeroll’s media storage — unused images from the WordPress media library are not transferred.