SEO content research: model articles for the Step-1 batch

Date: 2026-07-02. Companion to docs/dev/2026-07-02_seo_growth_plan.md Step 1 and docs/dev/seo_plan.md §1. Web research with every source cited inline. trip2g feature claims verified against README.md (status column) and docs/en/user/ on 2026-07-02.

TL;DR

Three best models overall:

  1. Unmarkdown — "Obsidian Publish Alternatives" — the best vendor-written comparison found. ~2,100 words, 15-row feature matrix where competitors win rows, vendor introduced late as "a different kind of alternative", explicit "it doesn't have graph view" admission. The honesty is the conversion mechanism.
  2. Particula Tech — "Agent Memory Frameworks Tested: Mem0 vs Zep vs Letta" — the best neutral comparison. Benchmark numbers (LongMemEval 63.8% vs 49.0%), named tradeoffs per tool, and a "Pick X when:" verdict per section instead of "best overall". This is the shape for trip2g-vs-mem0-vs-memgpt.md.
  3. Mem0 — "Add Persistent Memory to Claude Code (5-Minute Setup)" — the best vendor tutorial. Friction-first intro, prerequisites block, three installation paths (easiest first), verification step, 8-question FAQ. This is the shape for claude-code-persistent-memory.md.

The one reusable pattern: every winning piece leads with the searcher's pain, gives the answer/verdict before the detail, uses a scannable table where the author's own tool visibly loses some rows, and closes each option with "best for / pick when". Honest tables are not a handicap — in every dissected example they are the ranking and conversion engine.


Reusable template A — "X vs Y / X alternative" comparison page

Distilled from Unmarkdown, Particula, Docmost, MCPBundles, ssp.sh.

  1. Title = exact-match query + freshness ("Obsidian Publish alternatives (self-hosted, 2026)"). Visible "Updated" date.
  2. Intro (2–4 sentences), pain-first then answer-first. Name the cost/limit that sent the reader here ("$8–10/month and no custom templates"), then state the verdict up front: "Quartz is the best free static option; trip2g is the option if you need a live server with paywalls and MCP."
  3. Quick-verdict block right after the intro: a 3–5 line "best for" list (best free / best zero-setup / best self-hosted live). This is the featured-snippet bait.
  4. Feature matrix: rows = 10–15 decision criteria (price, hosting model, setup effort, two-way sync, custom templates, paywalls, MCP/agent access, search, graph view, RSS, Telegram, data ownership), columns = tools. trip2g must visibly lose rows (graph view, free static hosting, community size). Unmarkdown's trick: own a column dimension nobody else addresses (for us: "agents can query it over MCP" and "paywalled sections").
  5. Per-alternative sections, one consistent shape each (50–150 words): what it does well → the tradeoff → best for. Link the competitor's own docs/pricing page (credibility + accurate claims).
  6. The trip2g section as a reframe, not a row-by-row brag — "a different kind of alternative: a live server, not a static build" — and open with what it doesn't do ("no graph view; you run a server"). Late placement (after 2–3 alternatives) reads as editorial, not ad; Docmost's first-slot placement works too but reads saltier.
  7. "When to choose what" decision framework: one "Pick X when: …" line per tool, including competitors (Particula pattern).
  8. FAQ, 4–8 questions in natural long-tail phrasing ("Can I self-host Obsidian Publish?", "Is Quartz really free?"). Maps 1:1 to FAQPage JSON-LD once the engine emits it.
  9. CTA: soft and layered — docs quickstart wikilink, GitHub repo, free cloud instance. No hard sell; the tutorial momentum converts (Mem0 pattern).
  10. Internal links: wikilinks to two-way-sync, mcp, monetization, templates, selfhosted, and to the sibling comparison pages (topical cluster). ~1,500–2,500 words.

Reusable template B — "how to …" tutorial page

