Skip to content

seo(docs): keyword-rich title, description, OG/Twitter meta, canonical - #38

Merged
ajianaz merged 1 commit into
developfrom
seo/docs-metadata
Oct 5, 2026
Merged

ajianaz merged 1 commit into
developfrom
seo/docs-metadata

Conversation

@ajianaz

@ajianaz ajianaz commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

What

  • docs/.vitepress/config.ts: site title Covecto (7 chars) → Covecto: Image to SVG Vectorizer CLI | CodeCora (49 chars, keyword-first); description rewritten to intent-matched form ("converts images to SVG with a dual-engine vectorizer CLI...")
  • docs/index.md frontmatter head: og:url, og:title, og:description, twitter:card/title/description, rel=canonical — root docs page only; subpages inherit <Page> | <site title> via the theme's titleTemplate
  • Deliberately NOT via createConfig({ head: ... }): the pinned @codecora/theme drops opts.head (never merged into its hardcoded head array) — commented in config; theme fix tracked separately

Why

Live docs (codecora.dev/covecto/docs) carry a bare 7-char title, no canonical, no OG/Twitter tags, so the page ranks but presents poorly and can't consolidate <covecto>/docs/ variants. The July production build never received September's meta additions, and the ones it did receive were silently dropped by the theme anyway.

How

  • Canonical uses Google's indexed form: no trailing slash (/covecto/docs) — matches the sitemap entry added in web-landing PR #69
  • YAML gotcha handled: frontmatter values containing : are quoted (unquoted breaks VitePress frontmatter parsing — caught and fixed during local build)
  • Validation: vitepress build clean; dist/index.html grep-verified for title, canonical, og:url/og:title/og:description, twitter:*; cora review passed pre-commit
  • Deploy path (after merge): fast-forward main to develop → deploy-website.yml (triggers on push to main, paths docs/**) builds & wrangler-deploys to the covecto Pages project

- config.ts: site title 'Covecto' (7 chars) -> 'Covecto: Image to SVG
  Vectorizer CLI | CodeCora' (49 chars, keyword-first); description
  rewritten intent-matched (colon values quoted - bare YAML values with
  ': ' break VitePress frontmatter parsing)
- index.md frontmatter head: og:url, og:title, og:description,
  twitter:card/title/description, rel=canonical (exact indexed form,
  no trailing slash) - root page only, pages derive from titleTemplate
- Do NOT pass head via createConfig(): @codecora/theme drops opts.head
  (never merged); theme fix tracked separately
- Live site still serves the 2026-07-23 main build; this branch goes to
  develop first, fast-forward-merge to main to trigger deploy-website.yml

Validated: vitepress build clean; dist/index.html carries title, canonical,
og:url, og:title, og:description, twitter:*; subpages get
'<Page> | <site title>' via titleTemplate.
@ajianaz
ajianaz merged commit eb93a7b into develop Oct 5, 2026
7 checks passed
@ajianaz
ajianaz deleted the seo/docs-metadata branch October 5, 2026 03:44
ajianaz added a commit that referenced this pull request Oct 5, 2026
Merge develop into main — docs SEO meta refresh (PR #38)
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