SEO & output
Per page
From frontmatter plus site.json: <title> (with titleSeparator and seoTitle override), meta description, canonical, robots (noindex), lang, theme colour, favicons, Open Graph and Twitter cards (image, imageAlt, falling back to defaultImage), and JSON-LD: WebSite, your entity (Person, Organization, LocalBusiness with address, hours, geo), BreadcrumbList, BlogPosting / SocialMediaPosting, and FAQPage from faq: frontmatter.
Set url in site.json (usually "${SITE_URL}"). Canonicals, the sitemap, RSS and structured data need the production origin.
Generated files
sitemap.xml (noindex pages excluded), robots.txt, 404.html, rss.xml per collection, _headers (security headers and immutable caching for fingerprinted assets) and _redirects (from site.redirects). Cloudflare Pages and Netlify both read _headers and _redirects. Drop your own robots.txt or any file in public/ to override.
Performance
- Fingerprinted, minified CSS; minified HTML; no framework JavaScript
- Images in
images/and notemedia/get AVIF and WebP at 480/800/1200/1600px, cached in.build-cache <Image>outputs<picture>,srcset,width/height(no layout shift), lazy loading,priorityfor above-the-fold
Checks
static check is a strict production build. Warnings (failures under --strict): missing or long titles and descriptions, duplicate titles, images without alt, zero or multiple <h1>, broken internal links. Errors point at file and line with a code frame, in the terminal and as an overlay in static dev.