SEO checklist
Before-you-ship list for cosmo's centralized SEO setup.
Cosmo centralizes SEO defaults in src/components/SEO.astro. Edit that file — not individual pages — to change defaults across the site.
Before going live
- Set
siteinastro.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) - Replace
src/assets/placeholder-home-hero.pngandplaceholder-blog-hero.png - 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 (e.g.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"
>
Draft content
Both the blog and docs content collections support a draft field. Mark entries with draft: true in the frontmatter to write without publishing:
---
title: "Work in progress"
draft: true
---
Drafts are automatically filtered from:
- Blog and docs list pages
- Pagination
- RSS feeds
- Sitemap (via built page filtering)
- Tag taxonomy
The rest of your SEO checklist applies to non-draft content only — drafts won’t be indexed or served to users.