Mục lục bài viết
Khi AI đọc bài viết của bạn, nó cần trả lời một câu hỏi trước tiên: "Đây có phải nội dung đáng tin cậy không?" Article schema chính là cách bạn trả lời câu hỏi đó — không phải bằng lời, mà bằng dữ liệu có cấu trúc mà AI đọc được ngay lập tức.
Thiếu Article schema, AI vẫn có thể đọc bài của bạn. Nhưng nó phải đoán: đây là bài của ai? Viết khi nào? Còn cập nhật không? Khi phải đoán, AI chọn an toàn — tức là chọn nguồn khác mà nó không cần đoán.
So sánh Article, NewsArticle và BlogPosting
| Loại schema | Dùng khi nào | Trường đặc trưng | Ví dụ |
|---|---|---|---|
Article | Hướng dẫn, phân tích, cẩm nang dài hơi | articleSection, wordCount | "AEO là gì? Hướng dẫn 2025" |
NewsArticle | Tin tức sự kiện, thông báo | dateline, printSection | "Google cập nhật thuật toán tháng 8/2025" |
BlogPosting | Bài blog góc nhìn cá nhân/doanh nghiệp | backstory | "5 điều tôi học được sau 1 năm làm AEO" |
TechArticle | Hướng dẫn kỹ thuật | dependencies, proficiencyLevel | "Cách cài schema trong Next.js App Router" |
Với blog doanh nghiệp B2B/B2C Việt Nam: dùng Article cho các bài hướng dẫn chuyên sâu, BlogPosting cho các bài quan điểm và case study. Không cần phân biệt quá kỹ — cả hai đều được Google và AI xử lý tương tự.
Tất cả các trường Article schema
| Trường | Kiểu dữ liệu | Priority | Mô tả |
|---|---|---|---|
@type | Text | Required | "Article" hoặc "BlogPosting" |
headline | Text (≤110 ký tự) | Required | Tiêu đề bài viết — khớp với <h1> |
description | Text (150-160 ký tự) | Required | Tóm tắt nội dung — AI dùng để preview |
url | URL | Required | Canonical URL của bài |
image | ImageObject | Required | Ảnh đại diện với url, width, height |
datePublished | DateTime (ISO 8601) | Required | Ngày xuất bản lần đầu |
dateModified | DateTime (ISO 8601) | Required | Ngày cập nhật gần nhất |
author | Person | Required | Object với @id, name, jobTitle |
publisher | Organization | Required | Object với name, logo |
inLanguage | Text | Recommended | "vi-VN" cho tiếng Việt |
mainEntityOfPage | WebPage | Recommended | Canonical URL dưới dạng WebPage object |
keywords | Text | Recommended | Từ khóa chính, cách nhau bằng dấu phẩy |
articleSection | Text | Optional | Danh mục/chuyên mục bài viết |
wordCount | Integer | Optional | Số từ trong bài |
isPartOf | WebSite | Optional | Link về WebSite schema |
JSON-LD đầy đủ cho bài blog doanh nghiệp
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "https://aeosaigon.com/blog/eeat-va-ai-trust",
"headline": "E-E-A-T và AI Trust: Tại sao AI trích dẫn trang này mà không trang kia?",
"description": "E-E-A-T không chỉ là tiêu chí Google — AI cũng dùng cùng tín hiệu để quyết định trích dẫn ai. Hướng dẫn xây dựng tín hiệu tin cậy.",
"url": "https://aeosaigon.com/blog/eeat-va-ai-trust",
"datePublished": "2026-08-08T08:00:00+07:00",
"dateModified": "2026-08-08T08:00:00+07:00",
"inLanguage": "vi-VN",
"articleSection": "Kiến thức",
"wordCount": 1350,
"keywords": "E-E-A-T, AI trust, AEO, schema markup, content strategy",
"image": {
"@type": "ImageObject",
"url": "https://aeosaigon.com/images/blog/eeat-va-ai-trust-og.jpg",
"width": 1200,
"height": 630
},
"author": {
"@type": "Person",
"@id": "https://aeosaigon.com/tac-gia/nguyen-van-an",
"name": "Nguyễn Văn An",
"jobTitle": "Chuyên gia AEO",
"url": "https://aeosaigon.com/tac-gia/nguyen-van-an"
},
"publisher": {
"@type": "Organization",
"@id": "https://aeosaigon.com",
"name": "AEO Saigon",
"logo": {
"@type": "ImageObject",
"url": "https://aeosaigon.com/logo.png",
"width": 200,
"height": 60
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://aeosaigon.com/blog/eeat-va-ai-trust"
},
"isPartOf": {
"@type": "WebSite",
"@id": "https://aeosaigon.com",
"name": "AEO Saigon"
}
}
Freshness signals — vũ khí bí mật của Article schema
AI ưu tiên nội dung mới khi trả lời câu hỏi có tính thời sự. Hai trường datePublished và dateModified trực tiếp ảnh hưởng đến khả năng AI chọn bài của bạn.
Quy tắc với dateModified:
- Cập nhật bài khi có thông tin mới thực sự — không chỉ sửa typo
- Sửa
dateModifiedmỗi lần cập nhật nội dung thực chất - Thêm ghi chú cuối bài: "Cập nhật tháng 8/2026 — thêm ví dụ thực tế về Gemini 2.0"
- Không fake
dateModifiedvề tương lai — Google và AI phát hiện qua crawl history
Quy tắc với datePublished:
- Không thay đổi
datePublishedkhi cập nhật bài cũ — đây là ngày bài ra đời lần đầu - Dùng ISO 8601 có timezone:
2026-08-08T08:00:00+07:00thay vì2026-08-08
Freshness theo ngành
| Ngành | Tần suất cập nhật khuyến nghị | Lý do |
|---|---|---|
| Tài chính/đầu tư | Hàng tháng | Lãi suất, quy định thay đổi nhanh |
| Y tế/thuốc | Mỗi khi có guideline mới | YMYL — độ chính xác cao |
| Pháp lý | Mỗi khi luật thay đổi | Thông tin sai có hậu quả pháp lý |
| SEO/AEO/Marketing | Mỗi quý | Algorithm update liên tục |
| Công nghệ | Mỗi 6 tháng | Sản phẩm, version thay đổi |
| Hướng dẫn ẩm thực | Hàng năm | Ít thay đổi |
Triển khai trên Next.js App Router
Trong Next.js 13+ App Router, đặt Article schema trong component generateMetadata hoặc dùng <script> tag trong layout:
// app/blog/[slug]/page.tsx
export default function BlogPost({ post }) {
const articleSchema = {
"@context": "https://schema.org",
"@type": "Article",
headline: post.title,
description: post.description,
datePublished: post.date,
dateModified: post.updatedAt || post.date,
author: {
"@type": "Person",
"@id": `https://aeosaigon.com/tac-gia/${post.authorSlug}`,
name: post.authorName,
},
publisher: {
"@type": "Organization",
"@id": "https://aeosaigon.com",
name: "AEO Saigon",
},
};
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(articleSchema) }}
/>
{/* ... nội dung bài */}
</>
);
}
Checklist trước khi publish bài mới
Trước khi publish bất kỳ bài blog nào, kiểm tra:
-
headlinekhông quá 110 ký tự và khớp với<h1> -
descriptiontừ 150-160 ký tự, không bị cắt -
datePublishedđúng định dạng ISO 8601 với timezone +07:00 -
authorlà object với@idtrỏ về trang tác giả thật -
imagecóurl,width(1200),height(630) -
publisherdùng@idreference về Organization schema chính - Test qua schema.org validator — không có lỗi đỏ
- Kiểm tra Rich Results Test của Google không báo lỗi
Article schema không đảm bảo AI sẽ trích dẫn bạn ngay hôm nay. Nhưng thiếu nó, bạn đang chạy đua với một tay bị buộc ra sau lưng — trong khi đối thủ đã khai báo đầy đủ mọi thứ AI cần biết về nội dung của họ.
Câu hỏi thường gặp
Article, NewsArticle, BlogPosting khác nhau như thế nào?
Cả ba đều là subtypes của Article trong schema.org. Article: bài viết tổng quát (hướng dẫn, phân tích, cẩm nang). NewsArticle: tin tức cập nhật theo sự kiện, có datePublished quan trọng cho freshness. BlogPosting: bài blog cá nhân/doanh nghiệp. Với blog AEO của doanh nghiệp B2B/B2C, dùng Article hoặc BlogPosting đều phù hợp.
Trường nào trong Article schema quan trọng nhất cho AEO?
Top 5: (1) headline — tiêu đề chính xác; (2) author — Person schema với name, url, jobTitle; (3) datePublished + dateModified — freshness signal; (4) image — ImageObject với url, width, height; (5) description — tóm tắt 150-160 ký tự. Thiếu bất kỳ trường nào AI khó xác định đây là bài viết có thẩm quyền.
Có cần thêm Article schema nếu bài đã có FAQ schema không?
Có, vì chúng phục vụ mục đích khác nhau. FAQPage nói 'bài này có Q&A'. Article nói 'đây là bài của ai, viết khi nào, về chủ đề gì'. AI cần cả hai để hiểu đầy đủ — Article schema xác định freshness và authorship, FAQPage schema xác định Q&A content.
datePublished hay dateModified quan trọng hơn?
Với AEO, dateModified quan trọng hơn. AI ưu tiên nội dung mới nhất khi trả lời câu hỏi — dateModified cho AI biết thông tin vẫn còn được cập nhật. Cập nhật bài khi có thông tin mới + sửa dateModified. Không nên fake dateModified — search engine và AI có thể phát hiện.
AEO Saigon
Agency Answer Engine Optimization tại TP. Hồ Chí Minh — giúp website doanh nghiệp được AI trích dẫn. Về AEO Saigon →
Muốn website của bạn được AI trích dẫn như vậy?
Audit miễn phí