Prompt zum Erstellen einer statischen Astro-SEO-Seite
Copy-Paste-Prompt zum Erstellen einer voll optimierten statischen Astro-Seite mit Content Collections, Sitemap, OG-Bildern und TypeScript.
CursorClaude CodeCodexWindsurf AstroTypeScriptTailwind
Geben Sie dies Ihrem Agenten, um eine produktionsreife statische Astro-Seite mit Content Collections, Tailwind v4, SEO-Meta, Sitemap und seitenbezogenen OG-Bildern zu erstellen – ohne dass er inkompatible Integrationen erfindet oder kanonische Tags überspringt.
Haupt-Prompt
You are scaffolding a new Astro static site. Use Astro 5, TypeScript strict mode,and Tailwind CSS v4 (via @tailwindcss/vite — NOT the legacy @astrojs/tailwind integration).
Requirements:- Initialize with `bun create astro@latest` defaults, then layer in: - A `src/content/blog/` collection with a Zod schema (title, description, pubDate, tags). - A shared `<BaseLayout>` with `<head>` containing: canonical URL, og:title, og:description, og:image (per-page), twitter:card, and the Astro `<ViewTransitions />` component. - `@astrojs/sitemap` integration configured with `customPages` for any dynamic routes. - A `public/robots.txt` that disallows `/api/` and allows everything else. - A `/blog/[slug].astro` dynamic route that renders MDX blog posts. - A `/tags/[tag].astro` route that filters posts by tag. - Tailwind applied globally via `src/styles/global.css` imported in BaseLayout.- All components must be `.astro` — no React unless explicitly asked.- Export a typed `getStaticPaths` for every dynamic route.- Do NOT install `@astrojs/react`, `next`, or any SSR adapter — this is a static build.
Stop after listing all files you plan to create or modify. Wait for my approval before writing any code.Implementierungshinweise
- Astro 5 Content Collections verwenden
defineCollectioninsrc/content.config.ts, nicht den alten Pfadsrc/content/config.ts– stellen Sie sicher, dass der Agent den korrekten Speicherort verwendet. - Tailwind v4 wird als Vite-Plugin ausgeliefert; das alte Muster
integrations: [tailwind()]inastro.config.tsist veraltet und führt zu einem Laufzeitfehler. getStaticPathsmuss{ params, props }-Objekte zurückgeben; der Agent gibt manchmal bloße Zeichenketten zurück.
Erwartete Dateiänderungen
astro.config.ts (new)src/content.config.ts (new)src/layouts/BaseLayout.astro (new)src/pages/index.astro (new)src/pages/blog/[slug].astro (new)src/pages/tags/[tag].astro (new)src/styles/global.css (new)public/robots.txt (new)package.json (edited)tsconfig.json (edited)Akzeptanzkriterien
bun run buildwird mit Exit-Code 0 und ohne Typfehler beendet.- Jede Blog-Beitragsseite enthält eine eindeutige kanonische URL und
og:imageim gerenderten HTML. /sitemap-index.xmlwird generiert und enthält alle Blog-Beitrags-URLs./robots.txtexistiert und verbietet/api/.
Testbefehle
bun run buildbun run previewcurl -s http://localhost:4321/sitemap-index.xml | grep '<loc>'curl -s http://localhost:4321/robots.txtbun run typecheckHäufige KI-Fehler
- Installation des veralteten
@astrojs/tailwindanstelle von@tailwindcss/vite. - Platzierung von
content.config.tsuntersrc/content/config.ts(alter Astro-4-Pfad). - Vergessen,
getCollection('blog')innerhalb vongetStaticPathsaufzurufen – Rückgabe eines leeren Arrays. - Hinzufügen von
output: 'server'zuastro.config.ts, was den statischen Export unterbricht.
Fix-Prompt
The build failed. Check for these issues in order:1. Tailwind: remove `@astrojs/tailwind` from integrations and add `@tailwindcss/vite` to the `vite.plugins` array in astro.config.ts.2. Content config: the file must be at `src/content.config.ts` (not `src/content/config.ts`).3. `getStaticPaths`: each entry must be `{ params: { slug }, props: { post } }`.Fix only the broken items. Show me the corrected diff.