Customise
Blog
Drop an MDX file in content/blog. The filename is the URL. Frontmatter is the SEO.
Create content/blog/your-slug.mdx. That file is /blog/your-slug. You do not register the post in an index.
Frontmatter
yaml
---
title: Your title
excerpt: One or two sentences for the listing card.
author: Your name
publishedAt: "2026-08-31"
status: published
coverImage: /blog/your-cover.jpg
coverImageAlt: What the photo actually shows
seoTitle: Optional longer title for the tab
seoDescription: Optional meta description
---| Field | Required | Role |
|---|---|---|
title | Yes | Heading and default SEO title |
excerpt | Yes | Card + fallback description |
publishedAt | Yes | Sort date. Use YYYY-MM-DD |
status | No | draft hides the post. Default is published |
coverImage | Recommended | Card, article, Open Graph, Twitter, JSON-LD |
coverImageAlt | With cover | Accessible name of the photo |
author | No | Byline |
seoTitle / seoDescription | No | Override the tab and meta description |
Covers and images
Put covers in public/blog. Name the file like the topic. Around 1600px wide is enough.
Markdown images need a real alt:
md
Use <BlogImage> when you want a caption. Captions sit under the photo. They do not replace alt.
What the kit already does
- Discovers every
.mdxfile incontent/blog - Builds static params for published slugs
- Canonical, Open Graph, Twitter, and Article JSON-LD on
/blog/[slug] - Listing at
/blog
Do not add author pages, category pages, or a content.tsx article list.