How CyberToolBox uses next-md-blog for SEO-ready documentation
A practical overview of the CyberToolBox documentation stack: canonical URLs, hreflang, Open Graph, JSON-LD, sitemap, RSS, and localized blog content.
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.
Deployment notes
For CyberToolBox, the blog is not just a marketing surface. It is also a release checklist for the public site: every article exercises localized routing, metadata generation, sitemap inclusion, RSS output, and Open Graph image generation. Keeping those pieces inside normal content makes regressions visible before they reach production.
When you add a post, publish it with a clear slug, a precise description, and the same slug across translations whenever possible. That keeps canonical and alternate links predictable, and it makes analytics easier to compare by language. If a translation is not ready, leave it out instead of publishing a partial placeholder; the hreflang map is generated from real files, so missing translations are safer than thin duplicate pages.
The goal is boring reliability: content authors should be able to write Markdown, preview locally, and trust that the platform handles the technical SEO details consistently.