Skip to content

feat(seo): canonical tags, sitemap, robots, per-page OG images - #11

Open
ggonzalez94 wants to merge 4 commits into
mainfrom
near-puppy
Open

feat(seo): canonical tags, sitemap, robots, per-page OG images#11
ggonzalez94 wants to merge 4 commits into
mainfrom
near-puppy

Conversation

@ggonzalez94

@ggonzalez94 ggonzalez94 commented Apr 13, 2026

Copy link
Copy Markdown
Member

Summary

Run an SEO audit using this skill and applied the recommended fixes

Adds the foundational SEO surface the docs site was missing:

- Per-page <link rel="canonical">, og:url, og:site_name, og:locale, and
  twitter:site injected via Vocs's native head({ path }) hook.
- Dynamic per-page OG images via Vocs's hosted API (ogImageUrl, object
  form — the string form short-circuits in useOgImageUrl on v1.4.1).
- baseUrl wired to the existing siteUrl chain so Vocs emits <base> and
  resolves %logo for OG image rendering.
- iconUrl set so <link rel="icon"> ships in <head>.
- sitemap.xml + robots.txt generated by extending the existing post-build
  walker in scripts/substitute-site-url.mjs. Previews emit Disallow: /
  and every page gets noindex so Vercel preview URLs never compete with
  production in search.
- Homepage H1/title rewritten so titleTemplate no longer produces the
  broken "Taiko - Taiko" tag, and 13 short meta descriptions rewritten
  from 40–80 characters to 140–160 with primary keywords.

Renames vocs.config.ts -> vocs.config.tsx because head({ path }) uses
JSX. Updates the lone tsconfig.json + site-url.mjs references.

Verified locally on both prod (VERCEL_ENV=production) and preview builds:
canonical + og:image + robots + sitemap all emit correctly per environment.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@davidtaikocha
davidtaikocha requested a review from RogerLamTd July 23, 2026 02:51
@RogerLamTd
RogerLamTd requested a review from davidtaikocha July 29, 2026 21:46
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

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.

2 participants