Medium to WordPress

WordPress hosting for sites migrating from Medium.

Medium's export is a folder of HTML files. There are no categories, no real media library, and every image in those files still points at Medium's servers.

Images pulled off Medium's CDNCanonicals resolvedFree migration
Migration-tunedRedis object cache14 edge regionsDaily backupsFree SSL24/7 support
What actually moves

An export that is less than it looks.

The zip contains your writing. It does not contain the structure, the images or the relationships that make it a website.

Posts arrive without structure

The export is HTML per story with no categories, tags or hierarchy. Taxonomy is a decision made during the import rather than something recovered from it.

Taxonomy decidedDrafts included

Images still live on Medium

Every image reference in the export points at Medium's CDN. Imported as-is, your site depends on a platform you left and breaks the day those URLs change.

Files pulled downReferences rewritten

Canonicals and custom domains

If you used a custom domain or cross-posted, canonical tags may still credit Medium. Those are resolved so the new site is the version search engines rank.

Member-only stories need a decision

Paywalled posts have no equivalent on import. Whether they become public, gated or member-only content is chosen before rather than discovered after.

Faster than the platform you left

Pages serve from 14 edge regions with full-page caching, which for a text-heavy publication is a straightforward improvement over a shared platform.

The migration

Take the writing, rebuild the site.

This migration is quick on content and slow on decisions. Structure, images and canonicals all need answers the export does not provide.

  • Taxonomy designed before import
  • Images downloaded and references rewritten
  • Canonical tags pointed at the new site
  • Member-only stories given a destination
Stories
Imported and spot-checked
218
Images
Pulled from Medium's CDN
946
Canonicals
Repointed to the new domain
verified
Redirects
Old story URLs mapped
in progress
Performance

A publication that is finally yours.

The speed gain is real but secondary. The point of the move is that the archive, the images and the audience relationship stop belonging to somebody else.

14
edge regions
Owned
images and archive
Free
migration, done by engineers
MagicWP140 ms
Images still served from Medium800 ms
Imported without a page cache560 ms

Illustrative comparison of an article page after migration. Your numbers depend on article length and image count.

Configuration

What we change moving from Medium

These differ from a standard migration on the same plan, and each one exists because the export is a set of documents rather than a site.

SettingWhat we doWhy
Taxonomy designCategories and tags defined before import rather than derived from the exportMedium organises by publication and by tag in a way that does not survive the export at all, so an import without a structure decision produces several hundred uncategorised posts and no way to browse them.
Image handlingEvery asset downloaded from Medium's CDN and references rewritten to the local libraryThe exported HTML references images by their Medium URLs, so a site that looks complete on launch day is quietly depending on the platform it just left to keep serving its pictures.
Canonical resolutionCanonical tags repointed to the new domain and old story URLs redirectedCross-posted and custom-domain stories often carry canonicals crediting Medium, which tells search engines to keep ranking the copy you no longer control.
Member-only contentPaywalled stories assigned a destination before import — public, gated or membershipNothing in the export marks what was behind Medium's paywall in a way WordPress understands, so without a decision the entire paid archive silently becomes free on launch.
Feed continuityRSS output configured to match the shape subscribers already receiveReaders who subscribed by feed rather than by email are the easiest audience to lose in this move, because nothing notifies them and a changed feed simply stops delivering.
Plans

Simple, transparent pricing.

Every plan includes free migration, daily backups, SSL and 24/7 support.

MonthlyYearly
Starter
For personal sites, blogs, and portfolios.
$20/mo
Billed $240 yearly · save $60
  • 1 WordPress site
  • 10 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Support tickets
Start free trial
Pro★ Most popular
For growing businesses and busy stores.
$80/mo
Billed $960 yearly · save $240
  • 5 WordPress sites
  • 50 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Priority support tickets
Start free trial
Enterprise
For agencies and high-traffic platforms.
$250/mo
Billed $3000 yearly · save $600
  • 20 WordPress sites
  • 200 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Dedicated support
Start free trial
FAQ

Questions, answered.

What does Medium's export actually contain?
HTML files for your stories, including drafts. It does not contain categories, a media library, or images — those are referenced by URL and still hosted by Medium.
Why do my images break after importing?
They usually do not break immediately, which is the problem. They keep loading from Medium's CDN until those URLs change, at which point a site you thought was independent loses its pictures.
Will I lose my search rankings?
Not if canonicals and redirects are handled. The risk is a cross-posted story whose canonical still credits Medium, which tells search engines to rank the copy you no longer control.
What happens to member-only stories?
Nothing in the export marks them in a way WordPress recognises, so they need a destination chosen first — otherwise the whole paid archive is public the moment the site launches.
Can I keep my custom domain?
Yes, and it is the cleanest version of this move: the address readers already know keeps working while everything behind it becomes yours.

Move off Medium and actually own the archive.

Free migration, images pulled down properly, and canonicals that credit you.