Skip to main content
← πŸ“„ HTML & the platformΒ·Module A6 Β· Lesson 7
TaskAdd a JSON-LD Article block to the head: @type 'Article', headline 'Why FastAPI', author 'Anna' (Person), datePublished '2026-05-20T10:00:00Z', image 'https://example.com/og.png', publisher 'CodeMentor' (Organization) with logo url 'https://example.com/logo.png'.

JSON-LD Article: rich-result eligibility

125 XP9 min
Theory

What rich results look like

Google's search results sometimes show a thumbnail + author + date alongside the standard blue-link snippet. These "rich results" are eligible ONLY for pages with valid structured data matching one of Schema.org's types. For a blog post, the type is Article (or its subtypes NewsArticle, BlogPosting).

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Why FastAPI beats Flask in 2026",
  "author": {
    "@type": "Person",
    "name": "Anna Kowalski"
  },
  "datePublished": "2026-05-20T10:00:00Z",
  "image": "https://example.com/og.png",
  "publisher": {
    "@type": "Organization",
    "name": "CodeMentor AI",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  }
}
</script>

Required fields for Article

Google's rich-result requirements (minimum to be eligible):

  • headline β€” the article title.
  • image β€” a URL (1200Γ—630 minimum).
  • datePublished β€” ISO 8601.
  • author β€” Person or Organization.
  • publisher β€” Organization (required for AMP, recommended otherwise).

NewsArticle adds

dateModified, articleBody, articleSection β€” only fill these if relevant.

Where to put it

Inside <head> or at the start of <body>. The script tag has type="application/ld+json" (NOT application/json β€” that's different). Browsers ignore the script (it's not JS). Google reads it.

Test before shipping

Paste your URL into Google's "Rich Results Test" tool. It tells you which type your data qualifies for + flags missing required fields. Run before deploy.

πŸ”’

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.