diff --git a/www/astro.config.mjs b/www/astro.config.mjs
index 0d7e4c1..89d9379 100644
--- a/www/astro.config.mjs
+++ b/www/astro.config.mjs
@@ -2,9 +2,10 @@ import starlight from "@astrojs/starlight";
import { defineConfig } from "astro/config";
export default defineConfig({
+ site: "https://simple-stack.dev",
integrations: [
starlight({
- title: "Simple Stack 🌱",
+ title: "Simple Stack",
social: [
{
icon: "github",
@@ -13,6 +14,29 @@ export default defineConfig({
},
{ icon: "discord", label: "Discord", href: "https://wtw.dev/chat" },
],
+ head: [
+ {
+ tag: "script",
+ attrs: { type: "application/ld+json" },
+ content: JSON.stringify({
+ "@context": "https://schema.org",
+ "@type": "WebSite",
+ name: "Simple Stack",
+ url: "https://simple-stack.dev",
+ description:
+ "Lightweight developer tools for Astro including reactive stores, scoped IDs, and DOM query utilities.",
+ author: {
+ "@type": "Person",
+ name: "Ben Holmes",
+ url: "https://bholmes.dev",
+ sameAs: [
+ "https://github.com/bholmesdev",
+ "https://twitter.com/babormeister",
+ ],
+ },
+ }),
+ },
+ ],
sidebar: [
{
label: "💾 Store",
diff --git a/www/public/robots.txt b/www/public/robots.txt
new file mode 100644
index 0000000..3214756
--- /dev/null
+++ b/www/public/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+
+Sitemap: https://simple-stack.dev/sitemap-index.xml
diff --git a/www/src/content/docs/form/client.md b/www/src/content/docs/form/client.md
index 884c722..7965d22 100644
--- a/www/src/content/docs/form/client.md
+++ b/www/src/content/docs/form/client.md
@@ -1,6 +1,6 @@
---
-title: Add client validation
-description: Add client validation to your forms
+title: Add Client Validation
+description: "Generate client-validated form components with the simple-form CLI. Uses the reward-early, punish-late UX pattern for accessible inline validation."
sidebar:
order: 3
---
diff --git a/www/src/content/docs/form/index.mdx b/www/src/content/docs/form/index.mdx
index 3e1654e..f1fc809 100644
--- a/www/src/content/docs/form/index.mdx
+++ b/www/src/content/docs/form/index.mdx
@@ -1,6 +1,6 @@
---
-title: Simple form
-description: The simple way to validate forms in your fullstack app.
+title: Simple Form
+description: "Validate forms in Astro with Zod schemas. Auto-generates input props, handles server-side parsing, and supports client validation. (Deprecated)"
sidebar:
label: Get started
order: 1
diff --git a/www/src/content/docs/form/parse.md b/www/src/content/docs/form/parse.md
index 35116f9..da1d777 100644
--- a/www/src/content/docs/form/parse.md
+++ b/www/src/content/docs/form/parse.md
@@ -1,6 +1,6 @@
---
-title: Parse form requests
-description: Validate forms server-side
+title: Parse Form Requests
+description: "Server-side form validation helpers for Astro. Parse and validate FormData with Zod using getData(), getDataByName(), and validateForm()."
sidebar:
order: 2
---
diff --git a/www/src/content/docs/index.mdx b/www/src/content/docs/index.mdx
index 1e6d15c..69cd99e 100644
--- a/www/src/content/docs/index.mdx
+++ b/www/src/content/docs/index.mdx
@@ -1,10 +1,7 @@
---
-title: Simple stack 🌱
-description: A suite of tools built for Astro to simplify your workflow.
+title: Simple Stack — Lightweight Developer Tools for Astro
+description: A collection of lightweight Astro tools including reactive stores, build-time scoped IDs, and DOM query utilities. Zero-config, minimal JS.
tableOfContents: false
-head:
- - tag: title
- content: Simple stack 🌱
---
A collection of tools I've built to **make web development simpler.**
diff --git a/www/src/content/docs/query.mdx b/www/src/content/docs/query.mdx
index 5549582..8c715a5 100644
--- a/www/src/content/docs/query.mdx
+++ b/www/src/content/docs/query.mdx
@@ -1,6 +1,6 @@
---
title: 💰 Simple Query
-description: A simple library to query the DOM from your Astro components.
+description: Query DOM elements from Astro components with scoped data-target selectors. Supports signals, server data passing, and view transition cleanup.
---
import { Tabs, TabItem, LinkCard } from '@astrojs/starlight/components';
diff --git a/www/src/content/docs/scope.mdx b/www/src/content/docs/scope.mdx
index 93740de..f883cbe 100644
--- a/www/src/content/docs/scope.mdx
+++ b/www/src/content/docs/scope.mdx
@@ -1,6 +1,6 @@
---
-title: 🔎 Simple scope
-description: Get a scoped ID for whatever file you're in. Resolved at build-time with zero client JS.
+title: 🔎 Simple Scope
+description: Vite plugin that generates deterministic scoped IDs at build time with zero client JS. Ideal for form labels, query selectors, and SSR hydration.
---
import { LinkCard } from '@astrojs/starlight/components';
diff --git a/www/src/content/docs/store.mdx b/www/src/content/docs/store.mdx
index cda86d1..e53457e 100644
--- a/www/src/content/docs/store.mdx
+++ b/www/src/content/docs/store.mdx
@@ -1,6 +1,6 @@
---
-title: 💾 Simple store
-description: A reactive store that combines the simplicity of signals with the power of "selectors" you'd find in Zustand or Redux.
+title: 💾 Simple Store
+description: A lightweight reactive store for JavaScript and React. Combines signal-like simplicity with Zustand-style selectors. Works with Vite and Next.js.
sidebar:
label: Get started
order: 1
diff --git a/www/src/content/docs/stream.md b/www/src/content/docs/stream.md
index 5c734fb..640421c 100644
--- a/www/src/content/docs/stream.md
+++ b/www/src/content/docs/stream.md
@@ -1,6 +1,6 @@
---
-title: Simple stream 🌊
-description: Suspend Astro components with fallback content. Like React Server Components, but Just HTML ™️
+title: Simple Stream 🌊
+description: "Suspend Astro components with fallback content and out-of-order streaming. Like React Server Components, but Just HTML. (Deprecated)"
---
:::caution
@@ -9,7 +9,9 @@ description: Suspend Astro components with fallback content. Like React Server C
Suspend Astro components with fallback content. Like React Server Components, but Just HTML ™️
-
+
```astro
---