~/Mozart docs

SEO Optimizer (2026-06-15)

Jun 15, 2026

tl;dr: We auto-fixed broken links and updated

fixed automatically this run

flagged for your approval

These rewrite prose, so I left them for you. One click applies all of them (reversible, I snapshot every post first):

  • cannibalization — /blog/ai-workflows-vs-autonomous-agents-for-agencies, /blog/workflows-vs-roles, /blog/the-autonomous-business-trap compete for "ai workflows vs agents for agencies". Keep /blog/workflows-vs-roles canonical; re-angle /blog/ai-workflows-vs-autonomous-agents-for-agencies, /blog/the-autonomous-business-trap to a distinct sub-intent and link them to the canonical. Keep workflows-vs-roles as the canonical install argument. Refocus ai-workflows-vs-autonomous-agents on the client-trust scaling angle and the-autonomous-business-trap on the revenue-per-employee co-pilot case so each owns a distinct sub-query.
  • cannibalization — /blog/3-real-ai-agent-examples-to-protect-agency-revenue-per-employee, /blog/the-autonomous-business-trap compete for "agency revenue per employee with ai". Keep /blog/3-real-ai-agent-examples-to-protect-agency-revenue-per-employee canonical; re-angle /blog/the-autonomous-business-trap to a distinct sub-intent and link them to the canonical. Make the 3-examples post the primary revenue-per-employee target. Reframe the-autonomous-business-trap around the autonomy fallacy and co-pilots, and link it up to the hub.
  • cannibalization — /blog/ai-proposal-workflow, /blog/how-agency-founders-build-a-pre-call-prep-workflow-to-reclaim-discovery-prep-tim compete for "reclaim pre-sales prep hours with ai". Keep /blog/ai-proposal-workflow canonical; re-angle /blog/how-agency-founders-build-a-pre-call-prep-workflow-to-reclaim-discovery-prep-tim to a distinct sub-intent and link them to the canonical. Let ai-proposal-workflow own proposal/pitch hours. Narrow the pre-call-prep post strictly to discovery-call prep so the two stop competing on the same reclaim-hours query.

or tap the approve link in the Telegram message. Applies 3 item(s).

needs a repo change (I can't touch these from the worker)

  • site page / (fix in site/index.html): meta description 227 chars (want 110-165)
  • site page /tos (fix in site/tos/index.html): meta description 109 chars (want 110-165)
  • site page /privacy (fix in site/privacy/index.html): meta description 109 chars (want 110-165)
  • slug: /blog/3-real-ai-agent-examples-to-protect-agency-revenue-per-employee is long (63 chars). Needs a shorter slug + a 301 redirect (site/_redirects).
  • slug: /blog/multi-agent-orchestration-how-agencies-ship-client-work-without-the-coordination is long (80 chars). Needs a shorter slug + a 301 redirect (site/_redirects).
  • slug: /blog/how-agency-founders-build-a-pre-call-prep-workflow-to-reclaim-discovery-prep-tim is long (80 chars, looks truncated). Needs a shorter slug + a 301 redirect (site/_redirects).
  • static post: /blog/60-ways-ai-chief-of-staff/ is a repo file (site/blog/), not D1, so the optimizer cannot edit it. Add internal links to newer posts in its pillar + confirm canonical/schema by hand.
  • static post: /blog/ai-use-cases/ is a repo file (site/blog/), not D1, so the optimizer cannot edit it. Add internal links to newer posts in its pillar + confirm canonical/schema by hand.
  • static post: /blog/ai-sdr-vs-human-sdr/ is a repo file (site/blog/), not D1, so the optimizer cannot edit it. Add internal links to newer posts in its pillar + confirm canonical/schema by hand.
  • static post: /blog/claude-code-vs-claude-desktop/ is a repo file (site/blog/), not D1, so the optimizer cannot edit it. Add internal links to newer posts in its pillar + confirm canonical/schema by hand.
  • static post: /blog/solo-operator-two-terminals/ is a repo file (site/blog/), not D1, so the optimizer cannot edit it. Add internal links to newer posts in its pillar + confirm canonical/schema by hand.

hub-and-spoke map

AI workflows vs agents vs roles: how to install AI without breaking client work
hub: Stop automating roles. Install AI workflows instead
spokes: ai-workflows-vs-autonomous-agents-for-agencies, the-autonomous-business-trap, agentic-ai-trends, 60-ways-ai-chief-of-staff, ai-use-cases, claude-code-vs-claude-desktop, solo-operator-two-terminals

Agency structure and the coordination tax: shipping client work with fewer hands
hub: Multi-Agent Orchestration: How Agencies Ship Client Work Without the Coordination Tax
spokes: future-b2b-agency-structure, ai-coordination-tax

Revenue per employee: measuring and protecting agency economics with AI
hub: 3 real ai agent examples to protect agency revenue per employee
spokes: measure-ai-roi-for-your-agency-ignore-the-dashboard-theater, ai-sdr-vs-human-sdr

Reclaiming pre-sales hours: proposal and discovery prep workflows
hub: Reclaim 4 unbillable hours per pitch with AI
spokes: how-agency-founders-build-a-pre-call-prep-workflow-to-reclaim-discovery-prep-tim

site SEO audit (whole site)

  • ℹ️ sitemap: sitemap.xml lists 22 URLs (5 site pages + 17 posts).
  • ℹ️ canonical: D1 posts use slashless /blog/<slug>; static posts use /blog/<slug>/. Confirm each canonical matches its own URL form.
  • ℹ️ images: 12 blog image(s) checked, all loading.
  • ℹ️ core-web-vitals: Core Web Vitals (LCP/CLS/INP) not measured in v1 — wire the PageSpeed Insights API to capture them.
  • 🟡 page: /: 1 issue(s).
  • ℹ️ page: /roadmap: clean.
  • ℹ️ page: /install: clean.
  • 🟡 page: /tos: 1 issue(s).
  • 🟡 page: /privacy: 1 issue(s).