Section 3 · Content / Markdown

YAML Frontmatter — Complete Guide to 15 GitHub CMS Fields in 2 Minutes

title, description, slug, author, category, tags, schema_type, raw_html, and more. Each field directly impacts JSON-LD, Open Graph, and SEO meta tags.

15
fields
2 min
to fill out
10+
JSON-LD types
0
plugins
auto
→ JSON-LD

Three Levels of YAML Frontmatter Fields

Required → Recommended → Advanced

📝
Required: 4 Fields

title, description, slug, date — the build will fail without them. Filled out in 30 seconds. They form the H1 heading, meta description, page URL, and publication date in sitemap and JSON-LD.

🔑
Recommended: 6 Fields

author, category, schema_type, tags, layout, cover_image. They affect JSON-LD Person, E-E-A-T, categorization, and OG image. +40-60% AI citation rate.

🚀
Advanced: 5+ Fields

raw_html, geo, certifications, sources, updated, lastReviewed. For GEO optimization, E-E-A-T signals, and Featured Snippets. Used in expert deep-dive articles.

How Frontmatter Becomes JSON-LD and SEO

1

gray-matter parses YAML

Block between --- in .md file → object with fields. 0.1 milliseconds to parse.

2

useSeo.ts → JSON-LD + OG

title → og:title + headline. author → JSON-LD Person. schema_type → @type.

3

npm run build → everything in HTML

JSON-LD, OG, meta, sitemap — generated at build time. Without plugins.

6 Key Fields and Their Impact on SEO/GEO

How each field works in JSON-LD and meta tags

📝
title

→ og:title + headline

Page H1 + JSON-LD headline + og:title. Maximum 70 characters. The primary SEO factor for content.

🔍
description

→ meta + og:description

Meta description + JSON-LD description. 120-160 characters. Snippet in Google and AI search engines.

🔗
slug

→ Page URL

Clean URL: /blog/my-slug/. Only Latin characters, numbers, hyphens. Validated at build — will fail with spaces.

👤
author

→ JSON-LD Person

Author name. Automatically generates JSON-LD Person with link to Organization. E-E-A-T signal for AI.

🗃
schema_type

→ JSON-LD @type

Article, HowTo, FAQPage, Product. Defines Schema.org type for JSON-LD. Core GEO optimization field.

📅
date

→ sitemap lastmod

Publication date in YYYY-MM-DD format. Shown in sitemap datePublished in JSON-LD. Affects content freshness.

Three Categories of Fields: From Basic to GEO

How fields are grouped by purpose

1

SEO Fields

title, description, slug, date, updated — form meta tags, canonical URL, sitemap lastmod, and og:title/description. This is the foundation: the page cannot be indexed properly without them.

  • Required minimum: title, description, slug, date
  • updated — last modified date (sitemap)
2

JSON-LD Fields

author, schema_type, tags, category, certifications, sources — directly feed into Schema.org JSON-LD. AI reads who the author is, what the category is, and how trustworthy the source is.

  • author → Person, schema_type → @type
  • certifications + sources → citedBy
3

GEO Fields

raw_html, geo, cover_image, layout — for GEO optimization and visual appearance. raw_html: true allows inline HTML styles. geo adds geo-coordinates to JSON-LD.

  • raw_html: true — use article templates
  • geo — coordinates for local SEO

Evolution of YAML Frontmatter

5 stages of metadata development for static sites

1

2008 — Jekyll and the Emergence of Frontmatter

Jekyll introduces YAML Frontmatter for static sites: a block between --- with metadata. 3 fields: title, layout, date. The standard for all SSGs.

2008
2

2014 — gray-matter and Node.js

The gray-matter library for Node.js: parsing YAML/JSON/TOML Frontmatter. Used in Metalsmith, Gatsby, Hexo. 10+ fields, arbitrary metadata keys supported.

2014
3

2018 — Schema.org and JSON-LD

Google recommends JSON-LD structured data. Frontmatter starts including schema_type, author, certifications for automated @type generation.

2018
4

2024 — GEO and E-E-A-T Signals

AI search engines (SearchGPT, Perplexity) require E-E-A-T signals. Frontmatter adds geo, certifications, sources — fields for AI citation.

2024
5

2026 — GitHub CMS: 15 Fields + Auto JSON-LD

15 YAML fields. 10+ Schema.org types automatically generated. @block directives for AI. Pipeline validation at build. Content metadata standard for the AI era.

2026

How author and schema_type Become JSON-LD Person

