Skip to content

britive/wordpress-to-substack-blog-export-migration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Migrating from WordPress to Substack: A Complete Guide

The Problem

Many bloggers and content creators who started with WordPress eventually find themselves overwhelmed by:

  • Plugin maintenance - Constant updates, compatibility issues, and security patches
  • Hosting costs - Monthly fees for hosting, SSL certificates, and premium themes
  • Technical overhead - Database management, backups, server configuration
  • Security concerns - WordPress is a common target for hackers and malware
  • Complexity creep - What started as a simple blog becomes a complex system

You want to focus on writing, not managing infrastructure.

Why Substack Over Medium?

If you're considering migrating your blog, you might think of Medium first. However, Medium has significant limitations:

Feature Medium Substack
Bulk Import ❌ 2 posts per 24 hours limit ✅ Unlimited via RSS
Import Method Manual URL submission Direct RSS feed import
Older Posts Often fail to import Works with all posts
Custom Domain Limited ✅ Supported
Email Newsletter ❌ No ✅ Built-in
Monetization Paywall (reader-unfriendly) Optional paid subscriptions
Content Ownership Medium owns the platform You own your content

Bottom line: Medium's 2-post-per-day limit means migrating 176 posts would take 88 days. With Substack, it takes 5 minutes.

Prerequisites

  • A self-hosted WordPress blog (WordPress.org) or WordPress.com site
  • Admin access to your WordPress dashboard
  • A Substack account (free to create)

Step-by-Step Migration Guide

Step 1: Increase Your WordPress RSS Feed Limit

By default, WordPress only includes the 10 most recent posts in your RSS feed. We need to change this to include ALL your posts.

  1. Log into your WordPress Admin Dashboard
  2. Navigate to Settings → Reading
  3. Find "Syndication feeds show the most recent"
  4. Change the value from 10 to a number higher than your total posts (e.g., 200 or 500)
  5. Ensure "For each post in a feed, include" is set to "Full text"
  6. Click Save Changes

WordPress Reading Settings Change the syndication feed limit to include all your posts

Step 2: Verify Your RSS Feed

Before importing to Substack, verify your RSS feed is working correctly:

  1. Open your browser and visit your RSS feed URL:

    https://yourdomain.com/feed/
    
  2. You should see XML content with your blog posts

  3. Scroll through to verify multiple posts are listed (not just 10)

Alternative RSS URLs to try if the default doesn't work:

  • https://yourdomain.com/feed/rss/
  • https://yourdomain.com/feed/rss2/
  • https://yourdomain.com/?feed=rss2

Step 3: Create Your Substack Publication

  1. Go to substack.com
  2. Click "Start writing" or "Get started"
  3. Create your account and set up your publication name
  4. Complete the basic setup (you can customize later)

Step 4: Import Your WordPress Posts

  1. In your Substack dashboard, go to Settings
  2. Click on Import/Export in the left sidebar
  3. You'll see the import page at: https://yourpublication.substack.com/publish/import
  4. Paste your WordPress RSS feed URL:
    https://yourdomain.com/feed/
    
  5. Click Import
  6. Substack will scan your RSS feed and show available posts
  7. Select the posts you want to import (or select all)
  8. Click Import to begin the migration

Step 5: Review and Publish

After import:

  1. Go to your Posts page in Substack
  2. Imported posts will appear as drafts or published (depending on settings)
  3. Review each post for formatting issues
  4. Check that images imported correctly
  5. Adjust publication dates if needed (Settings → Backdate)

Troubleshooting

Problem: Substack only imports 10 posts

Solution: Your WordPress RSS feed limit is still set to the default. Go back to Step 1 and ensure you've:

  • Changed "Syndication feeds show the most recent" to a higher number
  • Clicked "Save Changes"
  • Waited a few minutes for the feed to update

Problem: Substack shows "No posts found"

Solutions:

  1. Try the direct RSS URL: https://yourdomain.com/feed/
  2. Check if your site is publicly accessible (not password protected)
  3. Verify your RSS feed works by opening it directly in a browser
  4. Try alternative feed URLs listed in Step 2

Problem: Images are missing or broken

Solutions:

  • Substack imports images from your WordPress media library
  • Ensure your WordPress site remains online during and after migration
  • For broken images, manually re-upload them in the Substack editor

Problem: Formatting looks wrong

Solutions:

  • Substack uses a clean editor that may not support all WordPress formatting
  • Complex layouts, shortcodes, and custom HTML may need manual adjustment
  • Review and edit posts individually for best results

Problem: Posts appear in wrong order

Solution: Use Substack's backdate feature:

  1. Open the post in the editor
  2. Click on Settings (gear icon)
  3. Change the publication date to match the original WordPress date

Post-Migration Checklist

  • All posts imported successfully
  • Images display correctly
  • Links work properly
  • Publication dates are accurate
  • Author information is correct
  • Categories/tags are set up (Substack uses "Sections")
  • Custom domain configured (optional)
  • Email newsletter settings configured
  • About page updated
  • Social links added

Optional: Set Up Custom Domain

If you want to keep your existing domain:

  1. In Substack, go to Settings → Publication details
  2. Scroll to Custom domain
  3. Follow Substack's instructions to update your DNS records
  4. Wait for DNS propagation (up to 48 hours)

Optional: Redirect Old WordPress URLs

To maintain SEO and avoid broken links:

  1. Keep your WordPress site running temporarily
  2. Install a redirect plugin like "Redirection"
  3. Set up 301 redirects from old URLs to new Substack URLs
  4. Or use your hosting provider's redirect rules

Benefits After Migration

After migrating to Substack, you'll enjoy:

Zero maintenance - No plugins, updates, or security patches

Built-in newsletter - Every post can be emailed to subscribers
Simple editor - Focus on writing, not formatting

Free hosting - No monthly hosting fees

Built-in audience - Substack's recommendation system helps discovery

Mobile app - Readers can follow you in the Substack app

Analytics - See who's reading and engaging with your content

Optional monetization - Add paid subscriptions when ready

Conclusion

Migrating from WordPress to Substack is surprisingly simple once you know the RSS feed trick. The key insight is:

Increase your WordPress RSS feed limit BEFORE importing to Substack

This single change allows Substack to see and import ALL your posts at once, rather than just the most recent 10.

While Medium might seem like the obvious choice for blog migration, its restrictive 2-posts-per-day limit makes it impractical for anyone with a substantial archive. Substack's RSS import is faster, more reliable, and preserves your content better.

Resources


About This Guide

This guide was created after personally migrating 176 blog posts from WordPress to Substack. The process took about 5 minutes once the RSS feed was configured correctly.

Author: [Shahzad Ali] Original Blog: netjoints.com New Substack: netjoints.substack.com


Found this guide helpful? Star this repo and share it with others who might benefit!

License

This guide is released under the MIT License. Feel free to share, modify, and redistribute.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published