=== TopoSEO Importer for Substack ===
Contributors: toposeo
Tags: substack, import, importer, newsletter, migration
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.2.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Import your Substack archive into WordPress from an export .zip: photos saved to the Media Library, widgets stripped, and posts auto-filed.

== Description ==

TopoSEO Importer for Substack brings your existing Substack posts into WordPress as native
posts, from the official Substack export file you download from your own account. It
cleans out Substack's subscribe and share widgets, copies every photo into your Media
Library (so nothing hotlinks back to Substack), and can sort each post into the right
category using configurable filing rules.

It is built for a one-time migration of your own history, and it is safe to run
repeatedly — nothing is ever imported twice. When you publish more on Substack later,
create a fresh export and run the importer again; it brings in only the new posts.

= What the free plugin does =

* **Imports every published post** with its photos, dates, titles and subtitles, from
  a Substack export .zip.
* **Copies photos into your Media Library** — full-resolution copies, de-duplicated so
  a photo used in several posts is stored once, with the first image set as the
  featured image. Nothing hotlinks to Substack.
* **Strips Substack widgets** — subscribe, share and other Substack-only blocks are
  removed so you get clean WordPress content.
* **Auto-files into categories** with smart match and an ordered list of custom rules
  (contains / starts with / exactly equals / regular expression), a fallback category
  and guardrails that protect posts you have filed by hand.
* **Rewrites internal links** — links between your own posts are repointed to their
  imported WordPress copies.
* **Canonical option** — keep Substack as the canonical home (so the WordPress copy is
  not treated as duplicate content), or let WordPress stay self-canonical.
* **Gentle, resumable imports** — gentle mode (on by default), a Stop button, a
  posts-per-cycle pacing control, live progress and a Status tab, so large archives
  work even on tight shared hosting. Posts can be imported live or staged as drafts.

= Pro =

A one-time [TopoSEO Pro upgrade](https://www.toposeo.com) adds a 301 redirect map for
your old Substack links, AI image alt text, AI SEO meta descriptions, AI category
suggestions and selective import (by keyword, series or date range). The free importer
keeps working with or without it.

= What it sends and fetches =

The plugin downloads your post images from Substack's image CDN while importing. By
default it only retrieves images hosted on Substack's own infrastructure (the only
images a Substack export references); any image a post embeds from another site is
left linked to its original source unless you turn on "External images" in Settings.
It makes no other external requests and sends no data anywhere.

== Installation ==

1. Install and activate the plugin.
2. On Substack, go to **Settings → Import/Export → Export**, create a new export,
   and download the .zip.
3. In WordPress, go to **TopoSEO Importer for Substack → Settings**, enter your Substack
   address, confirm you own the content, and (optionally) set up the **Category
   Setup** tab.
4. Go to **TopoSEO Importer for Substack → Import** and upload the .zip.

== Frequently Asked Questions ==

= Is this a scraper? =

No. It does not crawl or scrape Substack. It imports the official export .zip that you
download from your own Substack account, so it only ever touches content you own.

= Will it duplicate my posts if I run it twice? =

No. Posts are de-duplicated by their Substack slug and images by their original URL, so
the import is safe to re-run. Re-running brings in only posts that are not already on
your site.

= What happens to my old Substack links? =

The free version gives you a canonical option: keep Substack as the canonical home so
search engines are not confused by duplicate content, or let WordPress stay
self-canonical. A full 301 redirect map for old Substack URLs is part of the Pro
upgrade.

= Does uninstalling delete my imported posts? =

No. Uninstalling removes only the plugin's own settings. Your imported posts and their
photos stay in WordPress.

== Screenshots ==

1. Settings — your Substack address, ownership confirmation and canonical choice.
2. Category Setup — smart match, ordered custom rules, fallback and guardrails.
3. Import — upload your export .zip, choose live or draft, and track progress.

== External services ==

This plugin imports the images in your Substack export by downloading them from the servers that host them, so your published posts do not hotlink back to Substack. This happens only while you are running an import.

For every image referenced by your export, the plugin sends an HTTP request to fetch that image from:

* **Substack's image CDN** (`substackcdn.com`) and the Amazon S3 storage Substack keeps media in (`amazonaws.com`). Only the image URL from your export is requested — no account credentials, personal data or site data are sent. These are Substack's own services; see Substack's Terms of Use (https://substack.com/tos) and Privacy Policy (https://substack.com/privacy).

If you enable the optional "External images" setting, the plugin will also download images your posts embedded from other websites, by requesting those image URLs directly from wherever they are hosted. This is off by default.

The plugin makes no other external requests, performs no license or activation checks, and sends no data to TopoSEO or any other third party.

== Changelog ==

= 1.2.4 =
* First WordPress.org release of the free importer. Imports your Substack export .zip
  into WordPress: posts with photos copied into the Media Library, Substack widgets
  stripped, rule-based category filing, internal-link rewriting, a canonical option,
  and gentle, resumable imports with live progress.

== Upgrade Notice ==

= 1.2.4 =
First WordPress.org release of the free TopoSEO Importer for Substack.
