diff --git a/www/astro.config.mjs b/www/astro.config.mjs
index 0d7e4c1..b2d1946 100644
--- a/www/astro.config.mjs
+++ b/www/astro.config.mjs
@@ -2,9 +2,25 @@ import starlight from "@astrojs/starlight";
import { defineConfig } from "astro/config";
export default defineConfig({
+ site: "https://simple-stack.dev",
integrations: [
starlight({
title: "Simple Stack 🌱",
+ head: [
+ {
+ tag: "script",
+ attrs: { type: "application/ld+json" },
+ content: JSON.stringify({
+ "@context": "https://schema.org",
+ "@type": "Organization",
+ name: "Simple Stack",
+ url: "https://simple-stack.dev",
+ sameAs: [
+ "https://github.com/bholmesdev/simple-stack",
+ ],
+ }),
+ },
+ ],
social: [
{
icon: "github",
diff --git a/www/public/robots.txt b/www/public/robots.txt
new file mode 100644
index 0000000..9496de7
--- /dev/null
+++ b/www/public/robots.txt
@@ -0,0 +1,6 @@
+User-agent: *
+Allow: /
+
+Disallow: /api/
+
+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..e46c010 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: Client-Side Form Validation with Simple Form
+description: "Add client-side validation to your Astro forms using the reward-early, punish-late pattern. Generate validated form components with the simple-form CLI."
sidebar:
order: 3
---
diff --git a/www/src/content/docs/form/index.mdx b/www/src/content/docs/form/index.mdx
index 3e1654e..b3f7568 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 - Fullstack Form Validation (Deprecated)
+description: "Validate forms server-side and client-side with Zod schemas in Astro. Auto-generates input props and handles parsing. No longer maintained."
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..4e46bee 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: Server-Side Form Parsing with Simple Form
+description: "Parse and validate form requests server-side using Zod schemas. Use validateForm() for any framework or Astro.locals.form for Astro frontmatter."
sidebar:
order: 2
---
diff --git a/www/src/content/docs/index.mdx b/www/src/content/docs/index.mdx
index 1e6d15c..eac6dcd 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 Tools for Astro & Vite
+description: "Simple Stack is a collection of lightweight libraries for Astro and Vite: reactive stores with selectors, scoped IDs, and DOM querying for components."
tableOfContents: false
-head:
- - tag: title
- content: Simple stack 🌱
---
A collection of tools I've built to **make web development simpler.**
@@ -17,19 +14,19 @@ import { CardGrid, Card, LinkCard } from '@astrojs/starlight/components';
A reactive store that combines the simplicity of signals with the power of "selectors" you'd find in Zustand.
-
+
A vite plugin that generates scoped IDs for any file you're in. Perfect for form label IDs and query selectors.
-
+
A simple way to add JS scripts to Astro components.
-
+
diff --git a/www/src/content/docs/query.mdx b/www/src/content/docs/query.mdx
index 5549582..cfb83d8 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.
+title: Simple Query - DOM Querying for Astro Components
+description: "Query the DOM from Astro components with scoped selectors, signal-based state, and automatic cleanup for view transitions."
---
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..28dc0b4 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 - Build-Time Scoped IDs for Vite
+description: "A Vite plugin that generates unique scoped IDs per file at build time with zero client JS. Works with Astro, Nuxt, SvelteKit, and any Vite framework."
---
import { LinkCard } from '@astrojs/starlight/components';
diff --git a/www/src/content/docs/store.mdx b/www/src/content/docs/store.mdx
index cda86d1..832aa7e 100644
--- a/www/src/content/docs/store.mdx
+++ b/www/src/content/docs/store.mdx
@@ -1,8 +1,8 @@
---
-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 - Reactive State with Selectors
+description: "A lightweight reactive store for React and Astro. Combine signal-like simplicity with Zustand-style selectors, sub-stores, and middleware support."
sidebar:
- label: Get started
+ label: "💾 Get started"
order: 1
---
diff --git a/www/src/content/docs/stream.md b/www/src/content/docs/stream.md
index 5c734fb..6577e15 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 - Suspense for Astro (Deprecated)
+description: "Suspend Astro components with fallback content and out-of-order streaming. Like React Server Components, but Just HTML. No longer maintained."
---
:::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
---