This document describes the Schema.org structured data implementation used across all blog post pages to provide machine-readable metadata for search engines and other consumers of structured data. The structured data is automatically generated by the Jekyll SEO Tag plugin and embedded as JSON-LD in every page's <head> section.
For information about the Jekyll SEO Tag plugin that generates this structured data, see Jekyll SEO Plugin. For other SEO metadata formats (Open Graph and Twitter Cards), see Open Graph and Twitter Cards.
All blog post pages include Schema.org structured data automatically generated by Jekyll SEO Tag v2.8.0. This plugin reads post metadata from the front matter and site configuration, then generates a JSON-LD script block embedded in the HTML head section.
Title: Structured Data Generation Process
Sources: _site/01.ai-yi-fall-en.html29-48 _site/2013-github-registration-en.html29-48 _site/2025-llm-comparison-en.html29-48
The structured data appears as a <script type="application/ld+json"> element immediately after the Jekyll SEO Tag comment markers in the HTML head section.
Title: JSON-LD Placement in HTML Head
Sources: _site/01.ai-yi-fall-en.html27-48 _site/2013-github-registration-en.html27-48 _site/2025-llm-comparison-en.html27-48
Every blog post uses the BlogPosting schema type from Schema.org. This type is specifically designed for blog posts and provides search engines with structured information about article content.
| Property | Description | Example Value |
|---|---|---|
@context | Schema.org namespace | https://schema.org |
@type | Schema type | BlogPosting |
author | Author object with Person type | {"@type":"Person","name":"Zhiwei Li"} |
dateModified | Last modification timestamp | 2025-07-27T00:00:00+08:00 |
datePublished | Original publication timestamp | 2025-07-27T00:00:00+08:00 |
description | Article description/excerpt | First paragraph or explicit description |
headline | Article title | 01.AI's Rise and Fall |
mainEntityOfPage | WebPage object with canonical URL | {"@type":"WebPage","@id":"..."} |
url | Canonical URL | https://lzwjava.github.io/01.ai-yi-fall-en |
Sources: _site/01.ai-yi-fall-en.html46-47 _site/2013-github-registration-en.html46-47 _site/2025-llm-comparison-en.html46-47
Title: Metadata to JSON-LD Property Mapping
Sources: _site/01.ai-yi-fall-en.html30-47 _site/2013-github-registration-en.html30-47 _site/2025-llm-comparison-en.html30-47
The following shows the complete JSON-LD structure for a blog post as it appears in the HTML:
Note that the actual output is minified on a single line without whitespace.
Sources: _site/01.ai-yi-fall-en.html46-47
All blog posts include a nested Person object for the author field:
Title: Author Schema Structure
The author information is consistent across all posts with @type: Person and name: "Zhiwei Li". This creates an authorship relationship that search engines can use to connect content to the author entity.
Sources: _site/01.ai-yi-fall-en.html47 _site/2013-github-registration-en.html47 _site/2025-llm-comparison-en.html47
Both datePublished and dateModified use ISO 8601 format with timezone offset:
YYYY-MM-DDTHH:MM:SS+TZ:TZ+08:00 (China Standard Time)2025-07-27T00:00:00+08:00All timestamps consistently use midnight (00:00:00) as the time component, with dates matching the post's publication date from the filename pattern YYYY-MM-DD-slug-lang.md.
Sources: _site/01.ai-yi-fall-en.html47 _site/2013-github-registration-en.html47 _site/2025-llm-comparison-en.html47
The mainEntityOfPage property creates a relationship between the blog post and the web page it appears on:
| Component | Value |
|---|---|
| Object Type | Nested object |
@type | WebPage |
@id | Same as canonical URL |
This structure helps search engines understand that the BlogPosting is the primary content entity on this specific WebPage.
Sources: _site/01.ai-yi-fall-en.html47 _site/2013-github-registration-en.html47 _site/2025-llm-comparison-en.html47
Schema.org structured data enables several types of rich results in search engines:
Title: Rich Result Opportunities from BlogPosting Schema
The BlogPosting schema enables:
Sources: _site/01.ai-yi-fall-en.html46-47 _site/2013-github-registration-en.html46-47 _site/2025-llm-comparison-en.html46-47
All blog posts follow an identical structured data pattern:
| Aspect | Implementation |
|---|---|
| Schema type | Always BlogPosting |
| Author | Always {"@type":"Person","name":"Zhiwei Li"} |
| Date format | Always ISO 8601 with +08:00 timezone |
| Property set | Consistent 9 properties across all posts |
| Generation method | Jekyll SEO Tag v2.8.0 |
| Location in HTML | Lines 46-47 in all files |
This consistency ensures predictable behavior for search engine crawlers and maintains uniform structured data across the entire site.
Sources: _site/01.ai-yi-fall-en.html29-48 _site/2013-github-registration-en.html29-48 _site/2025-llm-comparison-en.html29-48
Title: SEO Metadata Integration Architecture
The JSON-LD structured data works in parallel with other metadata formats. While Open Graph and Twitter Cards optimize social media sharing, the Schema.org JSON-LD specifically targets search engines and structured data consumers. All formats are generated simultaneously by the Jekyll SEO Tag plugin from the same source data.
Sources: _site/01.ai-yi-fall-en.html29-78 _site/2013-github-registration-en.html29-78 _site/2025-llm-comparison-en.html29-78
The structured data can be validated using Google's Rich Results Test or Schema.org validator tools. The JSON-LD format is preferred by Google because it:
No validation errors are expected from this implementation as it follows Schema.org BlogPosting specification exactly.
Sources: