⏱️ Lectura: 11 min
On June 10, 2026, Malaysian blogger Elizabeth Tai published an essay with a direct message for thousands of writers: stop treating Substack as if it were their own website. Her argument repeats a lesson the internet teaches every decade: if you only publish on someone else’s platform, you’re a tenant, not an owner.
📑 En este artículo
- TL;DR
- What happened
- Context and history
- Technical architecture: what POSSE is
- How to set up an own website with POSSE
- Impact and analysis
- What’s next
- Frequently Asked Questions
- What does the acronym POSSE mean?
- Do I have to stop using Substack if I adopt POSSE?
- Which static site generator is best to start with?
- How do I keep duplicate content between my site and Substack from hurting SEO?
- Does this strategy work for people who write in Spanish for a Latin American audience?
- How much does it cost to maintain a domain and your own site versus just using Substack?
- References
For a developer who writes about code, the distinction isn’t philosophical: it determines whether your content survives a policy change, an algorithm redesign, or a company shutdown. Tai has been defending the IndieWeb model since 2012, and this time she applies it directly to the Substack craze.
TL;DR
- Elizabeth Tai published an essay on June 10, 2026 asking Substack writers to reclaim their own website.
- POSSE (Publish Own Site, Syndicate Elsewhere) proposes publishing first on your own domain and syndicating afterward to Substack or Mastodon.
- Tai cites Rachel, of Conscious Living, who linked her own domain to Substack instead of using xx.substack.com.
- A profile on xx.substack.com remains under the platform’s full control, with no own domain in between.
- The essay is on elizabethtai.com; Tai has defended IndieWeb since 2012, after abandoning a domain with high traffic.
- For devs, the technical alternative is a static site generator (Hugo, Astro, Eleventy) with an RSS feed.
- Tai points out that centralized algorithms favor English-language narratives, an extra problem for Latin American audiences.
What happened
Tai published her essay “Substack writers, you need a website!” responding to an objection she says she hears all the time: “But I already have a website on Substack.” Her answer is blunt: Substack is a distribution tool to amplify a site, not a digital home of your own.
The author identifies a pattern she’s been observing in recent years: writers who abandon their own site and turn Substack into their base of operations. When this happens on a subdomain like yourname.substack.com, all the content ends up under the platform’s full control, with no own domain backing the author.
Not everything in her analysis is negative. Tai cites the case of Rachel, author of the Conscious Living newsletter, who bought her own domain and linked it to Substack. In that scenario, Substack functions more like a CMS (content management system) than as owner of the content, though with real limits: limited SEO management and little page customization compared to a traditional CMS.
Context and history
The essay describes a cycle that repeats every few years: first came social networks like Facebook, then blogging networks like Tumblr, then Medium, and now Substack. Every platform promises the same thing: instant audience, built-in monetization, a comfortable interface, and a community that pushes your content. The temptation to hand over the keys and let the platform handle everything is real, especially for someone who just wants to write.
Tai admits she gave in to that temptation in the past: she stopped blogging entirely for years and ended up abandoning her own domain that had high traffic. She came back in 2012 and never left again. That personal experience underlies her defense of the IndieWeb movement, which promotes each person controlling their own content from their own domain instead of depending on a centralized portal.
Twitter’s decline, Reddit’s policy changes, and the constant shifts of algorithm-ranked networks are, for Tai, proof that no “digital paradise” is permanent. When years of a writer’s work depend entirely on a decision made in a boardroom, there’s no way to protect it from the outside.
Technical architecture: what POSSE is
The alternative Tai proposes has a name and an acronym: POSSE, standing for Publish (on your) Own Site, Syndicate Elsewhere. The concept comes from the IndieWeb movement and reverses the usual publishing order: instead of writing directly on Substack, Medium, or X, the content is born on your own domain and from there gets distributed to the rest of the platforms.
Technically, a POSSE workflow relies on three pieces: an own domain as the source of truth, an RSS or Atom feed that exposes every new entry, and a mechanism (manual or automated) that reads that feed and publishes on each destination platform with a link back to the original.
flowchart TD
A["Own site (domain + SSG)"] --> B["RSS/Atom feed"]
B --> C["POSSE script"]
C --> D["Substack"]
C --> E["Mastodon"]
C --> F["X / Twitter"]
D --> G["Reader clicks"]
E --> G
F --> G
G --> A
| Option | When to use it | Advantage | Limitation |
|---|---|---|---|
| Substack without own domain (xx.substack.com) | You’re just testing whether you have an audience to write for | Zero technical friction, you’re publishing in minutes | All content and audience depend on company decisions |
| Substack with a linked own domain | You already have readers on Substack but want legal ownership of the domain | Works like a CMS: you keep the domain if you migrate platforms | SEO and page customization remain limited by the Substack editor |
| Own site (SSG) + POSSE to Substack and social networks | You already write regularly and want to control the full archive | The domain, the HTML, and the historical archive are 100% yours | Requires maintaining an RSS feed and, optionally, a syndication script |
How to set up an own website with POSSE
The first step is choosing a static site generator (SSG). Hugo, Astro, and Eleventy are the most used among developers for their build speed and because they generate an RSS feed automatically. Installing Hugo takes one command on each operating system:
# Windows (winget)
winget install --id Hugo.Hugo.Extended -e
# macOS (Homebrew)
brew install hugo
# Linux (Debian/Ubuntu)
sudo apt install hugo
# Linux (Snap, any distro)
sudo snap install hugo
With Hugo installed, creating a new site and starting the local server takes four lines:
hugo new site myblog-dev
cd myblog-dev
hugo new content posts/my-first-post.md
hugo server -D
That last command starts the site at http://localhost:1313 with the draft post visible, and Hugo automatically publishes a feed at /index.xml that serves as the source for syndication.
💡 Tip: if you already have your own domain linked to Substack, as in Rachel’s case, you’re halfway there: you just need to move the source of truth from Substack to your own site and use the newsletter as a syndication channel.
The next step is automating syndication: a script that reads the own site’s RSS feed and publishes new entries on each network. A realistic example against the Mastodon API:
import Parser from "rss-parser";
import { createRestAPIClient } from "masto";
const parser = new Parser();
const feed = await parser.parseURL("https://myblog.dev/index.xml");
const mastodon = createRestAPIClient({
url: "https://mastodon.social",
accessToken: process.env.MASTODON_TOKEN,
});
const lastSync = new Date(process.env.LAST_SYNC);
for (const item of feed.items) {
const postDate = new Date(item.isoDate);
if (postDate > lastSync) {
await mastodon.v1.statuses.create({
status: `${item.title}\n\n${item.link}`,
});
}
}
The script compares each feed entry’s date against the last saved sync and publishes to Mastodon only what’s new, with the canonical link pointing back to the own site. The same logic works for any platform with a publishing API.
⚠️ Watch out: automating syndication without checking each platform’s format can cut text off mid-sentence or duplicate broken images. Test the script first against a secondary account before pointing it at your main channel.
To confirm the feed and the canonical tag are configured correctly, two commands are enough:
curl -sI https://myblog.dev/index.xml | grep -i content-type
curl -s https://myblog.dev/posts/my-first-post/ | grep 'rel="canonical"'
The first command confirms the feed responds with content-type: application/rss+xml; the second confirms each post publishes its own rel="canonical" pointing to the own domain, so search engines identify the original source even when the same text also circulates on Substack or Mastodon.
Impact and analysis
For developers and technical creators who write in Spanish, Tai’s argument carries extra weight. The author notes in her essay that centralized platform algorithms tend to favor dominant English-language narratives, which makes it harder for voices publishing outside that axis to gain visibility. For someone writing about programming or AI in Spanish for a Latin American audience, that disadvantage adds to the challenge of competing for attention in a language that already receives less algorithmic traffic.
An own domain, indexed directly by search engines and not subject to a centralized feed’s curation, doesn’t depend on that algorithmic priority. The cost of maintaining one is low: a domain runs between 10 and 15 dollars a year, and hosting a static site on services like Netlify, Vercel, or GitHub Pages is usually free for personal use. The real cost isn’t monetary, it’s the time spent setting up the feed and, if automated, the syndication script.
The honest trade-off is that POSSE adds one more piece to maintain: if the syndication script fails silently, the own site stays updated but the networks stop receiving new content without anyone noticing. For writers just starting out, syndicating by hand (copying and pasting the link each time) is a perfectly valid alternative before investing in automation.
What’s next
Tai admits in her essay that her own year-long analysis of using Substack “desperately needs an update” because, in her words, things got worse since she wrote it. That’s a sign the centralized platform ecosystem keeps moving, and that any decision to depend on it entirely can become outdated within months.
On the tooling side, the IndieWeb movement keeps expanding its catalog of utilities: Webmention services to aggregate replies across platforms, Micropub endpoints to publish from external apps to your own site, and syndication plugins for WordPress and static site generators that reduce the friction of building a POSSE workflow from scratch.
📖 Summary on Telegram: See summary
Try it yourself: install Hugo with the command for your operating system and set up your own RSS feed before publishing your next post on Substack.
Frequently Asked Questions
What does the acronym POSSE mean?
Publish (on your) Own Site, Syndicate Elsewhere: publish first on your own site and then syndicate (redistribute) that same content on other platforms like Substack, Mastodon, or X.
Do I have to stop using Substack if I adopt POSSE?
No. POSSE doesn’t ask you to abandon Substack, it asks you to change the order: your own site is the source of truth and Substack becomes just another distribution channel, like a social network.
Which static site generator is best to start with?
Hugo, Astro, and Eleventy are the most used options among developers for their build speed and automatic RSS feed generation. Any of the three is enough to implement POSSE without friction.
How do I keep duplicate content between my site and Substack from hurting SEO?
With a rel="canonical" link on every post that always points to your own domain. When the same text appears on Substack, including a link back to the original at the bottom of the post helps search engines identify the source.
Does this strategy work for people who write in Spanish for a Latin American audience?
Yes, and even more so. Tai points out that centralized platform algorithms favor dominant English-language narratives, which makes it harder for voices writing outside that axis to gain visibility. An own domain doesn’t depend on that algorithmic priority.
How much does it cost to maintain a domain and your own site versus just using Substack?
A domain runs between 10 and 15 dollars a year, and hosting a static site on Netlify, Vercel, or GitHub Pages is usually free for personal use. The real cost is the time spent setting up the feed and, if automated, the syndication script.
References
- Substack writers, you need a website! (Elizabeth Tai): the original essay this article is based on.
- IndieWeb wiki: POSSE: definition and examples of the Publish Own Site, Syndicate Elsewhere method.
- Hugo: official documentation for the static site generator used in the installation examples.
- RSS 2.0 Specification: specification for the feed format used for automatic syndication.
📱 Like this content? Follow @programacion on Telegram for daily tech content in Spanish: quick summaries, fresh content every day. @programacion
Imagen destacada: Foto de National Cancer Institute en Unsplash
0 Comments