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
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
Point at the provenance meta
_substack_original_url, _substack_post_id, and the import-batch meta keys. Each becomes a typed column on the post inventory.
Join redirects and subscribers
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.
Save the triage cohorts
Clean up inline
Sample columns
A typical Substack Importer post view
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_urlmeta is invisible in Posts > All -
Redirect map is a serialized
wp_optionsblob -
Subscriber CSV sits in
wp_optionswith no UI - No way to surface posts missing their source URL
SleekView
-
Join
_substack_original_urlmeta towp_postswith 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.
Lifetime ♾️
Most popular
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
€749
Continue to checkoutBrowse more
- Woocommerce Freshbooks Sync
- Woocommerce Loyalty Program
- Woocommerce Stripe Gateway
- Woocommerce Xero Pro
- Woocommerce Advanced Flat Rate Shipping
- Woocommerce Authorize Net Cim
- Woocommerce Gift Registry
- Woocommerce Easyship
- Lemonsqueezy Wp
- Woocommerce Quaderno
- Woocommerce Quote Request
- Woocommerce Cybersource
- Yith Woocommerce Gift Cards
- Woocommerce Advanced Product Labels
- Wp Invoice
- Ontrapages
- Magazine Paywall
- Wishlist Member Stripe
- Restrict Content Pro
- Content Control Cm
- Super Socializer
- Ultimatemember Social
- Memberpress Corporate
- Private Content Restricted Content
- Ultimate Membership Pro Indeed
- Userpro Pro
- Theme My Login
- Memberium Active Campaign
- Simple Membership Pro
- Memberpress Coupons