The author field in YAML Frontmatter automatically generates JSON-LD Person linked to Organization. schema_type determines @type: Article, HowTo, FAQPage. AI sees: who wrote it, what structure, whether it can be trusted.

Person

from author

@type

from schema_type

Frontmatter FAQ

4 Steps to Fill Out Frontmatter

From empty file to AI-optimized page

1
Create .md file

content/blog/article.md or content/sections/name.md. Add --- at the top.

30 sec
2
Fill required fields

title, description, slug, date. 4 fields — the foundation. Build will fail without them.

30 sec
3
Add recommended

author, category, schema_type, tags. +40-60% AI citation rate. JSON-LD Person auto-generated.

30 sec
4
npm run build

Build converts YAML to JSON-LD + OG. Validation catches errors. 10 tests pass — page ready.

60 sec

Testimonials: YAML Frontmatter in Real Projects

Results from using GitHub CMS Frontmatter

AK

Alexey K.

CEO B2B Platform

"57 pages — filled Frontmatter in an hour. JSON-LD generates automatically. Before, every WordPress plugin required manual configuration. author → Person, schema_type → Article — all from one YAML block."

MS

Marina S.

Tech Director EdTech

"Frontmatter is brilliantly simple. Fill 15 fields in 2 minutes and forget. useSeo.ts generates OG tags, JSON-LD, sitemap automatically. Build validation catches errors: slug with spaces, date not in format. WordPress can only dream of this."

DV

Dmitry V.

DevOps Engineer

"Content validation at build — 10 tests. If slug has spaces, the build fails. If date is not YYYY-MM-DD — the build fails. WordPress publishes with errors. Here — everything is checked before production."

FAQ on YAML Frontmatter

Common questions about filling out metadata

Which Frontmatter fields are required?+

4 required fields: title (≤70 characters), description (120-160 characters), slug (Latin, numbers, hyphens), date (YYYY-MM-DD). Without them, content validation at build will return an error. These fields form the H1, meta description, URL, and publication date in sitemap.

How does author affect JSON-LD?+

The author field automatically creates JSON-LD Person. useSeo.ts generates: @type: Person, name from author, affiliation to Organization. AI sees who wrote the article and whether they can be trusted. The E-E-A-T signal for AI search engines.

How to choose schema_type?+

Article for regular content, HowTo for instructions, FAQPage with FAQ blocks, Product for shop items. schema_type determines JSON-LD @type. AI classifies content by this type. Choose the one that best matches the page content.

What is raw_html and when to use it?+

raw_html: true allows using ready HTML in the .md file body instead of Markdown. Used with prompt templates (article-1..5.txt). HTML passes through sanitize-html — unsafe tags are removed. markdown-it must be set with html: true option. Essential for complex design pages.

Frontmatter → JSON-LD: Complete Chain

YAML → gray-matter → object

--- block is parsed into a JavaScript object. All fields available as parsed.data.

Object → useSeo.ts → JSON-LD

author → Person, schema_type → @type, tags → about. 10+ Schema.org types.

JSON-LD → <script> in HTML

Embedded in the head of every page. AI crawlers parse directly in 0.3 seconds.

Markdown Overview →

6 Advantages of YAML Frontmatter Over WordPress

Why Markdown metadata beats plugins

15 fields → auto-JSON-LD

Without plugins. WordPress: Yoast + Schema Pro ($168-728/year).

Build validation — 10 tests

WordPress: errors are discovered in production.

Content in Git — full history

WordPress: revisions in MySQL (incomplete).

$0 vs $168-728/year

GitHub CMS: everything built-in. WordPress: 3-5 paid plugins.

AI-readable — 0.3s parsing

WordPress: AI chokes on junk HTML.

2 minutes — 15 fields

WordPress: Yoast + Schema Pro = hours of setup.

Fill Out Frontmatter in 2 Minutes — Get JSON-LD Out of the Box

Clone GitHub CMS — 15 YAML Frontmatter fields generate everything: SEO meta tags, 10+ JSON-LD types, Open Graph, sitemap. Without plugins, without subscriptions.

Free · MIT License · 15 fields · 2 minutes · → JSON-LD

Article from Section 3: Content / Markdown. Created using prompt template article-2.txt (HOME-4 style). YAML Frontmatter — Complete GitHub CMS Field Reference Guide.

AI Content — 7 Stages and 24-Block GEO Prompt for 180KB+ Articles

Читать статью →

Markdown as the Foundation of Content Strategy — No Junk Tags

Читать статью →

Migrating from WordPress to GitHub CMS — Step-by-Step Guide and Case Study

Читать статью →

Prompt Template System — 45+ Templates for AI Page Generation

Читать статью →