Migrating from another host
Most migrations take an afternoon. The slow part is waiting for directories to notice the new feed.
1. Import the back catalogue
Point the importer at your current feed. It downloads each enclosure, keeps the original filename and publication date, and copies title, description, episode and season numbers.
mh import https://oldhost.example/feeds/weekly-show.xml --into weekly-show
fetching feed ........ 112 items
downloading 48/112 ep-065-live-at-the-hall.mp3 (71.2 MB) ✓
...
done: 112 files, 6.4 GB, 0 failed
Failed items are listed at the end with the reason (usually a 403 from the old host on very old episodes). Re-run with --retry-failed once you've sorted that out.
2. Keep old links alive
If you had a custom hostname at the old provider, point it to us and upload a redirect map. Any request to an old path returns 301 to the new file.
mh redirects import weekly-show ./old-paths.csv
# old-paths.csv
/audio/2024/ep-001.mp3,ep-001-pilot.mp3
/audio/2024/ep-002.mp3,ep-002-the-move.mp3
3. Check, then switch the feed
Run the check command before announcing anything. It fetches every enclosure through the edge, compares byte lengths against the imported feed, and validates the generated XML.
mh feed check weekly-show
112 enclosures reachable
112 lengths match
feed.xml valid (0 warnings)
Then follow the RSS feeds guide for the redirect and itunes:new-feed-url steps. Keep the old account open for at least 30 days.
Things people forget
- Artwork. The importer grabs the channel image, but per-episode images are only copied if the old feed references them with
itunes:image. - Transcripts. Upload them to the same collection with the same base name and a
.vttor.srtextension; they're attached automatically. - Stats history. We can't import it. Export a CSV from the old host before cancelling.