Migration target for blog.hichee.com, moving from WordPress to Astro + Cloudflare Pages.
- Repository remains private during migration.
- WordPress drafts are migrated as unpublished content under
src/content/drafts/. - We create one GitHub issue per unpublished draft (
draft-reviewlabel) so nothing gets lost. - Media strategy defaults to object storage/CDN (Cloudflare R2), not repository storage, unless final measured media size is small enough.
yarn install
yarn devProject: blog-hichee-com
Current Pages URL: https://blog-hichee-com-git.pages.dev
This project is connected to GitHub (shakacode/blog.hichee.com) in Cloudflare Pages.
- Pushes to
maintrigger production deployments in Cloudflare. - Pull requests trigger preview deployments in Cloudflare.
No custom GitHub deploy workflow is required for Pages deploys.
- Extract WordPress content through authenticated REST API (requires WP login):
yarn migrate:download:rest- Convert REST export to Astro content collections:
node scripts/convert-rest-to-content.mjs --input data/raw/wp-rest-export-YYYY-MM-DDTHH-mm-ss-sssZ.json- Build media manifest + size estimate:
node scripts/build-media-manifest.mjs --with-head- Create GitHub issues for drafts:
# dry run
node scripts/create-draft-issues.mjs
# create issues
node scripts/create-draft-issues.mjs --apply- Stage site on
newblog.hichee.comvia Cloudflare Pages. - Run QA checklist (links, SEO, images, page templates, redirects, performance).
- Freeze WordPress edits, run final delta sync, then switch
blog.hichee.com.