Skip to content

Commit 038ea7e

Browse files
bholmesdevoz-agent
andcommitted
feat(www): SEO/AEO audit β€” add site URL, robots.txt, structured data, and improved meta
- Add site: 'https://simple-stack.dev' to astro.config.mjs (enables canonical URLs and sitemap generation) - Add WebSite JSON-LD structured data with publisher info via Starlight head config - Add meta robots tag (index, follow) to all pages - Create public/robots.txt with sitemap reference - Improve homepage title and description for keyword targeting - Improve Store, Scope, Query page descriptions for AEO (answer-first, self-contained summaries for AI citation) Co-Authored-By: Oz <oz-agent@warp.dev>
1 parent 70cb101 commit 038ea7e

6 files changed

Lines changed: 45 additions & 10 deletions

File tree

β€Žwww/astro.config.mjsβ€Ž

Lines changed: 31 additions & 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 🌱",
@@ -13,6 +14,36 @@ export default defineConfig({
1314
},
1415
{ icon: "discord", label: "Discord", href: "https://wtw.dev/chat" },
1516
],
17+
head: [
18+
{
19+
tag: "script",
20+
attrs: { type: "application/ld+json" },
21+
content: JSON.stringify({
22+
"@context": "https://schema.org",
23+
"@type": "WebSite",
24+
name: "Simple Stack",
25+
url: "https://simple-stack.dev",
26+
description:
27+
"A collection of lightweight, focused tools for Astro and modern web development. Includes Simple Store, Simple Scope, and Simple Query.",
28+
publisher: {
29+
"@type": "Person",
30+
name: "Ben Holmes",
31+
url: "https://bholmes.dev",
32+
sameAs: [
33+
"https://github.com/bholmesdev",
34+
"https://wtw.dev",
35+
],
36+
},
37+
}),
38+
},
39+
{
40+
tag: "meta",
41+
attrs: {
42+
name: "robots",
43+
content: "index, follow",
44+
},
45+
},
46+
],
1647
sidebar: [
1748
{
1849
label: "πŸ’Ύ Store",

β€Ž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/index.mdxβ€Ž

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
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 & Web Development
3+
description: "Simple Stack is a collection of lightweight, zero-dependency tools for Astro and modern web development: Simple Store (reactive state), Simple Scope (scoped IDs), and Simple Query (DOM querying)."
44
tableOfContents: false
55
head:
66
- tag: title
7-
content: Simple stack 🌱
7+
content: Simple Stack – Lightweight Tools for Astro & Web Development
88
---
99

10-
A collection of tools I've built to **make web development simpler.**
10+
Simple Stack is a collection of lightweight, focused tools for Astro and modern web development. Each package solves a single use case with minimal API surface and zero unnecessary features.
1111

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.
12+
Includes **Simple Store** for reactive state management, **Simple Scope** for build-time scoped IDs, and **Simple Query** for DOM querying in Astro components.
1313

1414
import { CardGrid, Card, LinkCard } from '@astrojs/starlight/components';
1515

β€Ž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. It provides scoped element selection via data-target attributes, signal-based reactivity, and automatic cleanup for view transitions β€” no framework required."
44
---
55

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

β€Žwww/src/content/docs/scope.mdxβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
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
3+
description: "Simple Scope is a Vite plugin that generates deterministic, file-scoped IDs at build time with zero client-side JavaScript. Use it for form label IDs, query selectors, and hydration-safe component references in Astro, React, Vue, and SvelteKit."
44
---
55

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

β€Žwww/src/content/docs/store.mdxβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
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
3+
description: "Simple Store is a lightweight reactive state management library for React and Astro. It combines the simplicity of signals with selector-based updates like Zustand, with full support for nested state, middleware, and Next.js SSR."
44
sidebar:
55
label: Get started
66
order: 1

0 commit comments

Comments
Β (0)