Distilled from Mem0, Bryan Hogan, Juhis/hamatti, dev.to self-hosted mem0, Jacob Kaplan-Moss.

  1. Title with a true time/effort promise ("… in 10 minutes") — only if it's actually true.
  2. Intro = one concrete friction scene ("every session you re-explain the project"; "two hours lost re-debugging") then answer-first: what the reader will have at the end, in one sentence.
  3. Options-overview table before committing to one method (Bryan Hogan's move): method / complexity / cost / who it's for. Include competitors honestly — the page then ranks for the head query, not just our tool, and the reader self-selects.
  4. Prerequisites block (3–5 items, each a link or command).
  5. Numbered steps, easiest path first, with alternate paths (Docker vs binary vs cloud) as subsections — multiple entry points cut bounce (Mem0). Code blocks scoped and copy-paste ready, never walls.
  6. A verification step after each major stage ("run /mcp and you should see…") — prevents silent failure, and "it worked" moments are what get linked.
  7. Friction admitted in its own subsection (Jacob Kaplan-Moss admits Hugo needs "knitting together"; hamatti complains about Quartz's client-side JS). Admissions are the E-E-A-T signal that separates a tutorial from marketing.
  8. What's next (2–3 wikilinks deeper into docs) + short FAQ + soft CTA. ~800 words for a narrow task, up to ~2,500 for a full setup guide.

Per-target research

Lane A — Obsidian publishing

1. obsidian-publish-alternative.md — "obsidian publish alternative", "obsidian publish self-hosted"

Models.

Why they rank. Exact-match long-tail title, pain-first intro ("Publish is great but expensive"), freshness signals, and either a feature matrix (Unmarkdown) or a live-demo effect (ssp.sh).

Searcher intent. Obsidian user paying or about to pay $8–10/mo, wants cheaper/self-hosted/more control. Bottom-of-funnel, tool-shopping.

trip2g lead-with (all shipped). Self-hosted, MIT, $0 license; two-way sync so the vault stays local and edits flow both ways; custom Jet templates (Publish has CSS snippets only); paywalls/monetization; Telegram publishing; MCP endpoint on the same notes; multi-domain.

Where Obsidian Publish legitimately wins. Zero setup, official and maintained by the Obsidian team, polished graph view, no server to run or update, predictable hosting. Say so plainly: "if you never want to think about a server, pay the $8 and stop reading."

2. trip2g-vs-quartz.md — "quartz alternative", "obsidian digital garden self-hosted"

Models.

Why they rank. First-person experience with real friction (hamatti), topical authority + freshness (ssp.sh), domain authority + benefit-hook headline (XDA).

Searcher intent. Knows Quartz, either evaluating it or hitting its walls (rebuild loop, git-per-edit, JS weight, no dynamic anything).

trip2g lead-with. No build step: edit in Obsidian → live in ~a second via two-way sync (vs edit → build → commit → deploy); dynamic features a static site can't have — paywalls, forms, subscriptions, RSS per base, live editing; MCP so agents query the same garden; per-domain routing.

Where Quartz legitimately wins. Completely free hosting (GitHub Pages), no server to operate or secure, huge community and theme/plugin velocity, graph view, static-site speed and simplicity. Honest close: "static + free beats a server if your garden is read-only."

3. trip2g-vs-hugo.md — "publish obsidian vault hugo"

Models.

Why they rank. Author authority (jacobian), exact-match workflow query, real code and admitted tradeoffs.

Searcher intent. Technical user mid-struggle: wants Obsidian authoring + a website, is fighting wikilinks/frontmatter/deploy glue.

trip2g lead-with. The whole conversion pipeline disappears: wikilinks are native (Goldmark), frontmatter is the routing/config, sync replaces the export-convert-commit-deploy loop; git still available (vault served over git Smart HTTP at /_system/git), so scripted workflows survive.

Where Hugo legitimately wins. Enormous theme ecosystem, total control of output HTML, free static hosting, battle-tested at scale, no server. If the reader enjoys the build pipeline, Hugo is the more flexible machine.

4. trip2g-vs-notion-sites.md — "notion sites alternative self-hosted"

Models.

Why they rank. selfh.st = topical authority + audience trust; docmost = clean scannable structure + high-intent keyword; openalternative = programmatic scale.

Searcher intent. Notion user who liked one-click "Sites" publishing but wants out of per-seat pricing/lock-in, or needs self-hosting for compliance.

trip2g lead-with. Your content is markdown files you can git clone out at any moment (vs Notion export lossiness); self-hosted, no per-seat price; Obsidian as the editor; forms cover the "collect input" use Notion Sites is often chosen for; multi-domain.

Where Notion legitimately wins. WYSIWYG editing for non-technical teammates, databases/boards as first-class objects, zero infrastructure, real-time collaboration. If the team won't touch markdown, Notion is the right call — say it.

5. trip2g-vs-gitbook.md — "gitbook open source alternative"

Models.

Searcher intent. Team docs shopper: outgrew GitBook free tier or wants self-hosting.

trip2g lead-with. MIT self-hosted, one Go binary on SQLite (no Postgres/Redis stack to run — contrast even with other self-hosted wikis); authors write in Obsidian, not a web editor; custom Jet templates for branded docs; MCP means the docs are directly queryable by the team's AI agents — a row no GitBook alternative fills; git access to the whole base.

Where GitBook legitimately wins. Polished hosted UX, change-request/review workflow, API-docs tooling (OpenAPI), enterprise SSO tiers, zero ops. For a large team wanting managed docs with review gates, GitBook earns its price.

6. publish-obsidian-vault-as-website.md — head how-to: "how to publish an obsidian vault as a website"

Models.

Why they rank. Bryan Hogan covers all methods for a query where every other page covers one; the options table matches "which way should I do this" intent exactly.

trip2g angle. Write it as an honest survey (Publish → Quartz → Hugo/Astro → trip2g), each with complexity/cost/best-for, then a full walkthrough of the trip2g path (install → connect vault → sync → live site) with a verification step. Favorable framing = trip2g is the only "live server" row (two-way sync, paywalls, MCP, forms); honest framing = it's also the only row that requires running a server (or the free cloud instance).

7. digital-garden-self-hosted.md — "digital garden self-hosted", "obsidian digital garden"

Models.

Searcher intent. Concept-first, then tool-shopping; higher-funnel than the pages above.

trip2g lead-with. Gardens are tended continuously — two-way sync makes editing be publishing; monetization lets a garden have paid beds (unique among garden tools); RSS + Telegram give the garden distribution; agents can tend it over MCP.

Where competitors legitimately win. Static generators + GitHub Pages = $0 and zero ops (the default recommendation in every model article); Obsidian Publish = fastest no-code path. Position trip2g for the gardener who wants the garden to do things.

Lane B — MCP / agent memory

8. mcp-memory-server.md hub — "MCP server memory", "persistent memory MCP server", "self-hosted agent memory"

Models.

Why they rank. Thin competition (per seo_plan.md §1), exact-match titles, scannable capsule-per-server format.

trip2g lead-with. The memory is human-readable markdown notes — auditable, editable in Obsidian, versioned (note_versions + git mirror); token-efficient retrieval (search → expand → read_section; the 15–37× benchmark on token-economy-bench.md); SQLite single binary, no vector-DB stack; the same memory is a browsable website; federation fans a memory query across hubs.

Where competitors legitimately win. Purpose-built memory servers (ai-memory, agentmemory, OMEGA, Engram per the roundups) do automatic capture/scoring/promotion with zero authoring discipline; Mem0 cloud is zero-setup. trip2g memory is deliberate notes, not automatic conversation capture — say that; it's also the feature for users who want to read their agent's memory.

9. claude-code-persistent-memory.md — "Claude Code memory MCP", "claude code persistent memory"

Models.

Searcher intent. Claude Code user tired of re-explaining the project every session. One of the top community questions (per seo_plan.md).

trip2g lead-with. One MCP URL (/_system/mcp) — no local process per machine; memory shared across machines/teammates (subscription-scoped); memcli/quickstart; memory you can open in Obsidian and edit; token-economy numbers as the differentiator stat (the dev.to model shows cost disclosure is a feature).

Where competitors legitimately win. Anthropic's official memory MCP is free, local, zero-account; Mem0 auto-extracts facts without the agent being told to write notes; MemPalace stores conversations verbatim. If the user wants fully-local single-machine memory, the official server is simpler — recommend it for that case.

10. obsidian-mcp-server.md — "Obsidian MCP server"

Models.

Searcher intent. Obsidian user wanting Claude/agents to read (and write) the vault.

trip2g lead-with. The existing servers all require the laptop on and Obsidian (or a local process) running; trip2g is the hosted variant — vault synced to a hub, agents query it from anywhere, access scoped by subscription/ACL, plus hybrid full-text + semantic search and version history. Also the honest "4th way" framing: extend Awesome Claude's 3-way survey with the server-hosted option.

Where competitors legitimately win. Fully local (nothing leaves the machine), no server to run, 2-minute setup, direct file access. For a single user on one machine, a local MCP server is genuinely simpler — recommend it for that case and link it.

11. trip2g-vs-mem0-vs-memgpt.md — agent-memory comparison shoppers

Models.

Searcher intent. Developer choosing memory infrastructure; comparison-shopping with benchmarks.

trip2g lead-with. A fourth architecture: "memory as a markdown knowledge base" — human-readable/editable, git-versioned, served to humans as a website and to agents over MCP; no extraction pipeline or vector DB to operate; token-economy benchmark as our quantifiable stat (the genre runs on numbers — LongMemEval cites are what make Particula's piece memorable).

Where competitors legitimately win. Mem0: automatic fact extraction, huge community (~47k stars), managed cloud. Letta/MemGPT: agent self-managed memory hierarchy, research pedigree. Zep: temporal reasoning / point-in-time correctness (Graphiti, 63.8% LongMemEval). trip2g doesn't auto-extract from conversations and has no LongMemEval score — state both; our "pick trip2g when" line: you want memory you can read, edit in Obsidian, and publish.


Per-target summary table

Target keyword Best model URL(s) Why it ranks trip2g honest-favorable angle
obsidian publish alternative unmarkdown.com · ssp.sh matrix + reframe + admitted gaps; freshness + live-garden dogfooding lead: self-hosted, Jet templates, paywalls, two-way sync, $0 · concede: Publish = zero setup, official, graph view
quartz alternative / vs quartz hamatti.org · ssp.sh quartz · XDA first-person friction; topical authority; DA + benefit hook lead: no build loop, live sync, paywalls/forms, MCP · concede: Quartz = free hosting, no server, big community, graph view
publish obsidian vault hugo jacobian.org · sagar.se author authority + candid pain catalog lead: deletes the convert/deploy pipeline, native wikilinks, git endpoint kept · concede: Hugo = themes, full HTML control, free static
notion sites alternative self-hosted selfh.st · docmost authority hub; clean per-tool capsule shape lead: markdown you own + git out, no per-seat, Obsidian editor, forms · concede: Notion = WYSIWYG, databases, zero infra, realtime collab
gitbook open source alternative docmost · apidog primacy-slot vendor listicle; keyword coverage lead: one binary + SQLite, Obsidian authoring, MCP-queryable docs, MIT · concede: GitBook = review workflow, OpenAPI tooling, managed hosting
how to publish an obsidian vault as a website bryanhogan.com · help.obsidian.md · dev.to GH Pages covers ALL methods + upfront options table survey all methods honestly; trip2g = the "live server" row (sync, paywalls, MCP) vs the only row needing a server
digital garden self-hosted nesslabs.com · maggieappleton.com · flowershow tutorial concept ownership; skill-segmented paths lead: editing = publishing (sync), monetized garden, RSS/Telegram, agents tend it · concede: static + Pages = $0 and simpler
MCP server memory / persistent memory MCP chatforest · atlan · pulsemcp thin competition; exact-match roundups + directories lead: memory = readable markdown, versioned, 15–37× token bench, SQLite-only, doubles as website · concede: purpose-built servers auto-capture with zero discipline
claude code persistent memory mem0 blog · dev.to self-hosted mem0 · mempalace friction intro, tiered paths, verification, FAQ; modifier density lead: one MCP URL, cross-machine/team memory, editable in Obsidian · concede: official memory MCP simpler for single-machine local; Mem0 auto-extracts
obsidian mcp server mcpbundles · awesomeclaude · MarkusPfundstein repo competitor matrix + FAQ; neutral 3-way survey frame as "the 4th way": server-hosted vault, ACL-scoped, hybrid search, works with laptop off · concede: local servers = fully private, simpler for one machine
mem0 vs memgpt (agent memory comparison) particula.tech · tokenmix · rohitraj (adds self to title) benchmarks + "pick when" verdicts + named weaknesses join the title ("… vs trip2g"); 4th architecture: memory-as-markdown-KB, token bench as our number · concede: Mem0 auto-extraction/community, Zep temporal, Letta self-managed memory

Credibility guardrails

  1. Competitors must win visible rows. Every dissected high performer (Unmarkdown, Particula, jacobian, hamatti) earns trust by conceding; the one that hides it (Docmost) reads as advertorial even while ranking. Concessions are listed per target above — keep them in the shipped pages.
  2. Only shipped features. README status column is the source of truth: fleet/agentruntime is branch, not main — it may appear as an outlook sentence, never as a comparison-table row. Same for read replicas.
  3. Cite competitor claims from their own docs/pricing pages (e.g. help.obsidian.md, Quartz repo, Mem0 docs) — never from our paraphrase. Numbers dated ("as of 2026-07").
  4. "Pick X when" for every tool including ours — recommendation-by-constraint, not "best overall".
  5. Our numbers must be reproducible: lead with the token-economy benchmark only with the script link; no invented benchmark scores against LongMemEval-measured tools.
  6. Freshness discipline: visible updated-date, and a quarterly re-check that competitor prices/features still hold (stale claims are the fastest credibility leak in this genre).
  7. House rules: bilingual EN/RU pairs, description: frontmatter, answer-first lead, wikilinks into existing docs (two-way-sync, mcp, monetization, templates, token-economy-bench).

All sources

Comparison/alternative models: unmarkdown.com/blog/obsidian-publish-alternatives · ssp.sh/brain/open-source-obsidian-publish-alternatives · ssp.sh/brain/quartz-publish-obsidian-vault · forum.obsidian.md/t/obsidian-publish-alternatives/22886 · docmost.com/blog/gitbook-alternatives · docmost.com/blog/open-source-notion-alternatives · apidog.com/blog/gitbook-alternatives · alternativeto.net (gitbook, open source) · selfh.st/alternatives/notion · openalternative.co/alternatives/notion · xda-developers.com/flowershow-is-fantastic-free-alternative-obsidian-publish

How-to models: bryanhogan.com/blog/obsidian-website · jacobian.org/til/hugo-obsidian · notes.hamatti.org (obsidian + quartz) · xda-developers.com/turned-obsidian-vault-into-website · help.obsidian.md/publish/setup · dev.to (GH Pages) · sagar.se (hugo) · github.com/devidw/obsidian-to-hugo · nesslabs.com/digital-garden-set-up · maggieappleton.com/nontechnical-gardening · flowershow.app self-hosted tutorial

MCP/memory models: mem0.ai/blog/claude-code-memory · dev.to (self-hosted mem0 MCP) · mempalace.tech/blog/add-memory-to-claude-code · mcpbundles.com/blog/obsidian-mcp-vault-ai · awesomeclaude.ai/how-to/use-obsidian-with-claude · github.com/MarkusPfundstein/mcp-obsidian · particula.tech (memory frameworks tested) · tokenmix.ai (mem0 vs letta vs memgpt) · dev.to (agdex practical guide) · rohitraj.tech (adds MemPalace to title) · atlan.com (memory frameworks ranked) · chatforest.com (best memory MCP servers) · pulsemcp.com (memory servers) · mem0.ai/openmemory