Skip to main content
← πŸ“„ HTML & the platformΒ·Module A6 Β· Lesson 10
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.

← PreviousNext lesson β†’

Get one Python or web tip a day β€” by email

Short, hand-written, no spam. Unsubscribe in one click.