Welcome to the blog
How this SEO-first Next.js template is wired together — and what you get on day one.
This template ships every SEO primitive you'd otherwise wire by hand: canonical URLs, hreflang for every locale that has the post, OpenGraph + Twitter meta, JSON-LD with a single combined @graph (Organization + BlogPosting + BreadcrumbList), a sitemap that walks every locale, robots.txt, and an RSS feed.
What's included
- App Router pages that wrap
MarkdownContentfrom@next-md-blog/core. - Per-locale post folders under
posts/{en,fr,es,de}. - Per-post dynamic OG at
/[lang]/blog/[slug]/opengraph-image. - Auto-generated table of contents from your markdown headings.
Quick start
Edit site.config.ts to set your site name, URL, social handles, and analytics provider. Drop new posts into posts/{locale}/your-slug.md — they're indexed automatically.
Frontmatter
The frontmatter recognized by generateBlogPostMetadata is documented inline in the file. The fields that have the most SEO impact are title, description, date, updated, tags, image, and alternateLanguages.
What's next
Open a few posts, view source, and confirm:
- Exactly one
<script type="application/ld+json">per page. <link rel="canonical">pointing at the absolute URL.<link rel="alternate" hreflang="…">for every locale that has a translation.
That's it — start writing.