Skip to content

Commit 24a5377

Browse files
bholmesdevoz-agent
andcommitted
feat(www): SEO & AEO audit — add sitemap, robots.txt, structured data, improved meta
- Add site URL (https://simple-stack.dev) to astro.config.mjs - Install and configure @astrojs/sitemap integration - Add robots.txt with sitemap reference - Add OG and Twitter Card meta tags via Starlight head config - Add JSON-LD SoftwareApplication structured data to homepage - Improve homepage title to be keyword-rich and descriptive - Improve meta descriptions on all pages (120-160 chars) - Replace generic 'Documentation' link text with package-specific anchor text - Add aria-label to stream demo video for accessibility Co-Authored-By: Oz <oz-agent@warp.dev>
1 parent 70cb101 commit 24a5377

File tree

10 files changed

+58
-17
lines changed

10 files changed

+58
-17
lines changed

www/astro.config.mjs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
1+
import sitemap from "@astrojs/sitemap";
12
import starlight from "@astrojs/starlight";
23
import { defineConfig } from "astro/config";
34

45
export default defineConfig({
6+
site: "https://simple-stack.dev",
57
integrations: [
8+
sitemap(),
69
starlight({
710
title: "Simple Stack 🌱",
11+
head: [
12+
{
13+
tag: "meta",
14+
attrs: { property: "og:type", content: "website" },
15+
},
16+
{
17+
tag: "meta",
18+
attrs: { name: "twitter:card", content: "summary" },
19+
},
20+
],
821
social: [
922
{
1023
icon: "github",

www/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
},
1818
"dependencies": {
1919
"@astrojs/check": "^0.9.6",
20+
"@astrojs/sitemap": "^3.7.0",
2021
"@astrojs/starlight": "^0.37.1",
2122
"@fontsource/atkinson-hyperlegible": "^5.0.18",
2223
"astro": "^5.16.6",

www/public/robots.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://simple-stack.dev/sitemap-index.xml

www/src/content/docs/form/client.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Add client validation
3-
description: Add client validation to your forms
2+
title: Add client validation
3+
description: Add accessible client-side form validation using the Simple Form CLI. Generates framework components with the "reward early, punish late" UX pattern for inline error messaging.
44
sidebar:
55
order: 3
66
---

www/src/content/docs/form/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Simple form
3-
description: The simple way to validate forms in your fullstack app.
3+
description: Simple Form is a fullstack form validation library for Astro and other frameworks. Define schemas with Zod, auto-generate HTML input props, and parse submissions with type safety.
44
sidebar:
55
label: Get started
66
order: 1

www/src/content/docs/form/parse.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Parse form requests
3-
description: Validate forms server-side
2+
title: Parse form requests
3+
description: Validate and parse form submissions server-side using Simple Form. Use the validateForm() helper or Astro.locals.form API with Zod schemas for type-safe form handling.
44
sidebar:
55
order: 2
66
---

www/src/content/docs/index.mdx

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,58 @@
11
---
2-
title: Simple stack 🌱
3-
description: A suite of tools built for Astro to simplify your workflow.
2+
title: Simple Stack – Lightweight Tools for Modern Web Development
3+
description: Simple Stack is a collection of lightweight, focused tools for modern web development. Includes a reactive store with selectors, scoped IDs via a Vite plugin, and a DOM query library for Astro components.
44
tableOfContents: false
55
head:
66
- tag: title
7-
content: Simple stack 🌱
7+
content: Simple Stack – Lightweight Tools for Modern Web Development
8+
- tag: script
9+
attrs:
10+
type: application/ld+json
11+
content: |
12+
{
13+
"@context": "https://schema.org",
14+
"@type": "SoftwareApplication",
15+
"name": "Simple Stack",
16+
"url": "https://simple-stack.dev",
17+
"applicationCategory": "DeveloperApplication",
18+
"description": "A collection of lightweight, focused tools for modern web development including a reactive store, scoped IDs, and DOM query utilities.",
19+
"author": {
20+
"@type": "Person",
21+
"name": "Ben Holmes",
22+
"url": "https://bholmes.dev"
23+
},
24+
"offers": {
25+
"@type": "Offer",
26+
"price": "0",
27+
"priceCurrency": "USD"
28+
},
29+
"sameAs": [
30+
"https://github.com/bholmesdev/simple-stack"
31+
]
32+
}
833
---
934

10-
A collection of tools I've built to **make web development simpler.**
11-
12-
To be honest, there isn't a "story" connecting these packages together (I'm no TanStack). But they follow a common theme: solve a simple use case without too many features.
35+
Simple Stack is a collection of lightweight, focused JavaScript tools that each solve a single use case without unnecessary complexity. Built by [Ben Holmes](https://bholmes.dev).
1336

1437
import { CardGrid, Card, LinkCard } from '@astrojs/starlight/components';
1538

1639
<CardGrid>
1740
<Card href="/store" title="Simple Store" icon="document">
1841
A reactive store that combines the simplicity of signals with the power of "selectors" you'd find in Zustand.
1942

20-
<LinkCard href="/store" title="Documentation" />
43+
<LinkCard href="/store" title="Get started with Simple Store" />
2144
</Card>
2245

2346
<Card href="/scope" title="Simple Scope" icon="magnifier">
2447
A vite plugin that generates scoped IDs for any file you're in. Perfect for form label IDs and query selectors.
2548

26-
<LinkCard href="/scope" title="Documentation" />
49+
<LinkCard href="/scope" title="Get started with Simple Scope" />
2750
</Card>
2851

2952
<Card href="/query" title="Simple Query" icon="puzzle">
3053
A simple way to add JS scripts to Astro components.
3154

32-
<LinkCard href="/query" title="Documentation" />
55+
<LinkCard href="/query" title="Get started with Simple Query" />
3356
</Card>
3457

3558
</CardGrid>

www/src/content/docs/query.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: 💰 Simple Query
3-
description: A simple library to query the DOM from your Astro components.
3+
description: Simple Query is a lightweight DOM querying library for Astro components. Scope element selectors with data-target attributes and manage client-side state with signals.
44
---
55

66
import { Tabs, TabItem, LinkCard } from '@astrojs/starlight/components';

www/src/content/docs/scope.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: 🔎 Simple scope
3-
description: Get a scoped ID for whatever file you're in. Resolved at build-time with zero client JS.
3+
description: Simple Scope is a Vite plugin that generates deterministic scoped IDs at build time with zero client JavaScript. Ideal for form labels, query selectors, and preventing hydration mismatches.
44
---
55

66
import { LinkCard } from '@astrojs/starlight/components';

www/src/content/docs/stream.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ description: Suspend Astro components with fallback content. Like React Server C
99

1010
Suspend Astro components with fallback content. Like React Server Components, but Just HTML ™️
1111

12-
<video controls width="100%" style="aspect-ratio:1.65/1" src="/assets/simple-stream-intro.mov"></video>
12+
<video controls width="100%" style="aspect-ratio:1.65/1" src="/assets/simple-stream-intro.mov" aria-label="Demo of Simple Stream showing Suspense-style component loading with fallback content in Astro"></video>
1313

1414
```astro
1515
---

0 commit comments

Comments
 (0)