--- name: optimise-seo description: Optimises SEO and technical foundations for Next.js App Router apps including sitemaps, meta tags, structured data, canonical URLs, redirects, indexing policy, hreflang/internationalisation, Core Web Vitals, security headers, privacy/consent, and error-page resilience. Use when asked to improve SEO, add sitemap.xml, fix meta tags, add structured data, set canonical URLs, set up redirects, fix soft 404s, add hreflang, add security headers (CSP/HSTS), add cookie consent or a privacy policy, fix error pages, improve Core Web Vitals, audit SEO, or build SEO pages at scale. Performs no visual redesigns. --- # Optimise SEO No visual redesigns or layout changes. Allowed: metadata, structured data, semantic HTML, internal links, alt text, sitemap/robots, redirects, indexing policy, hreflang/i18n, security and privacy headers, error-page status codes, performance tuning. ## Workflow Copy and track this checklist: ```text SEO progress: - [ ] Step 1: Inventory routes and index intent - [ ] Step 2: Fix crawl/index foundations - [ ] Step 3: Implement metadata + structured data - [ ] Step 4: Improve semantics, links, and CWV - [ ] Step 5: Validate with seo-checklist.md and document changes ``` 1. Inventory routes and index intent 2. Fix crawl/index foundations 3. Implement metadata + structured data 4. Improve semantics, links, and CWV 5. Validate with [seo-checklist.md](seo-checklist.md) and document changes ## Must-have - Sitemap (`app/sitemap.ts`) and robots (`app/robots.ts`): ```ts // app/sitemap.ts import type { MetadataRoute } from "next"; export default function sitemap(): MetadataRoute.Sitemap { return [{ url: "https://example.com", lastModified: new Date() }]; } ``` - Canonicals consistent on every page - Unique titles + descriptions via `metadata` or `generateMetadata` - OpenGraph + Twitter Card tags - JSON-LD: Organization, WebSite, BreadcrumbList (+ Article/Product/FAQ as needed): ```tsx