
Schema markup là tập hợp các thẻ dữ liệu có cấu trúc (structured data) được nhúng vào HTML của trang web, giúp công cụ tìm kiếm như Google hiểu rõ hơn về nội dung và ngữ cảnh của trang. Thay vì chỉ đọc văn bản thô, Google có thể xác định: đây là một sản phẩm, đây là một đánh giá khách hàng, đây là câu hỏi thường gặp, đây là địa chỉ doanh nghiệp. Kết quả là trang của bạn có thể xuất hiện với rich results — các đoạn kết quả mở rộng trực quan hơn trên trang tìm kiếm — tăng click-through rate mà không cần thay đổi nội dung.
Đối với doanh nghiệp Việt Nam, schema markup đặc biệt quan trọng vì: thứ nhất, cạnh tranh trên SERP Việt Nam đang tăng nhanh và rich results là lợi thế hiển thị rõ ràng; thứ hai, Google ngày càng sử dụng structured data để quyết định nội dung nào xuất hiện trong AI Overviews và featured snippets — hai vị trí quan trọng nhất trên SERP hiện nay; thứ ba, nhiều đối thủ địa phương chưa triển khai schema đúng cách, tạo ra khoảng trống cạnh tranh.
Các loại schema phổ biến cho doanh nghiệp Việt Nam
Schema.org định nghĩa hàng trăm loại schema khác nhau, nhưng với doanh nghiệp dịch vụ Việt Nam, chỉ cần tập trung vào khoảng 8-10 loại có tác động thực tế.
Organization — schema cơ bản nhất, khai báo thông tin công ty: tên, logo, địa chỉ, số điện thoại, website, tài khoản mạng xã hội. Mọi website doanh nghiệp đều cần schema này.
LocalBusiness — mở rộng từ Organization, bổ sung thông tin địa điểm kinh doanh cụ thể: giờ hoạt động, tọa độ GPS, khu vực phục vụ. Phù hợp với doanh nghiệp có địa chỉ vật lý hoặc phục vụ theo địa lý.
ProfessionalService — lớp con của LocalBusiness, dành cho dịch vụ chuyên nghiệp như luật, tư vấn, kế toán, marketing.
FAQPage — dành cho trang có phần câu hỏi thường gặp. Khi được triển khai đúng, FAQ của bạn có thể hiển thị trực tiếp trên SERP mà không cần người dùng click vào trang.
Product — cho trang sản phẩm thương mại: tên, mô tả, giá, tình trạng hàng, đánh giá.
BlogPosting / Article — cho bài viết blog và nội dung editorial, giúp Google hiểu đây là nội dung báo chí/tin tức/hướng dẫn, không phải trang sản phẩm.
BreadcrumbList — khai báo cấu trúc điều hướng của trang, giúp Google hiển thị breadcrumb trên SERP thay vì URL thô.
HowTo — cho các hướng dẫn từng bước. Google có thể hiển thị các bước trực tiếp trên SERP.
VideoObject — cho trang có nhúng video, giúp video xuất hiện trong kết quả tìm kiếm video.
Review / AggregateRating — cho đánh giá sản phẩm hoặc dịch vụ, hiển thị số sao trên SERP. Lưu ý: chỉ dùng cho đánh giá thực, không tự điền đánh giá giả.
Organization vs LocalBusiness vs ProfessionalService — chọn đúng
| Tiêu chí | Organization | LocalBusiness | ProfessionalService |
|---|---|---|---|
| Có địa chỉ vật lý | Không bắt buộc | Bắt buộc | Bắt buộc |
| Phục vụ theo địa lý | Không | Có | Có |
| Loại hình | Mọi tổ chức | Doanh nghiệp địa phương | Dịch vụ chuyên nghiệp |
| Giờ hoạt động | Không cần | Nên có | Nên có |
| Ví dụ | Công ty phần mềm SaaS | Nhà hàng, spa, phòng khám | Công ty luật, kế toán, agency |
| Trường bổ sung | Không nhiều | openingHours, geo | priceRange, hasOfferCatalog |
Quy tắc chọn:
Nếu doanh nghiệp của bạn có địa chỉ cố định và khách hàng đến trực tiếp hoặc bạn phục vụ trong phạm vi địa lý cụ thể → dùng LocalBusiness.
Nếu đó là dịch vụ chuyên môn (tư vấn, luật, kế toán, IT, marketing, thiết kế) → dùng ProfessionalService.
Nếu là công ty phần mềm, nền tảng online, không có địa chỉ phục vụ cụ thể → dùng Organization.
Quan trọng: các loại này có thể kết hợp. Một agency marketing có thể dùng đồng thời Organization (cho thực thể công ty) và ProfessionalService (cho từng dịch vụ cụ thể).
Ví dụ Organization cho agency:
{
"@context": "https://schema.org",
"@type": ["Organization", "ProfessionalService"],
"name": "Tên công ty",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Đường ABC",
"addressLocality": "Hà Nội",
"addressCountry": "VN"
},
"telephone": "+84-xxx-xxx-xxxx",
"sameAs": [
"https://www.facebook.com/tencongtyhttps://www.linkedin.com/company/tencongty"
]
}
Schema cho từng ngành dịch vụ Việt
Mỗi ngành có đặc thù riêng. Dưới đây là hướng dẫn schema theo ngành phổ biến tại Việt Nam.
Công ty thiết kế website / Agency digital: Dùng ProfessionalService với hasOfferCatalog liệt kê các dịch vụ cụ thể. Thêm ItemList cho trang danh mục dịch vụ. FAQ cho các câu hỏi về quy trình và giá.
{
"@context": "https://schema.org",
"@type": "ProfessionalService",
"name": "Tên Agency",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Dịch vụ",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Thiết kế website doanh nghiệp"
}
}
]
}
}
Phòng khám / Nha khoa: Dùng MedicalClinic hoặc Dentist (lớp con của LocalBusiness). Thêm openingHours, paymentAccepted, healthcareProfessional cho từng bác sĩ.
Nhà hàng / F&B: Dùng Restaurant với servesCuisine, priceRange, hasMenu. Menu có thể khai báo dưới dạng Menu → MenuSection → MenuItem với tên và giá.
Bất động sản: Dùng RealEstateAgent cho môi giới. Từng listing dùng RealEstateListing hoặc Residence với thông tin diện tích, giá, địa chỉ.
Giáo dục / Đào tạo: Dùng EducationalOrganization hoặc Course cho từng khóa học. Course cần có name, description, provider, startDate nếu có.
Logistics / Vận chuyển: Dùng LocalBusiness với serviceArea là danh sách tỉnh thành phục vụ. Service cho từng loại dịch vụ vận chuyển.
FAQPage schema — best practice
FAQPage là loại schema có tỷ lệ hiển thị rich results cao nhất và dễ triển khai nhất. Khi Google chấp nhận, phần FAQ của bạn hiển thị ngay dưới tiêu đề trang trên SERP, tăng diện tích hiển thị đáng kể mà không tốn thêm chi phí quảng cáo.
Cấu trúc chuẩn:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Chi phí thiết kế website doanh nghiệp là bao nhiêu?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Chi phí thiết kế website doanh nghiệp phụ thuộc vào quy mô và yêu cầu tính năng. Website cơ bản thường bắt đầu từ 15–30 triệu đồng cho gói đơn giản, 50–100 triệu cho website có CMS và tích hợp hệ thống. Nên yêu cầu báo giá chi tiết sau khi có brief cụ thể."
}
}
]
}
Các quy tắc quan trọng:
Câu hỏi phải thực sự xuất hiện trên trang dưới dạng văn bản hiển thị — không thể dùng schema FAQ cho nội dung ẩn hoặc nội dung chỉ có trong schema mà không có trên trang.
Câu trả lời phải đầy đủ, không cụt. Google penalize câu trả lời quá ngắn hoặc chỉ redirect sang trang khác.
Mỗi trang chỉ nên có một FAQPage schema. Không lặp lại câu hỏi.
Câu hỏi nên phản ánh các truy vấn thực tế của người dùng — dùng Google Search Console để tìm các câu hỏi người dùng đang search liên quan đến trang của bạn.
Số lượng FAQ tối ưu: 4-8 câu hỏi trên mỗi trang. Quá nhiều FAQ làm loãng tín hiệu và Google không hiển thị tất cả.
Tối ưu nội dung câu trả lời:
Mỗi câu trả lời nên có 50-200 từ. Bao gồm từ khóa chính và từ khóa liên quan tự nhiên. Câu trả lời nên cung cấp thông tin cụ thể, không chung chung. Tránh câu trả lời dạng "Liên hệ chúng tôi để biết thêm" — đây là câu trả lời tệ nhất cho FAQ schema.
Product schema cho website thương mại
Product schema áp dụng cho trang sản phẩm cụ thể — không phải trang danh mục. Mỗi trang sản phẩm nên có schema riêng với thông tin đầy đủ.
Các trường bắt buộc và khuyến nghị:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Tên sản phẩm",
"description": "Mô tả sản phẩm chi tiết",
"image": "https://example.com/product-image.jpg",
"sku": "SKU-001",
"brand": {
"@type": "Brand",
"name": "Tên thương hiệu"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/san-pham",
"priceCurrency": "VND",
"price": "1500000",
"priceValidUntil": "2026-12-31",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "23"
}
}
Lưu ý quan trọng cho thị trường Việt Nam:
Giá phải được đặt trong trường price dưới dạng số, không có dấu phẩy hoặc ký hiệu tiền tệ. priceCurrency phải là "VND" cho đồng Việt Nam.
priceValidUntil phải là ngày trong tương lai. Nếu giá không có ngày hết hạn, đặt một năm từ ngày hiện tại.
availability chỉ dùng các giá trị schema.org hợp lệ: InStock, OutOfStock, PreOrder, BackOrder.
aggregateRating chỉ nên thêm nếu trang của bạn thực sự có đánh giá người dùng. Dùng dữ liệu giả sẽ vi phạm Spam Policy của Google.
BlogPosting + Article schema
Schema cho nội dung editorial giúp Google phân loại bài viết của bạn và có thể hiển thị trong Google News, Discover, hoặc với rich snippet author.
BlogPosting cho bài blog thông thường:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Tiêu đề bài viết tối đa 110 ký tự",
"description": "Mô tả bài viết 150-160 ký tự",
"image": "https://example.com/blog-image.jpg",
"datePublished": "2026-05-30T08:00:00+07:00",
"dateModified": "2026-05-30T10:00:00+07:00",
"author": {
"@type": "Person",
"name": "Tên tác giả",
"url": "https://example.com/tac-gia"
},
"publisher": {
"@type": "Organization",
"name": "Tên website",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/bai-viet"
}
}
Sự khác biệt BlogPosting vs Article:
Article là type cha — dùng cho nội dung tin tức, báo chí, bài viết dạng long-form. BlogPosting là lớp con của Article — dùng cho blog, hướng dẫn, tutorial. Nếu website của bạn không phải là tờ báo, dùng BlogPosting là lựa chọn an toàn hơn.
Trường dateModified quan trọng:
Khi cập nhật nội dung, hãy cập nhật dateModified. Google dùng trường này để đánh giá độ tươi của nội dung. Nhiều website Việt Nam bỏ qua trường này và mất đi lợi thế freshness.
Hình ảnh trong BlogPosting:
Hình ảnh nên có tỷ lệ 1.91:1 (1200x630px) để tương thích với Open Graph và Google Discover. Hình ảnh phải accessible — URL tuyệt đối, không phải URL tương đối.
BreadcrumbList — bắt buộc cho mọi trang
BreadcrumbList là schema cơ bản nhất mà mọi trang web đều nên có. Nó khai báo cấu trúc điều hướng và giúp Google hiển thị breadcrumb trên SERP thay vì URL thô — cải thiện trải nghiệm người dùng và click-through rate.
Cấu trúc chuẩn:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Trang chủ",
"item": "https://example.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://example.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "Tiêu đề bài viết",
"item": "https://example.com/blog/tieu-de-bai-viet"
}
]
}
Quy tắc triển khai:
position phải là số nguyên bắt đầu từ 1, tăng dần. Không được bỏ số.
item phải là URL tuyệt đối và khớp với URL canonical của trang đó. Nếu URL không tồn tại trong website, schema sẽ không hợp lệ.
Trang cuối cùng trong breadcrumb (trang hiện tại) có thể bỏ trường item — Google cho phép không có URL cho item cuối.
BreadcrumbList nên khớp với breadcrumb HTML thực sự hiển thị trên trang. Nếu trang không có breadcrumb HTML, vẫn có thể thêm schema nhưng tốt hơn là có cả hai.
Triển khai tự động trong React/Next.js:
Thay vì viết breadcrumb schema cho từng trang, hãy tạo một component tự động sinh BreadcrumbList từ URL path:
function generateBreadcrumbSchema(pathname: string, pageTitle: string) {
const segments = pathname.split('/').filter(Boolean)
const items = [
{ position: 1, name: 'Trang chủ', item: 'https://example.com' }
]
let currentPath = 'https://example.com'
segments.forEach((segment, index) => {
currentPath += `/${segment}`
items.push({
position: index + 2,
name: index === segments.length - 1 ? pageTitle : segment,
item: currentPath
})
})
return {
'@context': 'https://schema.org',
'@type': 'BreadcrumbList',
itemListElement: items.map(item => ({ '@type': 'ListItem', ...item }))
}
}
HowTo schema — khi nào dùng
HowTo schema phù hợp cho các bài viết hướng dẫn từng bước. Khi được Google chấp nhận, các bước hướng dẫn có thể xuất hiện trực tiếp trên SERP.
Cấu trúc HowTo:
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Cách đăng ký Google Business Profile cho doanh nghiệp Việt Nam",
"description": "Hướng dẫn từng bước đăng ký và tối ưu Google Business Profile",
"totalTime": "PT30M",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Tạo tài khoản Google Business",
"text": "Truy cập business.google.com và đăng nhập bằng tài khoản Google của bạn. Nhấn 'Quản lý ngay' để bắt đầu."
},
{
"@type": "HowToStep",
"position": 2,
"name": "Nhập thông tin doanh nghiệp",
"text": "Điền tên doanh nghiệp, danh mục, và địa chỉ. Đảm bảo tên khớp chính xác với tên đăng ký kinh doanh."
}
]
}
Khi nào dùng HowTo:
Dùng khi bài viết có cấu trúc từng bước rõ ràng, mỗi bước có action cụ thể. Phù hợp cho: hướng dẫn cài đặt, quy trình đăng ký, tutorial kỹ thuật.
Không dùng cho: so sánh, phân tích, bài viết tổng quan không có các bước thực hiện. Google sẽ từ chối schema HowTo nếu nội dung không thực sự là hướng dẫn từng bước.
Trường totalTime:
Dùng định dạng ISO 8601 duration: PT30M (30 phút), PT1H (1 giờ), PT1H30M (1 giờ 30 phút). Ước tính hợp lý dựa trên độ phức tạp thực tế của task.
VideoObject schema cho video
VideoObject schema giúp video của bạn xuất hiện trong kết quả tìm kiếm video của Google và có thể được hiển thị với rich snippet trên SERP.
Cấu trúc chuẩn:
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Hướng dẫn thiết kế website doanh nghiệp — 5 nguyên tắc cơ bản",
"description": "Video hướng dẫn 5 nguyên tắc thiết kế website cho doanh nghiệp dịch vụ Việt Nam",
"thumbnailUrl": "https://example.com/video-thumbnail.jpg",
"uploadDate": "2026-05-30T08:00:00+07:00",
"duration": "PT8M30S",
"contentUrl": "https://example.com/video.mp4",
"embedUrl": "https://www.youtube.com/embed/VIDEO_ID",
"publisher": {
"@type": "Organization",
"name": "Tên công ty",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
}
}
Lưu ý triển khai:
thumbnailUrl phải là hình ảnh có thể truy cập công khai. Google crawl thumbnail để hiển thị trong kết quả video.
duration dùng định dạng ISO 8601.
contentUrl và embedUrl không bắt buộc cả hai nhưng nên có ít nhất một. Nếu video host trên YouTube, chỉ cần embedUrl là đủ.
Chỉ thêm VideoObject khi trang thực sự có video nhúng — không tạo schema cho video không tồn tại trên trang.
Common errors + warnings
| Lỗi | Mô tả | Cách sửa |
|---|---|---|
| Missing required field | Thiếu trường bắt buộc như name hoặc offers |
Kiểm tra schema.org và bổ sung trường còn thiếu |
| Invalid date format | Ngày không đúng định dạng ISO 8601 | Dùng format: 2026-05-30T08:00:00+07:00 |
| URL not crawlable | URL trong schema bị chặn bởi robots.txt | Bỏ chặn URL hoặc dùng URL khác |
| Price mismatch | Giá trong schema khác giá hiển thị trên trang | Đồng bộ giá schema với giá HTML |
| Incorrect type | Dùng sai @type cho nội dung | Tra cứu lại hierarchy schema.org |
| Duplicate FAQ | Nhiều FAQ schema trên cùng một trang | Chỉ giữ một FAQPage schema mỗi trang |
| Empty answer | Câu trả lời FAQ quá ngắn hoặc rỗng | Mở rộng câu trả lời ít nhất 50 từ |
| Future dateModified | dateModified là ngày trong tương lai | Dùng ngày hiện tại hoặc quá khứ |
| Rating without reviews | Thêm AggregateRating nhưng không có review thực | Xóa AggregateRating hoặc chỉ thêm khi có review thật |
| Logo too small | Logo trong schema nhỏ hơn 112px | Dùng logo ít nhất 112x112px |
Các cảnh báo thường gặp (không lỗi nhưng cần chú ý):
Unparsable structured data — schema có cú pháp JSON không hợp lệ. Chạy qua JSON validator trước.
Structured data not representative of page content — schema mô tả nội dung không khớp với nội dung thực của trang. Google có thể bỏ qua schema này.
No rich results eligible — schema hợp lệ nhưng Google không đủ tự tin để hiển thị rich result. Thường do nội dung trang không đủ mạnh hoặc E-E-A-T thấp.
Test tools — Google Rich Results, Schema.org Validator
Google Rich Results Test (search.google.com/test/rich-results):
Đây là tool chính thức của Google để kiểm tra schema. Nó phân tích trang và cho biết schema nào được nhận diện và có khả năng hiển thị rich result hay không. Ưu điểm: phản ánh chính xác cách Google đọc trang. Nhược điểm: không kiểm tra được tất cả loại schema.
Cách dùng: nhập URL trực tiếp (kiểm tra trang đã published) hoặc dán code snippet (kiểm tra nhanh trước khi deploy).
Schema.org Validator (validator.schema.org):
Kiểm tra tính hợp lệ của schema theo chuẩn schema.org. Phù hợp để bắt các lỗi syntax và field không hợp lệ. Ít nghiêm ngặt hơn Google Rich Results Test về các quy tắc riêng của Google.
Google Search Console — Enhancement Reports:
Sau khi deploy schema, theo dõi trong Search Console > Enhancements. GSC sẽ báo cáo các lỗi và cảnh báo được phát hiện khi Google crawl. Lưu ý: có độ trễ vài ngày đến vài tuần từ khi deploy đến khi xuất hiện trong báo cáo.
Công cụ bổ sung:
Merkle Schema Markup Generator (technicalseo.com/tools/schema-markup-generator) — tạo schema cơ bản từ form điền. Hữu ích cho người mới bắt đầu. JSON-LD Playground — kiểm tra cú pháp JSON-LD và visualize output.
Quy trình test trước khi deploy:
- Validate JSON syntax bằng JSONLint hoặc tương tự
- Test trên Schema.org Validator để kiểm tra tính hợp lệ
- Test trên Google Rich Results Test với code snippet
- Deploy lên staging và test lại với URL thực
- Deploy production và monitor trong GSC sau 1-2 tuần
Implementation strategy (TypeScript example, factual)
Khi triển khai schema markup trong dự án React hoặc Next.js, cách hiệu quả nhất là tạo một utility function trung tâm để sinh JSON-LD và inject vào <head> của trang.
Ví dụ TypeScript cho trang dịch vụ:
// lib/schema.ts
interface OrganizationSchema {
name: string
url: string
logo: string
telephone: string
address: {
street: string
city: string
country: string
}
sameAs?: string[]
}
export function generateOrganizationSchema(data: OrganizationSchema) {
return {
'@context': 'https://schema.org',
'@type': 'ProfessionalService',
name: data.name,
url: data.url,
logo: data.logo,
telephone: data.telephone,
address: {
'@type': 'PostalAddress',
streetAddress: data.address.street,
addressLocality: data.address.city,
addressCountry: data.address.country,
},
sameAs: data.sameAs ?? [],
}
}
// Component inject schema
export function SchemaScript({ schema }: { schema: object }) {
return (
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>
)
}
Tối ưu hiệu suất:
Schema JSON-LD inject trong <head> không ảnh hưởng đến render performance vì Google chỉ parse nó sau khi tải trang. Kích thước schema thường nhỏ (< 2KB) nên không cần lo về bandwidth. Nếu dùng SSR/SSG, sinh schema tại build time để tránh overhead runtime.
Quản lý nhiều schema trên cùng một trang:
Có thể có nhiều script application/ld+json riêng biệt trên cùng một trang — mỗi script cho một loại schema. Hoặc gộp vào một mảng trong cùng một script:
[
{ "@context": "https://schema.org", "@type": "WebPage", ... },
{ "@context": "https://schema.org", "@type": "BreadcrumbList", ... }
]
Cả hai cách đều được Google chấp nhận. Dùng script riêng biệt dễ debug hơn.
Câu hỏi thường gặp
Schema markup có trực tiếp tăng ranking không?
Không trực tiếp. Schema markup không phải là ranking factor theo Google. Tuy nhiên, rich results tăng click-through rate, và CTR cao hơn có thể gián tiếp ảnh hưởng đến ranking theo thời gian. Lợi ích chính của schema là visibility và CTR, không phải ranking.
Nên dùng JSON-LD hay Microdata?
JSON-LD là định dạng được Google khuyến nghị. Dễ triển khai, không can thiệp vào HTML, dễ debug. Microdata nhúng vào HTML attribute — khó quản lý hơn và không được ưu tiên. Trừ khi hệ thống CMS chỉ hỗ trợ Microdata, luôn dùng JSON-LD.
Mất bao lâu để schema được Google nhận diện?
Thường 1-4 tuần để Google crawl và xử lý schema mới. Thời gian để rich result xuất hiện có thể lâu hơn — phụ thuộc vào E-E-A-T và chất lượng nội dung tổng thể của website.
Có nên thêm schema cho mọi trang không?
Nên thêm BreadcrumbList và WebPage cho mọi trang. Các loại schema khác chỉ thêm khi phù hợp với nội dung thực tế của trang. Tránh thêm schema không liên quan — Google có thể penalize nếu phát hiện schema không khớp với nội dung.
Schema markup ảnh hưởng đến mobile search không?
Có. Rich results hiển thị trên cả desktop và mobile. Thực tế, vì mobile chiếm phần lớn traffic tìm kiếm tại Việt Nam, rich results trên mobile thường có tác động lớn hơn về CTR.
Trang có nhiều sản phẩm (trang danh mục) dùng schema gì?
Dùng ItemList cho trang danh mục. Mỗi item trong list có thể là Product với thông tin cơ bản. Tuy nhiên, rich results cho Product thường chỉ kích hoạt trên trang sản phẩm đơn lẻ, không phải trang danh mục.
Nên dùng tool nào để quản lý schema ở quy mô lớn?
Với website nhỏ (< 50 trang): viết schema thủ công trong code là đủ. Với website vừa (50-500 trang): dùng template function sinh schema từ dữ liệu. Với website lớn (> 500 trang): cân nhắc Google Tag Manager để quản lý schema hoặc tích hợp schema vào CMS.
Có thể thêm schema nếu website dùng WordPress không?
Có. Plugin Yoast SEO, Rank Math, và Schema Pro đều hỗ trợ schema markup. Rank Math có schema builder tương đối linh hoạt trong bản miễn phí. Lưu ý: kiểm tra lại output schema sau khi cài plugin vì nhiều plugin tạo schema thừa hoặc sai loại.
Kết luận + CTA
Việc theo dõi hiệu quả schema sau khi triển khai là bước thường bị bỏ qua. Sau khi deploy, đặt reminder 2 tuần để kiểm tra GSC Enhancements report. Sau 4 tuần, so sánh CTR của các trang có schema với các trang chưa có schema (cùng vị trí ranking) để đánh giá tác động thực tế. Theo dõi weekly trong 3 tháng đầu để bắt các lỗi mới phát sinh khi nội dung trang thay đổi.
Schema markup là một trong những kỹ thuật SEO kỹ thuật có tỷ lệ thực thi thấp nhất tại Việt Nam — phần lớn doanh nghiệp biết đến schema nhưng chưa triển khai đúng cách. Đây là cơ hội cạnh tranh thực tế: nếu đối thủ chưa có BreadcrumbList, FAQPage, và Organization schema được tối ưu, bạn có thể chiếm lĩnh phần lớn diện tích SERP với chi phí triển khai không đáng kể.
Bước đầu tiên thiết thực: chạy Google Rich Results Test trên homepage và 3 trang dịch vụ quan trọng nhất. Ghi lại những gì đang thiếu. Ưu tiên theo thứ tự: Organization schema → BreadcrumbList cho mọi trang → FAQPage cho các trang có Q&A → Product/Service schema cho trang dịch vụ.
Skylabs tư vấn và triển khai schema markup toàn diện cho website doanh nghiệp — từ audit hiện trạng, lập kế hoạch triển khai, đến monitoring và tối ưu liên tục. Liên hệ để được đánh giá miễn phí website của bạn.
Dịch vụ liên quan
Bài viết liên quan
Sẵn sàng bắt đầu?
Nhận tư vấn miễn phí về thiết kế website và landing page cho doanh nghiệp của bạn.