Before going live
- Set site in
astro.config.mjsto your production URL
- Update
siteNameandtitleDefaultdefaults inSEO.astro - Optionally set
twitterCreatorinSEO.astroto add a global Twitter creator meta tag (or pass it per-page) - Replace
public/placeholder-og-fallback.pngwith a real OG image (1200×630 recommended) — or automate per-page cards with a generator (see OG image generation) - Replace
src/assets/placeholder-home-hero.png(andplaceholder-blog-hero.pngif you kept the blog) - Update sitemap URL in
public/robots.txt - Confirm
@astrojs/sitemapruns in your build (it’s wired inastro.config.mjs) - Verify each page passes a meaningful
titleanddescriptiontoBaseLayout - Optional: extend the auto-generated
WebSiteJSON-LD schema with page-specific schemas (BlogPosting) via the<slot name="head">inBaseLayout
Per-page overrides
Pages override defaults via props on BaseLayout:
<BaseLayout
title="My post"
description="A short summary."
image="/images/custom-og.png"
>
See also
- Analytics — privacy-respecting traffic insight without a consent banner
- Error tracking — find out about runtime errors before your users do
- Deployment — verify OG images and the sitemap after your first deploy