Docsbook
← Back to catalog
analysis

docs-seo

Make your docs rankable — by Google and by AI. A documentation-aware SEO audit covering title and description optimization, heading hierarchy, keyword placement, internal topic clusters, image alt text and GEO / AI Overviews compatibility. Not a general site audit — tuned for doc-specific failure modes.

Install & use this skill

Pick your AI client — install this single skill and call it.

1. Install
npx skills add Docsbook-io/docs-skills --skill docs-seo -a claude-code
2. Use
/docs-seo

Invoke as a slash command in chat.

Or: runtime discovery via Docsbook MCP

Already connected to the Docsbook MCP server? Skip install — ask your agent to load this skill on demand.

@docsbook find_skill "docs-seo"

docs-seo — SEO Analysis for Documentation

Workflow#

  1. Gather the docs — get the list of pages in scope (with titles and frontmatter) and read their content. If a semantic/graph search tool over the markdown is available (self-hosted markdown-lsp, or a connected Docsbook workspace), prefer it — faster and cheaper than scanning files; otherwise read the files directly with grep/find. Prioritize Tier 1 pages (quick-start, pricing, auth, install) first. Skip if docs are private or internal.
  2. Apply checklist — check titles, descriptions, heading structure, body content, images, internal links (topic clusters), URL/file path conventions, and AI Overviews / GEO criteria.
  3. Produce report — return one JSON issue object per finding, sorted by severity. Cross-page checks (duplicate titles, orphan pages) require the full graph.

Guardrails#

Inputs#

This skill needs two things, by whatever means are available:

Acceleration (optional). Graph/semantic search over the docs makes navigation faster and cheaper than scanning files. You can self-host it with markdown-lsp, or get the same capability in the cloud by connecting a Docsbook workspace. With nothing connected, plain file reads and grep/find work fine. If you publish through a platform that exposes SEO settings (e.g. Docsbook PRO), the audit's recommendations can be applied there; otherwise they're plain edits to your markdown frontmatter.

Checklist#

Title (from frontmatter)#

Bad: title: Authentication Good: title: How to authenticate API requests | Docsbook

Description (from frontmatter)#

Bad: description: API keys, auth, tokens, configure Good: description: Authenticate API requests to Docsbook using Bearer tokens. Get your API key from workspace settings in under a minute.

Heading Structure#

Body Content#

Images#

URL / File Path#

AI Overviews / GEO Checklist#

Documentation increasingly appears in AI-generated answers (ChatGPT, Perplexity, Google AI Overviews):

What to Look For#

Severity Problem Detection
critical Missing title in frontmatter Check all pages
critical Duplicate title across pages Compare all titles
critical Multiple H1 in page body Count # lines
high Title > 60 or < 30 characters String length
high Missing description Check frontmatter
high Title is a label, not search intent No verb in title
high Heading level skip (H2 → H4) Parse heading sequence
high Informative image without alt ![]() pattern
high Orphan page — no inbound links Graph analysis
medium Description > 160 characters String length
medium No question-style H2 No ? in any H2
medium No TL;DR / direct answer at top First paragraph analysis
medium No internal links to related pages Link count per page
low Title without brand suffix No `
low File name not kebab-case Pattern match
low No last_reviewed on technical page Missing frontmatter field

Output Format#

{
  "file": "docs/api/authentication.md",
  "line": 2,
  "severity": "high",
  "rule": "title-not-search-intent",
  "found": "title: 'Authentication' — this is a label, not a search intent. Users search 'how to authenticate API requests', not 'Authentication'.",
  "suggestion": "Change to: title: 'How to authenticate API requests | Docsbook' (52 chars, primary keyword near start)"
}
{
  "file": "docs/quick-start.md",
  "line": 3,
  "severity": "high",
  "rule": "description-too-long",
  "found": "description is 212 characters — will be truncated in SERP at 160 characters, losing the CTA.",
  "suggestion": "Shorten to 130-160 characters while keeping the primary keyword and outcome. Example: 'Create a documentation site from your GitHub repo in 30 seconds. No CI/CD, no configuration, no setup.' (112 chars)"
}
{
  "file": "docs/guides/custom-domain.md",
  "line": null,
  "severity": "high",
  "rule": "orphan-page",
  "found": "No other page links to docs/guides/custom-domain.md. It has no link equity and is invisible to most navigation flows.",
  "suggestion": "Add a link from docs/quick-start.md in 'Next steps': '[Set up a custom domain](../guides/custom-domain.md)'. Also add to the PRO features overview page."
}

Acceptance Criteria#

View source on GitHub →Browse full catalog repo →
Keywords
seometatitlesdescriptionskeywordsgeoai-overviews