Migration·7 min read·

How do I move my Medium posts to VeloCMS?

Download your Medium export ZIP, map post slugs, set canonical redirects from medium.com/@user/post, and preserve your profile across the transition.

Medium is a fine place to grow an audience, but you don't own it. You can't customise the design, can't monetise however you want, and can't build a real brand. Most writers eventually want out. The good news: Medium lets you export your data, and the canonical redirect trick means your old Medium articles can send SEO equity to your new VeloCMS blog without you losing your Google rankings.

Step 1 — Export your Medium data

In Medium, click your profile photo → Settings → Security and apps → Download your information. Medium emails you a link within 24 hours. The ZIP contains a posts/ folder with your articles as HTML files, an export_info.json, a connections directory with who you follow, and a profile info file. You only need the posts/ folder for the migration.

Medium's HTML export is not clean markdown — it uses Medium-specific HTML markup. VeloCMS's importer handles the conversion, but some formatting (e.g. Medium's drop-cap feature, partner program paywalls) won't carry through and needs manual review post-import.

Step 2 — Import posts into VeloCMS

Go to Admin → Tools → Import → Medium and upload your ZIP. VeloCMS reads each HTML file in the posts/ directory, extracts the title, body, and publication date from Medium's HTML structure, and creates draft posts. You'll get a summary table showing which posts imported cleanly and which had parsing warnings. Approve the import to publish them.

  • Story title, subtitle, and body text carry over.
  • Embedded images reference Medium CDN URLs — they'll load until you re-upload images to R2.
  • Tags carry over as VeloCMS post tags.
  • Medium 'responses' (comments) are not included in the export.
  • Locked/paywalled Medium stories import as published — the paywall logic is Medium-specific.

Step 3 — Slug mapping

Medium post URLs look like: medium.com/@yourusername/your-post-title-abc123. The abc123 at the end is a Medium-specific hash — it doesn't carry semantic meaning. VeloCMS uses clean slugs like yourdomain.com/your-post-title. During import, VeloCMS strips the hash and creates a clean slug from the post title. Review the slug list in Admin → Posts after import to check for conflicts or overly long slugs.

Step 4 — Set up canonical redirects from Medium

This is the most important SEO step. Even after you migrate, your old Medium stories may be ranking on Google. You have two options. Option A: In Medium story settings, update each story's canonical URL to your new VeloCMS URL. This tells search engines that your VeloCMS version is the authoritative source. Option B: Unpublish Medium stories and let the existing Google rankings naturally transfer to VeloCMS over time (slower but automatic).

<!-- VeloCMS automatically adds this to every post's <head> -->
<link rel="canonical" href="https://yourdomain.com/your-post-slug" />

<!-- In Medium: Story → Edit → More options → Set canonical link
     Paste: https://yourdomain.com/your-post-slug -->

Step 5 — Handle your publication (if you have one)

If you wrote for a Medium publication (not just your personal profile), contact the publication owner to remove or update your stories. Publication ownership complicates canonical URLs because the publication might have its own domain. If you ran the publication yourself, export the publication separately from your personal posts via the same Settings → Download your information path.

Step 6 — Profile and bio migration

Medium profiles include a bio, profile photo, and links. Copy your Medium bio text to Admin → Settings → Site Meta → Author Bio in VeloCMS. Upload your profile photo under Admin → Settings → Author Photo. Social links (Twitter, Website) go in the same settings panel. If you have a custom Medium domain (yourusername.medium.com), set up a 301 redirect from that to your new VeloCMS domain in Cloudflare or your DNS provider.

Frequently asked questions

  • Can I keep my Medium profile active alongside VeloCMS? Yes — use canonical links on Medium pointing to VeloCMS and keep both live. Many writers do this during transition.
  • Will I lose my Medium followers? Medium followers are platform-specific. Encourage them to subscribe to your VeloCMS newsletter instead.
  • Does VeloCMS support Medium's Partner Program equivalent? Not natively — VeloCMS membership (paid subscribers) is the equivalent for direct reader monetisation.
  • How long does the SEO transfer take? With canonical tags set, Google usually re-indexes within 2–8 weeks. With hard redirects (301), slightly longer.
  • Can I migrate Medium highlights and claps? No — those are platform-specific engagement features and aren't included in Medium's export.