Skip to content

Commit 60299ac

Browse files
bholmesdevoz-agent
andcommitted
feat(www): SEO & AEO audit improvements
- Add site URL to astro.config.mjs (enables canonical URLs, sitemaps, OG tags) - Create robots.txt with sitemap reference - Improve homepage title, description, and body copy for AEO answer-first pattern - Add JSON-LD SoftwareSourceCode structured data to homepage - Add Open Graph and Twitter Card meta tags to homepage - Enhance meta descriptions on store, scope, and query pages with OG tags - Add noindex to deprecated pages (stream, form/*) Co-Authored-By: Oz <oz-agent@warp.dev>
1 parent 70cb101 commit 60299ac

10 files changed

Lines changed: 98 additions & 14 deletions

File tree

www/astro.config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import starlight from "@astrojs/starlight";
22
import { defineConfig } from "astro/config";
33

44
export default defineConfig({
5+
site: "https://simple-stack.dev",
56
integrations: [
67
starlight({
78
title: "Simple Stack 🌱",

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: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
---
2-
title: Add client validation
2+
title: Add client validation
33
description: Add client validation to your forms
44
sidebar:
55
order: 3
6+
head:
7+
- tag: meta
8+
attrs:
9+
name: robots
10+
content: noindex, follow
611
---
712

813
:::caution

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
---
22
title: Simple form
3-
description: The simple way to validate forms in your fullstack app.
3+
description: The simple way to validate forms in your fullstack app.
44
sidebar:
55
label: Get started
66
order: 1
7+
head:
8+
- tag: meta
9+
attrs:
10+
name: robots
11+
content: noindex, follow
712
---
813

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

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
---
2-
title: Parse form requests
2+
title: Parse form requests
33
description: Validate forms server-side
44
sidebar:
55
order: 2
6+
head:
7+
- tag: meta
8+
attrs:
9+
name: robots
10+
content: noindex, follow
611
---
712

813
:::caution

www/src/content/docs/index.mdx

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,47 @@
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 Astro & Vite
3+
description: Simple Stack is a collection of lightweight JavaScript libraries for Astro and Vite, including a reactive store, scoped IDs, and DOM query utilities.
44
tableOfContents: false
55
head:
66
- tag: title
7-
content: Simple stack 🌱
7+
content: Simple Stack – Lightweight Tools for Astro & Vite
8+
- tag: meta
9+
attrs:
10+
property: og:title
11+
content: Simple Stack – Lightweight Tools for Astro & Vite
12+
- tag: meta
13+
attrs:
14+
property: og:description
15+
content: Simple Stack is a collection of lightweight JavaScript libraries for Astro and Vite, including a reactive store, scoped IDs, and DOM query utilities.
16+
- tag: meta
17+
attrs:
18+
property: og:type
19+
content: website
20+
- tag: meta
21+
attrs:
22+
property: og:url
23+
content: https://simple-stack.dev
24+
- tag: meta
25+
attrs:
26+
name: twitter:card
27+
content: summary
28+
- tag: meta
29+
attrs:
30+
name: twitter:title
31+
content: Simple Stack – Lightweight Tools for Astro & Vite
32+
- tag: meta
33+
attrs:
34+
name: twitter:description
35+
content: Lightweight JavaScript libraries for Astro and Vite – reactive store, scoped IDs, and DOM query utilities.
36+
- tag: script
37+
attrs:
38+
type: application/ld+json
39+
content: '{"@context":"https://schema.org","@type":"SoftwareSourceCode","name":"Simple Stack","description":"A collection of lightweight JavaScript libraries for Astro and Vite, including a reactive store, scoped IDs, and DOM query utilities.","url":"https://simple-stack.dev","codeRepository":"https://github.com/bholmesdev/simple-stack","programmingLanguage":["TypeScript","JavaScript"],"author":{"@type":"Person","name":"Ben Holmes","url":"https://bholmes.dev"}}'
840
---
941

10-
A collection of tools I've built to **make web development simpler.**
42+
Simple Stack is a collection of lightweight JavaScript libraries built for Astro and Vite that solve common use cases without unnecessary complexity. Each package follows a common theme: do one thing well with minimal API surface.
1143

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.
44+
Below you'll find a reactive store with selector support, a build-time scoped ID generator, and a DOM query utility for Astro components.
1345

1446
import { CardGrid, Card, LinkCard } from '@astrojs/starlight/components';
1547

www/src/content/docs/query.mdx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
---
2-
title: 💰 Simple Query
3-
description: A simple library to query the DOM from your Astro components.
2+
title: 💰 Simple Query – DOM Query Utility for Astro Components
3+
description: "Simple Query is a lightweight DOM query library for Astro that provides scoped element selection, signal-based state management, and automatic cleanup for view transitions."
4+
head:
5+
- tag: meta
6+
attrs:
7+
property: og:title
8+
content: Simple Query – DOM Query Utility for Astro Components
9+
- tag: meta
10+
attrs:
11+
property: og:description
12+
content: Lightweight DOM query library for Astro with scoped selectors, signal-based state, and view transition cleanup.
413
---
514

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

www/src/content/docs/scope.mdx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
---
2-
title: 🔎 Simple scope
3-
description: Get a scoped ID for whatever file you're in. Resolved at build-time with zero client JS.
2+
title: 🔎 Simple Scope – Build-Time Scoped IDs for Vite
3+
description: "Simple Scope is a Vite plugin that generates scoped IDs at build time with zero client JavaScript. Works with Astro, Nuxt, SvelteKit, and any Vite-based framework."
4+
head:
5+
- tag: meta
6+
attrs:
7+
property: og:title
8+
content: Simple Scope – Build-Time Scoped IDs for Vite
9+
- tag: meta
10+
attrs:
11+
property: og:description
12+
content: Vite plugin that generates scoped IDs at build time with zero client JS. Works with Astro, Nuxt, and SvelteKit.
413
---
514

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

www/src/content/docs/store.mdx

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
---
2-
title: 💾 Simple store
3-
description: A reactive store that combines the simplicity of signals with the power of "selectors" you'd find in Zustand or Redux.
2+
title: 💾 Simple Store – Reactive State Management for React
3+
description: "Simple Store is a lightweight reactive store for React that combines signal-like simplicity with Zustand-style selectors. Supports nested sub-stores, middleware, and Next.js SSR."
44
sidebar:
55
label: Get started
66
order: 1
7+
head:
8+
- tag: meta
9+
attrs:
10+
property: og:title
11+
content: Simple Store – Reactive State Management for React
12+
- tag: meta
13+
attrs:
14+
property: og:description
15+
content: Lightweight reactive store for React with signal-like API, nested selectors, middleware support, and Next.js compatibility.
716
---
817

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

www/src/content/docs/stream.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
---
22
title: Simple stream 🌊
33
description: Suspend Astro components with fallback content. Like React Server Components, but Just HTML ™️
4+
head:
5+
- tag: meta
6+
attrs:
7+
name: robots
8+
content: noindex, follow
49
---
510

611
:::caution

0 commit comments

Comments
 (0)