📝 Article Schema

Used for: Regular blog posts and articles

What it enables: Google can show publication dates, author info, and images in search results. Makes your content eligible for Google News and Discover.

Example post: "Getting Started with GitHub Pages"

Your YAML Front Matter

---
title: "Getting Started with GitHub Pages"
subtitle: "Launch a free website in minutes"
excerpt: "A beginner-friendly guide to creating your first GitHub Pages site..."
tags: [github-pages, tutorial, web-development]
date: 2024-07-28
header:
  overlay_image: /assets/images/hero.jpg
---

Field Mapping

title → headline
subtitle → alternativeHeadline
excerpt → description
date → datePublished
tags → keywords
overlay_image → image

Generated Schema.org JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Getting Started with GitHub Pages",
  "alternativeHeadline": "Launch a free website in minutes",
  "description": "A beginner-friendly guide...",
  "image": "https://barbhs.com/assets/images/hero.jpg",
  "datePublished": "2024-07-28T00:00:00-06:00",
  "author": {
    "@type": "Person",
    "name": "Dr. Barbara"
  },
  "keywords": "github-pages, tutorial, web-development"
}

â„šī¸ This JSON-LD is embedded in your page's <head> section. It's invisible to readers but readable by search engines.

đŸ› ī¸ HowTo Schema

Used for: Tutorial posts (automatically detected when categories or tags include "tutorial")

What it enables: Google can show your tutorial as a step-by-step guide with rich formatting. May appear in "How-to" search features.

Example post: "Sensor Fleet Part 1"

Your YAML Front Matter

---
title: "Sensor Fleet Part 1"
subtitle: "Build a sensor with Arduino, MQTT, and MySQL"
excerpt: "Build an Arduino-powered temperature sensor..."
tags: [iot, arduino, mqtt, tutorial]
stack: [Arduino, MQTT, MySQL, Python]
categories: [tutorial]
date: 2021-08-11
---

What Makes it HowTo?

When your post has categories: [tutorial] or tags: [tutorial], the schema automatically switches from "Article" to "HowTo".

Generated Schema.org JSON-LD

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "headline": "Sensor Fleet Part 1",
  "alternativeHeadline": "Build a sensor with Arduino...",
  "description": "Build an Arduino-powered...",
  "datePublished": "2021-08-11T00:00:00-05:00",
  "author": {
    "@type": "Person",
    "name": "Dr. Barbara"
  },
  "keywords": "iot, arduino, mqtt, tutorial",
  "about": [
    { "@type": "Thing", "name": "Arduino" },
    { "@type": "Thing", "name": "MQTT" },
    { "@type": "Thing", "name": "MySQL" }
  ],
  "step": [
    {
      "@type": "HowToSection",
      "name": "Sensor Fleet Part 1"
    }
  ]
}

â„šī¸ Notice the "about" field uses your stack array to tell search engines what technologies the tutorial covers.

đŸ’ģ SoftwareSourceCode Schema

Used for: Projects in your _projects collection

What it enables: Google understands this is a software project. Shows programming languages, status, and makes it eligible for developer-focused search features.

Example project: "Convoscope (Multi-Provider AI Chat)"

Your YAML Front Matter

---
title: "Multi-Provider AI Chat"
excerpt: "Multi-provider chat app with automatic fallback..."
tags: [llm, multi-provider, chat, model-comparison]
stack: [Python, Streamlit, LiteLLM, OpenAI, Anthropic]
status: Active
collection: projects
---

Field Mapping

title → name
excerpt → description
stack → programmingLanguage
status → creativeWorkStatus
tags → keywords

Generated Schema.org JSON-LD

{
  "@context": "https://schema.org",
  "@type": "SoftwareSourceCode",
  "name": "Multi-Provider AI Chat",
  "description": "Multi-provider chat app...",
  "author": {
    "@type": "Person",
    "name": "Dr. Barbara"
  },
  "programmingLanguage": [
    "Python",
    "Streamlit",
    "LiteLLM",
    "OpenAI",
    "Anthropic"
  ],
  "creativeWorkStatus": "Active",
  "keywords": "llm, multi-provider, chat, model-comparison",
  "url": "https://barbhs.com/projects/convoscope/"
}

â„šī¸ The collection: projects field triggers SoftwareSourceCode schema instead of Article.