✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount

SleekView for Substack Importer: imported posts, redirects & subscriber map as tables

Substack Importer ingests Substack archive exports into wp_posts with provenance meta in wp_postmeta, plus a redirect map and subscriber CSV stored under the importer's option keys. SleekView reads it all so migration triage is one filterable workspace.

♾️ Lifetime License available

SleekView table view for Substack Importer

Substack migration triage in one screen

The Substack Importer plugin ingests a Substack archive export (the ZIP a publisher can download from Substack) and creates posts in wp_posts with the original Substack URL, publication date, and post slug captured in wp_postmeta under keys like _substack_original_url and _substack_post_id. Subscriber-list CSVs land in wp_options for later use, and the importer maintains a small redirect map so old Substack URLs route to the new WordPress post.

The default importer screen shows an upload form and a log of the last import. It doesn't expose the migrated content as a managed inventory: there's no aggregated view of which posts came from which import batch, which redirects still point at the old domain, or which Substack subscribers were resolved to WordPress users. Auditing the migration today means SQL against wp_postmeta on a custom key, or scrolling through Posts > All filtered by date.

SleekView reads the import provenance meta, the redirect map, and the cached subscriber CSV together, then joins everything to wp_posts and wp_users. Failed redirects, posts missing their Substack slug, and unresolved subscribers become row-level cohorts, and inline edits route through the importer's own update functions so the redirect map stays consistent.

Workflow

Substack import state as a workspace

1

Point at the provenance meta

Tell SleekView about _substack_original_url, _substack_post_id, and the import-batch meta keys. Each becomes a typed column on the post inventory.
2

Join redirects and subscribers

Join the redirect map and subscriber CSV from wp_options to posts and users. Each post row carries its redirect status and source URL; each subscriber row carries its resolved WP user ID.
3

Save the triage cohorts

Build saved views for the questions that recur: redirect failing, no source URL, draft after import, cover image missing, unresolved subscribers.
4

Clean up inline

Edit redirect targets, fix source-URL meta, publish drafts in bulk, resolve subscribers to users. Writes route through the importer's own setters so the redirect cache stays consistent.

Sample columns

A typical Substack Importer post view

Migrated posts with their original Substack URL, redirect status, and import batch.
Source: wp_posts + wp_postmeta (_substack_original_url, _substack_post_id) + wp_options (substack_subscribers, substack_redirects)
WP post Original Substack URL Redirect Import batch Status Imported
/welcome-to-the-brief/ newsletter.substack.com/p/welcome 301 OK 2025-archive Published Apr 12
/the-q1-recap/ newsletter.substack.com/p/q1-recap 301 OK 2025-archive Published Apr 12
/old-paywall-post/ newsletter.substack.com/p/paywall Missing 2025-archive Draft Apr 12
/founders-letter/ (empty) No source URL manual Draft Apr 18

Comparison

Default Substack Importer admin vs SleekView

Default Substack Importer admin

  • Import log shows a flat list, no batch grouping
  • _substack_original_url meta is invisible in Posts > All
  • Redirect map is a serialized wp_options blob
  • Subscriber CSV sits in wp_options with no UI
  • No way to surface posts missing their source URL

SleekView

  • Join _substack_original_url meta to wp_posts with redirect status inline
  • Filter by import batch, post status, and redirect health together
  • Inline edit the redirect target or original-URL meta
  • Surface posts with missing Substack provenance as a cleanup cohort
  • Save views: "redirects failing", "posts without source URL", "by batch"

Features

What SleekView gives you for Substack Importer

Redirect health audit

Join the redirect map in wp_options against the imported posts' original URLs. Broken or missing redirects render with their target inline so SEO carry-over is verifiable instead of assumed.

Per-batch migration triage

Group migrated posts by import batch to audit each archive run independently. Spot draft posts that never published, posts missing their canonical Substack URL, and posts that imported with empty content.

Subscriber resolution

Match the cached Substack subscriber CSV against wp_users by email. Resolved users render with their WP user ID inline; unresolved subscribers stay as a queue for the next round of account creation.

