Migrating from WordPress.com to VeloCMS (full playbook)
WordPress.com doesn't give you raw database access, but its XML export contains everything you need. This playbook covers the full migration — posts, images, comments, and redirects — without data loss.
Migrating from WordPress.com to VeloCMS takes about two hours for a blog with 100 posts. The process uses WordPress's built-in WXR XML export, VeloCMS's web-based import wizard, and a 301 redirect setup in Cloudflare to preserve your SEO. Nothing requires database access or a command line — the entire migration happens through WordPress.com's export tool and the Admin → Tools → Import page in your VeloCMS dashboard.
Step 1 — Export your WordPress.com content
In your WordPress.com dashboard, go to Tools Export. Select 'All content' and click Download Export File. WordPress generates a .xml file (the WXR format) containing every post, page, comment, tag, category, and image URL. Save this file — it's the source of truth for your entire migration.
WordPress.com exports image URLs pointing to i0.wp.com or yoursite.wordpress.com. VeloCMS's importer downloads and re-uploads each image to your Cloudflare R2 bucket automatically — as long as the WordPress.com site is still live during import.
Step 2 — Upload the WXR file to VeloCMS
Log in to your VeloCMS admin, go to Admin → Tools → Import, and upload the .xml file directly — no conversion step needed, VeloCMS parses the WXR format natively. The importer streams through the file, strips WordPress shortcodes it can't map, and converts the embedded HTML into VeloCMS's block editor format automatically.
Step 3 — Review the import
The import wizard shows a progress bar and a log of any posts that hit errors as it processes your file. Successfully imported posts land as drafts — review and publish them on your own schedule. Check a handful of posts with embedded shortcodes or unusual formatting first, since those are the most likely spots for manual cleanup.
Step 4 — Set up 301 redirects
If your old WordPress.com blog was at yourname.wordpress.com and your new VeloCMS blog is at yourname.velocms.org (or a custom domain), you need 301 redirects for every old URL. WordPress.com doesn't let you set server-level redirects, but you can use Cloudflare's Page Rules or Redirect Rules to catch requests to the old URLs and redirect them, or add matching rules in VeloCMS's own Admin → Settings → Redirects page for URL patterns that changed.
Step 5 — Verify and clean up
After import, spot-check post counts against your WordPress.com dashboard, click through 5–10 posts to check for broken image links, and confirm your redirects are returning 301 by visiting a few old URLs directly. Fix any mismatches before announcing the migration publicly. Once verified, update your email newsletter, social profiles, and any external links you control to point to the new URLs.