User guide — all chapters
Feeds
Every site with an address publishes two feeds: feed.xml (RSS) and feed.json (JSON Feed). Readers add either to a feed reader and your new posts come to them.
- Feeds carry whole posts, photos included, not just the opening lines.
- Each RSS item carries the post’s category and tags, and names you as the author if the site has one. The JSON feed names the author once, for the whole feed.
- Both feeds hold your newest 50 posts, so they stay quick to fetch. Readers keep everything they have already seen.
- Pages, drafts and unlisted posts are left out. A note is carried without a title.
Feeds need Site URL to be set in Site Settings → Site. Without it they aren’t made at all.
A feed for each category and tag
Turn on Site Settings → Site → Home & Archives → A feed for each category and tag, and every category and tag page gets its own feed, linked from that page. A reader who only wants your walks, and not your opinions about boots, can follow just that.
A Subscribe page
Feeds are easy to offer and hard to find. Site Settings → Menu → Add Subscribe adds a page that explains how to follow your site and lists every feed you publish. See Pages, menu and home page.
A podcast
Site Settings → Site → Podcast → Publish a podcast feed turns every post with audio into an episode of podcast.xml. Add that address to Apple Podcasts, Overcast or any podcast app. Like the other feeds, it needs your site’s address.
| Setting | What it does |
|---|---|
| Name | The show’s name. Left empty, your site’s title is used. |
| Description | What the show is about. Left empty, your site’s description is used. |
| Category | One of Apple Podcasts’ categories. Apple lists a show only once it has one, and the site check reminds you if it is missing. |
| Explicit | Marks the show as explicit. |
| Optional, and public. Podcast directories show it, and some use it to confirm the show is yours. |
Each episode is a post. Its first audio clip is the episode, with its length and duration filled in for you, and the post’s words are its notes. The cover is your avatar or, without one, your podcast’s name in your theme’s colours. Your home page links the feed so podcast apps can find it.
There is no podcast host in this. The audio files sit on your own site, beside your pages, so check that wherever your site lives is happy to serve files of that size.
Readers & Links
Site Settings → Readers & Links connects your site to the rest of your life online. Nothing in it makes your pages load anything from anywhere else, and a site that uses none of it is unchanged.
Your links, and Mastodon verification
Under Your Links, enter one address a line: Mastodon, Bluesky, GitHub, Instagram and so on. They are listed at the foot of every page, each named for its service, and each marked as yours with rel="me".
That mark is what Mastodon looks for. Publish your site first, so the link is really there. Then put your site’s address, starting https://, in one of your Mastodon profile’s fields and save the profile. Mastodon checks your page when you save, and shows the link as verified.
Reply and subscribe by email
| Field | What it does |
|---|---|
| Reply Address | Puts a Reply by email link under each post that opens a message to you. It is the static answer to comments: replies arrive in private, and there is no spam to moderate. |
| Subscribe Page | The address of a service that turns your feed into emails, such as follow.it, Blogtrottr or Buttondown. A Subscribe by email link to it appears at the foot of every page. |
Selfish doesn’t send email itself and holds no subscriber list. The service you choose does both.
Mastodon and Bluesky
| Field | What it does |
|---|---|
| Mastodon Handle | Written as @you@mastodon.social. Mastodon then credits you, by name and with a link to your profile, on its previews of your posts. |
| Bluesky DID | Lets you use your own domain as your Bluesky handle. |
For the Mastodon credit to appear, Mastodon also wants your say-so: in Mastodon, open Preferences → Public profile → Verification and add your site’s domain under Author attribution.
For Bluesky, open Settings → Account → Handle in Bluesky, choose I have my own domain, pick No DNS Panel, and copy the did:plc:… value it shows into this field. Publish your site, then press Bluesky’s verify button. It works when your site is at the root of its domain.
Webmention
Turn on Tell sites you link to and, after each publish, Selfish lets the sites your new and changed posts link to know about them, so they can show the mention if they accept Webmentions. It contacts the sites you link to, or the Webmention service a site has named to receive them, and never on a site’s first publish.
Your posts are also marked up as h-entries, the IndieWeb’s format for a post, so other sites can show a mention of them properly: title, date, content, address and author.
Search engines
Paste the verification codes from Google Search Console and Bing Webmaster Tools here. In each, choose the HTML tag method and copy just the code from its content="…". The tags go on your home page.
What search engines and link previews are given
You don’t have to do anything for these. Every build writes them.
- A description for each post: the one you wrote in Details, or its opening lines.
- Link preview tags, so a link to a post unfurls properly in messages and social apps. The picture is the post’s thumbnail or first photo, then a share card if you use them, then your banner.
- A canonical link on every post and page, a
sitemap.xmllisting them, and arobots.txtthat tells search engines where the sitemap is. - The page’s language, from Site Settings → Site → Language & Dates.
The link preview tags, the canonical links, the sitemap and robots.txt all depend on Site URL being set, and right.
Comments, analytics and newsletters
Selfish builds none of these, on purpose. Each needs a server or a script, and your site has neither. Reply by email and Subscribe by email are the static alternatives. For visitor numbers, your host’s own server-side statistics count readers without putting anything on your pages.