Audience

Who uses SleekView for Substack Importer

Migration engineers

Own the Substack archive ingestion as a project, not a one-shot import. Each batch becomes a filterable cohort with redirect health and content completeness visible inline, so post-migration cleanup is a queue rather than a search.

Editors

Review imported drafts as a batch. Filter by post status to publish the queue, or to surface posts missing their cover image so the archive looks consistent with native content.

SEO leads

Verify that every imported post has a working 301 from its original Substack URL. A saved "redirect failing" view becomes the SEO carry-over checklist rather than a manual crawl.

The bigger picture

Why a Substack migration is a project, not a one-shot import

Substack migrations look like one-time data transfers in the install wizard but behave like long-running projects in practice. The archive export lands hundreds of posts in wp_posts, each with provenance meta and a redirect map, plus a subscriber CSV that has to resolve to WordPress users. Some posts come in as drafts because the importer can't confidently match a cover image; some redirects fail silently because the original Substack URL was rewritten between the export and the import; some subscribers don't match any existing WP user.

The plugin's own admin tops out at an import log because that's the most useful surface during ingestion, but it's the wrong surface for the weeks of cleanup that follow. SleekView lifts the resulting state into a row-level workspace with redirect health, batch grouping, and subscriber resolution joined inline, so the migration becomes a finishable project rather than a forever-stalled cleanup queue. For publishers leaving Substack, that workspace is what makes the move auditable and the archive feel native rather than imported.

Questions

Common questions about SleekView for Substack Importer

No. SleekView is read- and edit-on-top: the Substack Importer plugin owns the ingestion pipeline. SleekView turns the resulting state, wp_posts, wp_postmeta, and the redirect map in wp_options, into a workspace for triage and cleanup.

 

Yes. The redirect map in wp_options updates through the importer's own setter functions, so any registered hooks fire and a rebuild of the redirect cache happens on the next request.

 

If the importer has cached the Substack subscriber CSV in wp_options, SleekView exposes those rows as a resolvable list. Matching against wp_users by email is one join, and unresolved subscribers stay queued for the next account-creation pass.

 

Paywalled posts in the Substack archive carry a flag in their meta export; the importer stores that as a meta key. SleekView surfaces the flag as a column so editors can decide whether to publish or keep gated on the WordPress side.

 

Imported cover images land in the media library with a meta link to the parent post. SleekView surfaces "posts without cover image" as a saved view so editors can backfill before publishing the batch.

 

Yes. Queries hit wp_postmeta on indexed keys and the workspace paginates server-side. Archives of several thousand posts render quickly because the joins stay on the indexed meta keys.

 

Yes. Select rows in a saved "failed import" view and bulk-trash through the WP REST API. The importer's own cleanup hooks fire so the redirect map and provenance meta stay consistent.

 

Each Substack archive lands in its own batch, identified by an import-batch meta key. SleekView treats batches as a first-class filter, so multi-publication migrations stay separable for audit and cleanup.

 

Pricing

More than 1000+
happy customers

Explore our flexible licensing options tailored to your needs. Upgrade your license anytime to access more features, or opt for a lifetime license for ongoing value, including lifetime updates and lifetime support. Our hassle-free upgrade process ensures that our platform can grow with you, starting from whichever plan you choose.

Starter

€79

EUR

per year

  • 3 websites
  • 1 year of updates
  • 1 year of support

Pro

€149

EUR

per year

  • Unlimited websites
  • 1 year of updates
  • 1 year of support

Lifetime ♾️

Most popular

€249

EUR

once

  • Unlimited websites
  • Lifetime updates
  • Lifetime support

...or get the Bundle Deal
and save €250 🎁

The Bundle (unlimited sites)

Pay once, own it forever

Elevate your WordPress site with our exclusive plugin bundle that includes all of our premium plugins in one package. Enjoy lifetime updates and lifetime support. Save significantly compared to buying plugins individually.

What’s included

  • SleekAI

  • SleekByte

  • SleekMotion

  • SleekPixel

  • SleekRank

  • SleekView