← ClaudeAtlas

contentrain-migrate-wordpresslisted

Import a WordPress site into a .contentrain content store and wire it to a framework. Use when migrating from WordPress, running contentrain import, handling a WXR export or REST URL, or connecting imported content to Astro, Nuxt or Next.
Contentrain/ai · ★ 4 · AI & Automation · score 73
Install: claude install-skill Contentrain/ai
# Skill: Migrate a WordPress Site > WordPress content → canonical `.contentrain` store → validated → typed client or Astro collections. --- ## When to Use The user wants to move a WordPress site's **content** into Contentrain: "import my WordPress site", "migrate from WP", "I have a WXR export", "pull posts from wordpress.com", "turn this WP blog into Astro". **This skill moves content, not design.** Themes, page-builder layouts and rendered HTML are a different problem (a full site clone is the Contentrain migration service). What this skill produces is a clean content store the user's own frontend reads. --- ## Steps ### 1. Pick the source Two sources, and the choice is usually made for you: | Source | Use when | Command | |---|---|---| | **REST URL** | The site is online and `/wp-json/wp/v2/` answers | `npx contentrain import https://example.com` | | **WXR export** | The site is offline, behind auth, or the user has a `.xml` from Tools → Export | `npx contentrain import ./export.xml` | REST returns more than WXR (rendered HTML, media metadata, per-type discovery); WXR is complete but rawer. If both exist, prefer REST. **Private or partial REST.** A site can answer `/wp-json` but hide drafts, private types and some fields. An Application Password lifts the run to `rest_auth`: ```bash npx contentrain import https://example.com --auth "user:xxxx xxxx xxxx xxxx" ``` Check first, so you tell the user what they will get rather than discovering it after: ```bash cu