Skip to content

docs(www): SEO + AEO audit fixes (sitemap, robots, JSON-LD, noindex deprecated)#94

Draft
bholmesdev wants to merge 1 commit intomainfrom
oz/seo-aeo-audit-www
Draft

docs(www): SEO + AEO audit fixes (sitemap, robots, JSON-LD, noindex deprecated)#94
bholmesdev wants to merge 1 commit intomainfrom
oz/seo-aeo-audit-www

Conversation

@bholmesdev
Copy link
Copy Markdown
Owner

SEO and AEO audit pass on the www/ Starlight site, applying the most impactful fixes from the audit checklist.

What changed

  • Site URL + sitemap. astro.config.mjs now sets site: https://simple-stack.dev and registers @astrojs/sitemap. Astro now emits proper <link rel="canonical"> and sitemap-index.xml / sitemap-0.xml files at build time.
  • public/robots.txt. Allows all crawlers and points at sitemap-index.xml.
  • Site-wide head injection. Starlight head now adds:
    • Organization JSON-LD (helps AEO engines disambiguate the brand)
    • <meta name="twitter:card" content="summary_large_image">
    • <meta property="og:site_name" content="Simple Stack">
    • A default <meta name="robots" content="index, follow, max-image-preview:large">
  • Home page (src/content/docs/index.mdx).
    • Removed the redundant head.title override (Starlight already produces a good <title>).
    • Improved description for SEO snippet quality.
    • Added an answer-first opening paragraph and a FAQPage JSON-LD block answering "What is Simple Stack / Store / Scope / Query / which packages are maintained?" — exactly the kind of content ChatGPT, Perplexity, and Google AI Overviews extract as citations.
  • Deprecated docs noindex. stream.md, form/index.mdx, form/parse.md, and form/client.md now set <meta name="robots" content="noindex, follow"> via frontmatter, and the sitemap filter excludes /stream and /form so search engines aren't pointed at unmaintained pages.

Verification

pnpm build succeeds; the build emits:

  • dist/sitemap-index.xml + dist/sitemap-0.xml containing only /, /store/, /scope/, /query/ (deprecated paths excluded).
  • dist/robots.txt referencing the sitemap index.
  • Each page now has <link rel="canonical">, og:site_name, twitter:card, and an Organization JSON-LD block. The home page additionally includes a valid FAQPage JSON-LD block (5 Q/As).
  • dist/stream/index.html and the form pages emit <meta name="robots" content="noindex, follow">.

Audit items not addressed in this PR

  • A custom social/OG image (the favicon is small and won't render well as summary_large_image). Adding a 1200×630 PNG under public/ plus og:image would be a worthwhile follow-up.
  • Author/Article schema for individual docs pages — these are reference docs by a single author, so it could be added later but isn't a quick win.
  • A short answer-first lead paragraph on the per-package pages (store/scope/query) for AEO; the existing leads are already pretty close. Worth a follow-up review by the maintainer for tone.

Conversation: https://app.warp.dev/conversation/2b41f4aa-fadf-4739-a283-86d7ed4ec930
Run: https://oz.warp.dev/runs/019dd877-811d-770c-99ac-c7227e13a223

This PR was generated with Oz.

- Configure site URL (https://simple-stack.dev) and add @astrojs/sitemap
  so canonical URLs and a sitemap-index.xml are generated at build time.
- Add public/robots.txt that allows all crawlers and references the
  sitemap.
- Inject Organization JSON-LD, default Twitter card, og:site_name, and
  a sensible default robots meta site-wide via Starlight `head`.
- Improve home page metadata: better description, OG title/description,
  and a FAQPage JSON-LD block answering the most common "what is Simple
  Stack / Simple Store / Simple Scope / Simple Query" questions for AEO.
- Mark deprecated docs (Simple Stream and Simple Form) noindex and
  exclude them from the sitemap so search engines don't surface
  unmaintained content.

Co-Authored-By: Oz <oz-agent@warp.dev>
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
simple-stack-docs Ready Ready Preview, Comment Apr 29, 2026 9:17am

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