Skip to content

seo: shorten 3 long titles + document keep-decisions for the rest#521

Merged
amavashev merged 2 commits intomainfrom
seo/title-length-fixes
May 1, 2026
Merged

seo: shorten 3 long titles + document keep-decisions for the rest#521
amavashev merged 2 commits intomainfrom
seo/title-length-fixes

Conversation

@amavashev
Copy link
Copy Markdown
Contributor

Acts on the recurring SEO title-length finding (7 posts >90 chars), but selectively — shortening 3 where the long form was genuinely sloppy, keeping 4 where the length serves SEO/AI-search ranking even though it trips a flat 60-char scan.

Shortened (3)

Post Old <title> length New What changed
Governance Framework (NIST/EU AI Act/ISO 42001/OWASP) 134 54 (frontmatter) / 63 (with — Cycles template) Front-loaded keyword anchors only. H1 kept long for in-page context.
Governance Dashboard 86 50 (frontmatter) / 61 (with template) Title now keyword-direct. H1 left as rhetorical hook.
Quickstart: First Rollout 92 48 (no template suffix because title contains "Cycles") "How to Choose a..." → "Your First..."

Kept long (4) — see .outreach/seo-title-decisions.md

  • State of AI Agent Incidents 2026 (100): colon-subhead pattern; truncation cuts only the subtitle, leaving "The State of AI Agent Incidents (2026)" as a complete hook.
  • MCP Tool Poisoning 84% Success Rate (97): the "84%" hook IS the SEO anchor; truncated form still reads complete.
  • Multi-Agent Systems Fail 87% (97): same — the "87%" claim is the search hook.
  • AI Agent Risk Assessment (98): reclassified — actually shortened in this pass.

Why this isn't "fix all 7"

A flat ≤60-char ceiling is 2018 SEO advice. Modern guidance:

  • Front-load primary keywords in the first 60 chars (so even truncated, visible portion reads coherent)
  • Long titles can rank better in AI Overview / Perplexity / ChatGPT-search citations because those don't truncate — they parse
  • The 4 kept-long titles all front-load keywords AND have post-truncation content that adds material context

Mechanically shortening would strip keyword anchors (e.g., NIST, EU AI Act, ISO 42001, OWASP from the governance framework title) that drive long-tail ranking on regulatory-search queries.

Decisions log

.outreach/seo-title-decisions.md is new — documents the rule applied + per-post rationale + when to re-evaluate. Goal: next SEO scan doesn't re-flag the 4 intentional decisions, and there's an audit trail if/when ranking data justifies revisiting.

Also calls out what the SEO scan should actually measure (description length, H1 vs <title> divergence, og:title) — currently flat-title-length-only is half a review.

Test plan

  • npm run build passes — verified
  • Built <title> lengths verified locally: 63 / 61 / 48 chars rendered
  • H1s for shortened posts retain in-page descriptive context
  • No frontmatter / body link breakage (slugs unchanged)
  • .outreach/seo-title-decisions.md excluded from build (verified — .outreach/** is in srcExclude)

amavashev added 2 commits May 1, 2026 07:05
Recurring SEO scan flagged 7 posts with title> 90 chars. Audited
each individually; shortening 3 produced real CTR gains, the other
4 are intentionally long (truncation cuts subtitle / hook still
reads complete / framework anchors needed for long-tail ranking).

SHORTENED (3)

  blog/ai-agent-governance-framework-nist-eu-ai-act-iso-42001-owasp-...
    title:  134 -> 54 chars frontmatter (63 with ' — Cycles' template)
    H1 kept long ('AI Agent Governance: Mapping NIST, EU AI Act,
      ISO 42001, and OWASP to Runtime Enforcement') for in-page
      context. The 63-char total is intentional: dropping any of the
      four framework names (NIST / EU AI Act / ISO 42001 / OWASP)
      loses a real search term.

  blog/ai-agent-governance-admin-dashboard-monitor-control-budgets-risk
    title: 86 -> 50 chars frontmatter (61 with template)
    H1 left alone — the rhetorical hook ('Your AI Agents Are Running
    in Production. Who's Watching the Limits?') is the engagement
    angle and works in the body even if it would be too long for
    a SERP title.

  quickstart/how-to-choose-a-first-cycles-rollout-...-guardrails
    title: 92 -> 48 chars frontmatter (no template suffix because
    title contains 'Cycles', per the existing transformPageData
    de-dup logic)
    H1 kept as the original verbose form for first-time-reader
    clarity in the docs context.

KEPT LONG (4) — documented in .outreach/seo-title-decisions.md

  blog/state-of-ai-agent-incidents-2026 (100): colon-subhead pattern;
    truncation cuts only the subtitle.
  blog/mcp-tool-poisoning-... (97): the '84% success rate' hook is
    the SEO anchor; truncated form still reads complete.
  blog/why-multi-agent-systems-fail-87-percent-... (97): same logic;
    the 87% claim is the search hook.
  blog/ai-agent-risk-assessment-... (98): SHORTENED in this pass
    (was on the keep list initially; reclassified after the audit).

DECISIONS LOG

  .outreach/seo-title-decisions.md documents the 'when to keep long'
  rule + per-post rationale so the next SEO scan run does not
  re-flag intentional decisions. Includes guidance on when to
  re-evaluate (Search Console CTR drop, ranking slide to page 2)
  and what a complete SEO title scan should measure (description
  length, H1 vs <title> divergence, og:title — none of which the
  current scan reports).
added codex skills
@amavashev amavashev enabled auto-merge May 1, 2026 11:08
@amavashev amavashev merged commit 4663679 into main May 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant