Siteskyline Content Importer for Medium

Description

A guided Medium to WordPress migration workflow

Siteskyline Content Importer for Medium helps you move your stories, drafts, tags, and publications from Medium into WordPress without manual copy-pasting or server upload bottlenecks. You can import directly by uploading your Medium Export archive (medium-export.zip), selecting individual Medium story HTML files, or fetching recent stories via your Medium profile RSS feed.

  • Client-Side JSZip Extraction: Unpack Medium export .zip archives directly in your browser without hitting PHP upload_max_filesize or execution timeout limits.
  • Preview-First Migration: Check the archive or feed first to confirm stories, drafts, and tags before starting.
  • Batch Processing with Live Progress: Watch each story import in real time with the live log and progress bar.
  • Pause, Resume, and Retry: Easily pause an import and resume later from the exact same item.
  • SEO Preservation: Preserves subtitles as meta descriptions (Rank Math, Yoast SEO, Sky SEO) and sets canonical 301 redirects.
  • Draft & Published Stories: Import both published stories and draft drafts with configurable status mapping.
  • Tag & Category Mapping: Automatically map Medium tags to WordPress categories and tags.
  • Clean HTML Formatting: Cleans Medium markup, figures, captions, blockquotes, and code blocks into standard WordPress content.

Free Version Limits

The free version imports up to 50 stories and 20 drafts per run. The preview screen clearly shows what will be imported before you start.

Upgrade to Pro

Get the Pro Version

The Pro version is designed for larger blogs, publishers, and publications:

  • Unlimited story and draft imports
  • Complete Media Sideloader: downloads all Medium CDN images into native WordPress Media Library and rewrites content links
  • Dedicated Media Downloader tab with retry queue and bulk stats
  • Custom domain 301 redirect engine and exportable server rules (.htaccess / Nginx)
  • Priority 1-on-1 migration support

External Services

This plugin optionally connects to external services:

Medium Public RSS Feeds

  • Service Description and Purpose: Allows users to import stories directly from a public Medium profile or publication via RSS feed without downloading an export file.
  • Data Sent and Timing: When the administrator enters a public Medium profile or publication URL (e.g. https://medium.com/@username) in the RSS import tab, WordPress fetches the public XML feed from Medium via wp_remote_get(). No user credentials, personal data, or WordPress site information is sent to Medium.
  • Service Provider: A Medium Corporation (https://medium.com)
  • Terms of Service: https://policy.medium.com/medium-terms-of-service-9db0094a1e0f
  • Privacy Policy: https://policy.medium.com/medium-privacy-policy-f03bf92035c9

Siteskyline Telemetry (opt-in)

  • Service Description and Purpose: Anonymous diagnostic reporting used to help the developers detect and fix HTML parsing, memory, cURL, and media sideloading errors quickly. The service is completely optional and disabled until the administrator explicitly opts in.
  • Data Sent and Timing: Only transmitted after the administrator clicks “Allow & Continue” in the one-time welcome prompt, or enables “Usage & Error Diagnostics” in the plugin Settings. Data is sent when consent is granted and then when a Medium import error occurs (throttled). The payload includes the plugin version, WordPress version, PHP version, site URL, memory/execution/upload limits, database version, available extensions (cURL, OpenSSL, Zip), multisite flag, error step, and error message. No post contents, credentials, or personal data are sent.
  • Service Provider: Siteskyline (https://siteskyline.com/)
  • Terms of Service: https://siteskyline.com/terms/
  • Privacy Policy: https://siteskyline.com/privacy/

Siteskyline Deactivation Feedback (optional)

  • Service Description and Purpose: An optional short survey shown when the administrator deactivates the plugin, used to understand why users leave and to improve future releases.
  • Data Sent and Timing: Only transmitted when the administrator selects a reason and clicks “Submit & Deactivate”. Skipping the prompt sends nothing. The payload includes the selected reason, optional notes, plugin version, WordPress version, PHP version, and the number of imported items. No post contents, credentials, or personal data are sent.
  • Service Provider: Siteskyline (https://siteskyline.com/)
  • Terms of Service: https://siteskyline.com/terms/
  • Privacy Policy: https://siteskyline.com/privacy/

SiteSkyline Plugin Catalog

  • Service Description and Purpose: Powers the “✦ Explore Plugins” screen with a live list of other free SiteSkyline WordPress plugins that can be installed and activated directly from the dashboard.
  • Data Sent and Timing: When an administrator opens the Explore Plugins screen and the local cache is empty, WordPress requests the public JSON catalog from the SiteSkyline app (cached for 7 days). No personal data, credentials, or site content are sent.
  • Service Provider: Siteskyline (https://siteskyline.com/)
  • Terms of Service: https://siteskyline.com/terms/
  • Privacy Policy: https://siteskyline.com/privacy/

Screenshots

Installation

  1. Upload the siteskyline-content-importer-medium folder to the /wp-content/plugins/ directory, or install the plugin directly through the WordPress plugins screen.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress.
  3. Go to the ‘Medium Importer’ menu in your WordPress admin dashboard.
  4. Upload your Medium export .zip archive, select your story HTML files, or enter your Medium profile URL.
  5. Click ‘Preview & Start Import’ to begin your migration.

FAQ

How do I download my Medium export file?

In Medium, go to Settings > Security and apps > Download your information. Medium will email you a download link for medium-export.zip.

Can I import unpublished Medium drafts?

Yes. Medium export archives contain both published stories and drafts (named draft_*.html). You can choose to import them as WordPress Drafts or publish immediately.

Do I need Medium API access?

No. Medium deprecated its API tokens. This plugin works directly with Medium’s official export files and public RSS feeds.

How do 301 redirects work?

The plugin stores the original Medium story slug in post meta (_ssmeim_medium_slug). When you enable 301 redirects in the Settings tab, any visits to your old Medium story URLs on this domain will be seamlessly redirected to the new WordPress post.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Siteskyline Content Importer for Medium” is open source software. The following people have contributed to this plugin.

Contributors