User guide — all chapters
Where importing starts
Import a Site… is on the New Site screen and the first-run screen. On the Mac it is Import Site… in the site switcher and the File menu.
Three things are true of every import.
- It comes in as a new site. Your other sites aren’t touched, and nothing is merged into them.
- Nothing is published until you choose to. You get to read it through first.
- Photos lose their location and camera details on the way in, exactly as when you add them yourself.
Choose Choose a Folder or File… and pick what you have. Selfish works out what it is, shows you what it found, and waits for you to confirm before it makes anything.
| Coming from | Give Selfish |
|---|---|
| Selfish | The folder that Export Site… made. |
| WordPress | The export file from Tools → Export. |
| Ghost | The export file from Settings → Advanced → Import/Export. |
| Substack | The export, unzipped, as a folder. |
| Medium | The folder that Download your information gives you, unzipped. |
| Hugo, Jekyll, Eleventy | The site’s folder. |
| Obsidian | The vault’s folder. |
| Anything else with a feed | Its address. |
A .zip has to be unzipped first. Selfish will say so if you hand it one.
From WordPress
In WordPress, go to Tools → Export, choose All content, and download the file. Give that file to Selfish.
- Posts, pages, categories, tags, excerpts and featured images come across. A featured image becomes the post’s index thumbnail.
- Photos are downloaded from your old site, at full size where the export names the original. Keep the old site online until the import has finished.
- Captions, galleries and embeds keep their place in the post. Code, crossed-out text, dividers and read-more breaks survive.
- Private, password-protected, pending and scheduled posts arrive as drafts, so nothing private goes public by accident.
- Sticky posts arrive pinned.
- Comments stay behind, and so does the “Uncategorized” category.
From Ghost, Substack or Medium
Ghost. Export from Settings → Advanced → Import/Export. Ghost’s export doesn’t say where your site is, so Selfish asks for its address, to fetch its photos from there. Leave that empty to bring in the words without them. Tags come across in Ghost’s order, and a post’s feature image becomes its thumbnail.
Substack. Ask Substack for an export of your publication, unzip it, and give Selfish the folder. Photos are fetched at full size, footnotes are kept, and podcast audio leads its post. Your subscriber list is never opened. Selfish doesn’t send email and has no use for it.
Medium. In Medium, use Download your information. Unzip what arrives and give Selfish the folder. The title that Medium repeats at the top of each post is removed.
For all three:
- Posts, pages, dates, tags, subtitles and photos come across.
- Subscribe boxes and sign-up cards stay behind, and link cards become plain links.
- Posts for members or paying subscribers arrive as drafts.
- Links between your own posts keep working.
From Hugo, Jekyll, Eleventy or Obsidian
Give Selfish the folder. It reads the Markdown files and their front matter, in YAML or TOML, and brings across posts, pages, dates, drafts, categories, tags and photos. Which files are posts and which are pages follows each tool’s own rules. Shortcodes and template tags that mean nothing outside the tool are removed or converted.
An Obsidian vault holds private notes, so its notes arrive as drafts unless they are marked to publish.
Only the folder you choose is read. A path that points outside it gets nothing.
Any blog, by its address
Under Or a blog’s address, type the address and choose Bring In Its Posts. Selfish finds the blog’s feed and brings in the posts it holds, photos and podcast audio included.
A feed only holds a blog’s latest posts, and Selfish says so. It is a quick way to see your writing in Selfish’s themes. For everything, use the platform’s export.
Old links keep working
A post brought in from WordPress, Ghost, Substack, Medium, Hugo, Jekyll, Eleventy or a feed remembers its old address. Once your site lives where the old one did, links to the old address lead to the post: links from search results, from other sites, from bookmarks.
| Where you publish | How the old address works |
|---|---|
| Netlify, Cloudflare Pages | A proper redirect, the kind search engines follow and credit. |
| Everywhere else | A small page at the old address that sends readers on at once. |
A post’s old addresses are in Details → Old Addresses, to check or change. One kind can’t be kept: WordPress’s plain addresses of the ?p=123 kind, because a static site has no way to answer a question mark.
Restoring a Selfish export
Give Selfish an export folder and the site comes back exactly as it was: every post, page, photo, category, tag and setting. Use it on a new device, or to hand a site to someone else.
Where the site publishes comes back too, but never its passwords, keys or tokens, because they were never in the export. Add them in Site Settings before you publish.
If a restored site would publish to the same place as a site you already have, Selfish warns you, so that neither overwrites the other.
Getting a lost site back
If your library is gone, the device and iCloud both, your site can come back from the web. Use Or a blog’s address and give it your own site’s address.
Selfish recognises a site it made and reads its published pages rather than its feed: every post and page, with photos, categories, tags, the menu, tables of contents and footnotes. Where your host also serves Selfish’s record of what is online, each post is recognised for what it is, so publishing again updates the site in place rather than starting over.
What was never on the web can’t come back: your drafts, and where and how the site publishes, passwords included.
One post at a time
Import Markdown, in a site’s ⋯ menu and on the Mac in Site Actions and the File menu, turns a Markdown or plain-text file into a draft in a site you already have.
- Its title, date, tags and category come across. A category or tag is matched to one the site has, by name.
- Choose its photos along with it and they come in too.
- It is always a draft, dated today unless the file says otherwise.
- On the Mac, drop the files on the posts list.
A post shared from Selfish as Markdown comes back whole this way, with its captions, alt text and thumbnail.