Video Object Schema
Loại schema markup thuộc lớp VideoObject trong schema.org, cung cấp thông tin cấu trúc như description, duration, uploadDate, thumbnailURL…
Video Object Schema là gì?
Video Object Schema là loại markup cấu trúc thuộc lớp VideoObject trong chuẩn schema.org. Đây là cách đánh dấu dữ liệu có cấu trúc trên trang web để giúp công cụ tìm kiếm (như Google) hiểu rõ hơn về nội dung video — bao gồm tiêu đề, mô tả, độ dài, thời điểm đăng, đường dẫn ảnh thu nhỏ (thumbnail), định dạng tệp, và nhiều thuộc tính khác.
Khác với thẻ meta thông thường hoặc thẻ <video> HTML5, Video Object Schema cung cấp ngữ nghĩa đầy đủ theo chuẩn quốc tế. Nó không thay thế cho việc tối ưu hóa video thực tế (như nén file, tên file, thẻ alt), mà bổ sung lớp thông tin máy đọc được — giúp tăng khả năng xuất hiện trong kết quả tìm kiếm nâng cao như Rich Results, Video Carousel hay Featured Snippets.
Tại sao quan trọng trong SEO?
Video Object Schema hỗ trợ SEO video theo ba hướng chính:
- Tăng khả năng hiển thị đặc biệt: Google ưu tiên hiển thị video có schema đầy đủ trong các định dạng Rich Results — ví dụ: kết quả video cuộn ngang (Video Carousel), snippet mở rộng với thumbnail và thời lượng, hoặc tích hợp vào Google Discover.
- Cải thiện độ chính xác lập chỉ mục: Giúp bot Google phân biệt rõ video nào là nội dung chính, video nào là phụ (ví dụ: quảng cáo, intro ngắn), từ đó giảm nhầm lẫn khi lập chỉ mục.
- Hỗ trợ đa nền tảng: Schema này cũng được sử dụng bởi Bing, Yandex và một số nền tảng AI tìm kiếm mới — giúp mở rộng phạm vi tiếp cận ngoài Google.
Lưu ý: Việc triển khai schema không đảm bảo xuất hiện Rich Result, nhưng thiếu schema gần như loại trừ khả năng đó hoàn toàn — vì Google yêu cầu bắt buộc một số thuộc tính nhất định để kích hoạt tính năng.
Cách hoạt động
Video Object Schema hoạt động bằng cách nhúng đoạn mã JSON-LD (hoặc Microdata/RDFa) vào phần <head> hoặc trước thẻ </body> của trang chứa video. Khi bot tìm kiếm quét trang, nó đọc và trích xuất các thuộc tính đã đánh dấu — sau đó so sánh với tiêu chí hiển thị Rich Result.
Google kiểm tra tính hợp lệ qua Google Search Console (phần Enhancements > Video) và công cụ URL Inspection. Nếu schema đúng và video đáp ứng điều kiện (ví dụ: thumbnail rõ nét, độ dài từ 30 giây trở lên, nội dung không trùng lặp), hệ thống sẽ cân nhắc hiển thị dưới dạng Rich Result.
Hướng dẫn thực hiện
Dưới đây là các bước triển khai Video Object Schema chuẩn xác:
- Xác định trang đích: Chỉ triển khai trên trang có video là nội dung chính (không áp dụng cho trang danh sách, trang chủ hay trang chứa nhiều video nhỏ).
- Chuẩn bị dữ liệu bắt buộc: Đảm bảo có đầy đủ các thuộc tính tối thiểu:
name,description,contentUrlhoặcembedUrl,duration(định dạng PTxMxS),uploadDate(định dạng ISO 8601), vàthumbnailUrl. - Chọn định dạng markup: Ưu tiên JSON-LD (dễ triển khai, ít lỗi, tương thích tốt nhất với Google). Tránh Microdata nếu trang dùng framework phức tạp (React/Vue có thể gây xung đột).
- Đặt mã đúng vị trí: Nhúng JSON-LD trong thẻ
<script type="application/ld+json">, đặt trong<head>hoặc ngay trước</body>. Không đặt bên trong component động nếu chưa render xong. - Kiểm tra và gửi lại: Dùng Google Search Console → URL Inspection để kiểm tra lỗi. Sau khi sửa, gửi yêu cầu lập chỉ mục lại.
Lỗi thường gặp
| Lỗi | Nguồn gốc | Cách khắc phục |
|---|---|---|
Missing required field "uploadDate" |
Thiếu ngày đăng hoặc định dạng sai (ví dụ: "2024-05-10" thay vì "2024-05-10T08:00:00+07:00") | Dùng định dạng đầy đủ ISO 8601. Nếu không biết giờ chính xác, có thể dùng "2024-05-10T00:00:00+07:00". |
Invalid duration format |
Ghi "5 phút" hoặc "300s" thay vì chuẩn PT5M hoặc PT300S | Dùng chuẩn ISO 8601: PT10M30S = 10 phút 30 giây; PT1H = 1 giờ. |
Thumbnail URL returns 404 or not accessible |
Ảnh thu nhỏ bị chặn bởi robots.txt, không public hoặc đường dẫn sai | Đảm bảo thumbnail có định dạng JPG/PNG, kích thước tối thiểu 160×90 px, không yêu cầu đăng nhập, và không bị chặn bởi X-Robots-Tag hoặc robots.txt. |
Ví dụ thực tế
Dưới đây là đoạn JSON-LD mẫu cho video hướng dẫn nấu phở bò đăng trên trang bài viết riêng:
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Cách nấu phở bò truyền thống tại nhà",
"description": "Hướng dẫn chi tiết từng bước nấu phở bò chuẩn vị Hà Nội: hầm xương, xử lý thịt, làm nước dùng trong và ngọt.",
"contentUrl": "https://example.com/videos/pho-bo.mp4",
"embedUrl": "https://example.com/embed/pho-bo",
"thumbnailUrl": [
"https://example.com/thumbnails/pho-bo-1.jpg",
"https://example.com/thumbnails/pho-bo-2.jpg"
],
"uploadDate": "2024-05-10T08:30:00+07:00",
"duration": "PT12M45S",
"expires": "2026-05-10T08:30:00+07:00",
"height": "1080",
"width": "1920",
"interactionCount": "12450"
}
Lưu ý: Các thuộc tính như height, width, interactionCount là tùy chọn — nhưng nên điền nếu có sẵn để tăng độ tin cậy.
Câu hỏi thường gặp
Video Object Schema có cần thiết với mọi video?
Không. Chỉ cần thiết khi video là nội dung chính của trang và bạn muốn nó xuất hiện trong Rich Results. Với video phụ (intro, quảng cáo, video minh họa ngắn), việc triển khai không mang lại lợi ích rõ rệt — thậm chí có thể gây nhiễu nếu không quản lý tốt.
Một trang có thể có nhiều Video Object Schema không?
Có thể, nhưng Google chỉ xử lý một schema VideoObject mỗi trang cho mục đích Rich Result. Nếu có nhiều video, nên chọn video quan trọng nhất làm đối tượng schema chính. Các video còn lại có thể dùng schema Clip hoặc không đánh dấu — tùy trường hợp.
Schema có ảnh hưởng đến thứ hạng tìm kiếm không?
Không trực tiếp. Video Object Schema không phải yếu tố xếp hạng (ranking factor), nhưng gián tiếp cải thiện hiệu suất SEO qua tăng CTR, thời gian ở lại trang và khả năng hiển thị — những tín hiệu hành vi mà Google dùng để đánh giá chất lượng trang. Do đó, tác động tích cực là có thật, nhưng không phải “bật công tắc là lên top”.