Distribution strategy
· Updated
The principle
Your sites are the canonical home for everything you write. Platforms — Substack, LinkedIn, X — are distribution channels. Content lives on your domains first, gets syndicated to platforms second. If a platform disappears or changes terms, nothing is lost.
This isn't anti-platform. Platforms have audiences you can't reach from a standalone site. The point is to use them as megaphones while keeping the microphone yours.
Why platforms matter
A static site with perfect SEO and llms.txt still has a cold start problem. Nobody knows it exists. Platforms solve this because they have built-in audiences and discovery mechanisms:
- Substack has a recommendation algorithm and a network of readers who browse by topic. A new post can surface to people who've never heard of you.
- LinkedIn has your professional network and an algorithm that amplifies posts within industry clusters. A take on strategy or social mobility reaches the exact people who care.
- X/Twitter has real-time reach and viral mechanics. A sharp thread can travel far beyond your follower count.
None of these platforms will index your content for LLMs or give you structured data or let you control your URLs. That's what your sites do. The two layers complement each other.
How it works
1. Write on your site first
Every article, doc page, or log entry starts as a Markdown file on your domain. This is the canonical version — the one with Schema.org JSON-LD, the one in llms.txt, the one Google indexes under your URL.
2. Biweekly newsletter via Substack
One Substack publication (krzys.substack.com) serves as the newsletter layer for the entire portfolio. Instead of cross-posting full articles, the newsletter sends biweekly updates — short digests that summarise what's new across each project and link back to the canonical content on your domains.
Sections
The Substack is organised into sections, one per project. Subscribers choose which topics they care about:
| Section | Project site | What it covers |
|---|---|---|
| Wardley Maps | wardleymaps.com | Guides, community highlights, tool releases |
| AI POV | ai-pov.kda.zone | AI adoption, dependency risks, org strategy |
| Open Source Research | open-source-research.kda.zone | Economics, governance, strategy of open source |
| Agency | agency.kda.zone | Social mobility, mindset, learnable behaviours |
| General | krzys.substack.com | Cross-cutting observations, personal reflections |
This keeps audiences separated — someone who subscribes for Wardley Mapping content doesn't get flooded with AI takes, and vice versa.
What goes in a biweekly update
- Summary of new log entries, docs, or decisions published in the last two weeks
- A sentence or two of context for each — enough to decide whether to click through
- Links back to the canonical pages on your project sites
What stays out:
- Technical setup guides (analytics, deployment)
- Decision records (too internal)
- Full article text — the newsletter is a pointer, not a copy
Canonical URLs
When you do cross-post a full article to Substack (for pieces with broad appeal), set the canonical URL to your domain. This tells Google "the original lives at agency.kda.zone/docs/social-mobility, this is a syndicated copy." Google gives the SEO credit to your domain, not Substack.
Integration with project sites
Every project site links to its Substack section:
- Log index pages show a "Subscribe to biweekly updates" callout at the top
- Footer on each site says "Follow the log or subscribe for biweekly updates" with a subscribe link
- The
subscribefield insites.yamldrives both — one config entry per site
3. Write natively on LinkedIn
LinkedIn's algorithm suppresses posts that are just a link to an external site. It wants people to stay on the platform. If you post a bare URL to your article, LinkedIn shows it to almost nobody.
Instead, write a native post — 3-5 paragraphs that stand on their own as a take, an insight, or a question. Then add "Full article: [link]" at the end. The algorithm treats the text as native content and shows it to your network. People who want depth click through to your site.
Pattern:
- Open with a hook — a counterintuitive claim, a question, a surprising data point
- Give the core insight in 2-3 paragraphs
- End with the link: "I wrote the full analysis here: [URL]"
This works because LinkedIn rewards engagement (comments, reshares), and native text gets more of both than a bare link.
4. Share on X/Twitter
X is best for short, sharp takes. Don't paste the full article — distill it into a thread or a single post with the strongest claim. Link to the full piece for people who want more.
X doesn't suppress external links as aggressively as LinkedIn, but engagement is still higher on posts with native text.
Email capture
Substack handles email capture. Subscribers arrive from two directions:
- From your sites — the subscribe links in footers and log callouts drive visitors to Substack, where they subscribe and choose their sections.
- From Substack itself — Substack's recommendation algorithm and network surface your publication to readers browsing by topic.
Both paths end in the same place: your Substack subscriber list, which you can export as CSV at any time. The relationship is yours regardless of how someone found you.
The canonical URL rule
Every piece of content has exactly one canonical URL, and it's always on your domain. Everywhere else — Substack, LinkedIn, X — is a copy, a summary, or a link back.
This matters for three reasons:
- SEO — Google credits the canonical URL, not the copies. Your domain builds authority.
- LLM indexing — AI models that crawl your site find the structured,
llms.txt-indexed version. Platform copies aren't structured the same way. - Durability — platforms change, shut down, or enshittify. Your domains persist as long as you pay for them.
What this costs
Nothing. Substack is free. LinkedIn is free. X is free. The only investment is time — writing platform-native summaries alongside your canonical content. Budget roughly 15 minutes per article for cross-posting.
When to start
After you have enough analytics data (from GoatCounter) to know which content resonates. Cross-post the pieces that get traction on your sites first — that's signal that the content has legs beyond your existing audience.