TaskBuild the complete head for a blog post at https://learnpython.academy/blog/why-fastapi. Include: doctype, html lang='en', charset, viewport, title 'Why FastAPI | CodeMentor', description, canonical (self), robots index/follow, OG 8-tag block (title, description, image https://learnpython.academy/og/why-fastapi.png, image:width 1200, image:height 630, url, type='article', site_name 'CodeMentor'), twitter summary_large_image, twitter:image, hreflang en (self) + uk (/uk/blog/why-fastapi) + x-default, JSON-LD Article with headline, author Anna, datePublished 2026-05-20T10:00:00Z, image, publisher CodeMentor with logo.
Module capstone: full SEO+social block
200 XP14 min
Theory
Putting A6 together
The "ship-ready" head for a blog post combines every concept from this module:
- Title + description (per-page, value-first).
- Canonical (self-referential, absolute).
- robots index/follow.
- OpenGraph 8-tag set with absolute image URL + dimensions.
- Twitter
summary_large_image. - JSON-LD Article with required Schema.org fields.
- hreflang siblings for translated versions.
This is the head every post on CodeMentor's blog ships with. The Next.js Metadata API generates most of it from per-route config β but you should understand the shape it's generating.
π
Sign up to start coding
Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial β card required, cancel anytime.
Sign up β free trial βFirst 10 lessons in each track are free. No card needed for those.