international structured data
Dữ liệu có cấu trúc (schema.org) được đánh dấu theo ngôn ngữ và khu vực, hỗ trợ rich result và hiểu ngữ cảnh toàn cầu.
international structured data là gì?
International structured data (dữ liệu có cấu trúc quốc tế) là cách đánh dấu dữ liệu có cấu trúc (schema.org) trên trang web sao cho công cụ tìm kiếm hiểu được ngôn ngữ, khu vực địa lý và phiên bản nội dung dành riêng cho từng thị trường. Khác với dữ liệu có cấu trúc thông thường — chỉ mô tả nội dung chung như tên bài viết, ngày đăng, đánh giá — dữ liệu quốc tế bổ sung thông tin về ngôn ngữ (lang), khu vực (region) và mối quan hệ giữa các phiên bản ngôn ngữ (ví dụ: phiên bản tiếng Đức cho Đức, tiếng Đức cho Áo). Đây không phải là một loại schema riêng, mà là cách áp dụng đúng các thuộc tính chuẩn như hreflang, inLanguage, availableLanguage, sameAs và potentialAction trong bối cảnh đa ngôn ngữ – đa khu vực.
Tại sao quan trọng trong SEO?
Khi website phục vụ nhiều quốc gia và ngôn ngữ, Google cần phân biệt rõ: phiên bản nào dành cho ai, ở đâu, và chúng có liên hệ thế nào với nhau. Nếu thiếu dữ liệu có cấu trúc quốc tế, công cụ tìm kiếm có thể:
- Hiển thị kết quả sai ngôn ngữ cho người dùng (ví dụ: hiển thị trang tiếng Pháp cho người tìm kiếm tại Việt Nam);
- Bỏ qua rich result (kết quả mở rộng) vì không xác định được ngữ cảnh địa phương;
- Hiểu nhầm các phiên bản là nội dung trùng lặp thay vì phiên bản hợp lệ theo khu vực;
- Không ưu tiên hiển thị phiên bản phù hợp trong SERP quốc tế (ví dụ: không hiện trang tiếng Nhật khi người dùng ở Tokyo tìm bằng tiếng Nhật).
Theo tài liệu chính thức của Google (cập nhật tháng 3/2024), dữ liệu có cấu trúc quốc tế giúp tăng độ tin cậy của hreflang, hỗ trợ tốt hơn cho tính năng multiregional search và là yếu tố bổ trợ (không bắt buộc nhưng khuyến khích) để đạt rich result ở thị trường mục tiêu.
Cách hoạt động
Dữ liệu có cấu trúc quốc tế hoạt động dựa trên hai lớp thông tin đồng thời:
- Lớp định danh ngôn ngữ & khu vực: Dùng thuộc tính
@language(trong JSON-LD) hoặc thẻhreflangtrong HTML để khai báo ngôn ngữ và quốc gia (ví dụ:de-DE,en-GB,vi-VN); - Lớp liên kết ngữ nghĩa: Dùng
sameAs,mainEntityOfPage, hoặcpotentialActionđể nối các phiên bản cùng chủ đề nhưng khác ngôn ngữ — giúp Google hiểu đây là các biến thể chứ không phải nội dung độc lập.
Google đọc cả hai lớp này cùng lúc với dữ liệu từ hreflang, ccTLD (tên miền quốc gia) và cấu hình Search Console để xây dựng bản đồ nội dung toàn cầu.
Hướng dẫn thực hiện
Dưới đây là 5 bước triển khai chuẩn, áp dụng cho website có ít nhất 2 phiên bản ngôn ngữ/khu vực:
- Xác định rõ cấu trúc quốc tế: Phân biệt giữa multilingual (nhiều ngôn ngữ) và multiregional (nhiều khu vực). Ví dụ:
example.com/de/(tiếng Đức cho Đức) khác vớiexample.com/at/de/(tiếng Đức cho Áo). - Sử dụng hreflang đúng chuẩn: Đặt thẻ
<link rel="alternate" hreflang="vi-VN" href="https://example.com/vi/">trong<head>của mọi trang đa ngôn ngữ. Mỗi trang phải khai báo đầy đủ tất cả phiên bản liên quan. - Thêm dữ liệu có cấu trúc JSON-LD với thông tin quốc tế: Dưới đây là ví dụ tối thiểu cho trang tiếng Việt tại Việt Nam:
{"@context":"https://schema.org","@type":"WebPage","inLanguage":"vi-VN","availableLanguage":["vi-VN","en-US","ja-JP"],"sameAs":["https://example.com/en/","https://example.com/ja/"]}
- Kiểm tra tính nhất quán: Đảm bảo
hreflang,inLanguage, tên miền (ccTLD hoặc subdirectory), và cấu hình Search Console đều khớp nhau. Không được có mâu thuẫn như:hreflang="en-GB"nhưnginLanguage="en-US". - Test và giám sát: Dùng Google Search Console > Báo cáo “Hiệu suất” + bộ lọc “Địa điểm”, kết hợp công cụ URL Inspection để kiểm tra rich result khả dụng theo khu vực.
Lỗi thường gặp
| Lỗi | Hệ quả | Cách khắc phục |
|---|---|---|
Một trang khai báo hreflang="x-default" nhưng không có dữ liệu có cấu trúc tương ứng |
Google không hiểu phiên bản mặc định nên có thể chọn sai phiên bản cho người dùng không rõ vị trí | Thêm "inLanguage":"x-default" trong JSON-LD và đảm bảo trang đó tồn tại, không bị chặn bởi robots.txt |
Dùng inLanguage chỉ với mã ngôn ngữ (ví dụ: "vi") thay vì mã khu vực (ví dụ: "vi-VN") |
Thiếu ngữ cảnh khu vực → không hỗ trợ rich result theo quốc gia | Luôn dùng định dạng BCP 47 chuẩn: xx-XX (ví dụ: fr-FR, pt-BR). Trường hợp chỉ phân biệt ngôn ngữ, không phân biệt khu vực, vẫn nên dùng xx — nhưng không khuyến khích trong international SEO chuyên sâu. |
JSON-LD chứa sameAs nhưng thiếu hreflang hoặc ngược lại |
Google không xác nhận được mối quan hệ song song → bỏ qua rich result quốc tế | Triển khai đồng bộ: nếu có sameAs, phải có hreflang đầy đủ ở cả hai phía; kiểm tra bằng công cụ hreflang validator. |
Ví dụ thực tế
Website thương mại điện tử shopee.vn có phiên bản tiếng Thái (shopee.co.th) và tiếng Indonesia (shopee.co.id). Trên trang sản phẩm “điện thoại Samsung Galaxy S24”, họ triển khai:
- Thẻ
<link rel="alternate" hreflang="vi-VN" href="https://shopee.vn/...">trong<head>của trang tiếng Việt; - JSON-LD với
@type: Product,inLanguage: "vi-VN",sameAs: ["https://shopee.co.th/...", "https://shopee.co.id/..."]; - Giá và đơn vị tiền tệ được khai báo riêng theo khu vực qua thuộc tính
offers.priceCurrency(VND, THB, IDR).
Kết quả: Khi người dùng ở Thái Lan tìm bằng tiếng Thái, Google ưu tiên hiển thị trang shopee.co.th kèm rich result đánh giá và giá — nhờ dữ liệu có cấu trúc quốc tế làm rõ ngữ cảnh.
Câu hỏi thường gặp
Dữ liệu có cấu trúc quốc tế có thay thế được hreflang không?
Không. hreflang là tín hiệu bắt buộc để Google phân phối nội dung theo ngôn ngữ/khu vực. Dữ liệu có cấu trúc quốc tế là tín hiệu bổ sung — giúp nâng cao độ chính xác và kích hoạt rich result. Hai yếu tố phải đi cùng nhau.
Có cần dùng dữ liệu có cấu trúc quốc tế cho website chỉ có một ngôn ngữ nhưng phục vụ nhiều quốc gia?
Có thể cần. Ví dụ: website tiếng Anh bán hàng tại Mỹ, Canada, Úc — nếu nội dung có khác biệt về giá, thuế, vận chuyển, thì nên dùng inLanguage: "en-US", "en-CA", "en-AU" kèm offers và areaServed. Nếu nội dung hoàn toàn giống nhau, chỉ cần hreflang và cấu hình Search Console là đủ.
Google hỗ trợ tất cả mã khu vực BCP 47 không?
Google hỗ trợ hầu hết mã BCP 47 được IANA công nhận, nhưng việc hiển thị rich result theo khu vực phụ thuộc vào mức độ phổ biến của thị trường và dữ liệu người dùng. Một số mã ít dùng (ví dụ: de-LI cho Liechtenstein) có thể không kích hoạt rich result — tùy trường hợp.