Blog SEO Optimizer (2026-06-14)
tl;dr: The script automatically deployed two reversible meta tag updates
fixed automatically this run
- /blog/3-real-ai-agent-examples-to-protect-agency-revenue-per-employee: wrote meta description (reversible)
- /blog/multi-agent-orchestration-how-agencies-ship-client-work-without-the-coordination: wrote meta description (reversible)
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 autonomous agents". 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 build-philosophy post. Re-angle ai-workflows-vs-autonomous-agents-for-agencies toward the client-trust decision and the-autonomous-business-trap toward the revenue-per-employee case so they stop competing on the same head term.
- cannibalization — /blog/3-real-ai-agent-examples-to-protect-agency-revenue-per-employee, /blog/the-autonomous-business-trap, /blog/measure-ai-roi-for-your-agency-ignore-the-dashboard-theater compete for "agency revenue per employee with ai". Keep /blog/measure-ai-roi-for-your-agency-ignore-the-dashboard-theater canonical; re-angle /blog/3-real-ai-agent-examples-to-protect-agency-revenue-per-employee, /blog/the-autonomous-business-trap to a distinct sub-intent and link them to the canonical. Let the ROI post own the revenue-per-employee measurement query. Narrow 3-real-ai-agent-examples to a concrete examples post and point the-autonomous-business-trap at the co-pilot vs autonomy framing instead.
- cannibalization — /blog/ai-coordination-tax, /blog/multi-agent-orchestration-how-agencies-ship-client-work-without-the-coordination compete for "agency coordination tax". Keep /blog/ai-coordination-tax canonical; re-angle /blog/multi-agent-orchestration-how-agencies-ship-client-work-without-the-coordination to a distinct sub-intent and link them to the canonical. Make ai-coordination-tax the canonical post defining the problem and have the multi-agent-orchestration post focus on the how-to fix, linking up to it.
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)
- 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
Workflows vs autonomous agents: the build philosophy for agency AI
hub: Stop automating roles. Install AI workflows instead
spokes: the-autonomous-business-trap, ai-workflows-vs-autonomous-agents-for-agencies, multi-agent-orchestration-how-agencies-ship-client-work-without-the-coordination, ai-coordination-tax, future-b2b-agency-structure
Measuring AI ROI and protecting revenue per employee
hub: Measure AI ROI for Your Agency (Ignore the Dashboard Theater)
spokes: 3-real-ai-agent-examples-to-protect-agency-revenue-per-employee, ai-sdr-vs-human-sdr
Practical AI use cases and workflows for agency founders
hub: 60+ ways your AI chief of staff can transform your work
spokes: ai-use-cases, how-agency-founders-build-a-pre-call-prep-workflow-to-reclaim-discovery-prep-tim, claude-code-vs-claude-desktop, solo-operator-two-terminals
site SEO audit
- ℹ️ sitemap: sitemap.xml lists 20 URLs.
- ℹ️ canonical: D1 posts use slashless /blog/<slug>; static posts use /blog/<slug>/. Confirm each canonical matches its own URL form (no cross-form duplicates).
- ℹ️ images: 12 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.