Technical SEO

Microdata

Cách nhúng dữ liệu cấu trúc trực tiếp vào HTML thông qua các thuộc tính itemprop, itemscope, itemtype.

3 lượt xem Cập nhật: 27/05/2026

Microdata là gì?

Microdata là một chuẩn đánh dấu dữ liệu cấu trúc được tích hợp trực tiếp vào mã HTML. Nó dùng các thuộc tính đặc biệt như itemscope, itemtypeitemprop để xác định rõ nội dung nào thuộc loại nào — ví dụ: tên sản phẩm, giá, ngày đăng bài, tác giả… Nhờ đó, công cụ tìm kiếm (như Google) hiểu sâu hơn về ngữ nghĩa trang web, không chỉ dựa vào từ khóa hay thẻ tiêu đề.

Microdata là một trong ba chuẩn dữ liệu cấu trúc được Google hỗ trợ chính thức, bên cạnh JSON-LD và RDFa. Trong thực tế, Google ưu tiên JSON-LD vì độ linh hoạt và dễ bảo trì, nhưng Microdata vẫn hợp lệ và được xử lý đầy đủ nếu triển khai đúng.

Tại sao quan trọng trong SEO?

Microdata giúp công cụ tìm kiếm nhận diện chính xác thông tin trên trang — từ đó tạo rich snippet (đoạn hiển thị mở rộng) trong kết quả tìm kiếm. Những rich snippet này tăng tỷ lệ nhấp (CTR) trung bình từ 15–30% so với kết quả thường, tùy ngành và đối tượng tìm kiếm.

Nó cũng hỗ trợ lập chỉ mục nhanh hơn cho nội dung phức tạp như sự kiện, công thức nấu ăn, đánh giá sản phẩm hay bài viết tin tức. Ngoài ra, Microdata góp phần xây dựng Knowledge Graph của Google — đặc biệt khi trang có thông tin rõ ràng về người, tổ chức, địa điểm hoặc tác phẩm.

Lưu ý: Microdata không phải yếu tố xếp hạng trực tiếp, nhưng ảnh hưởng gián tiếp qua CTR, thời gian ở lại trang và mức độ tin cậy của trang trong mắt thuật toán.

Cách hoạt động

Microdata hoạt động theo mô hình ba lớp:

  1. itemscope: Khai báo một vùng HTML chứa một đối tượng cụ thể (ví dụ: một sản phẩm).
  2. itemtype: Chỉ định loại đối tượng đó bằng URL schema.org (ví dụ: https://schema.org/Product).
  3. itemprop: Gắn thuộc tính cụ thể (tên, giá, hình ảnh…) vào các phần tử con bên trong vùng itemscope.

Mỗi itemprop phải nằm trong phạm vi của một itemscope đã khai báo itemtype. Không được đặt itemprop ngoài vùng itemscope — nếu không, dữ liệu sẽ bị bỏ qua.

Hướng dẫn thực hiện

Dưới đây là các bước triển khai Microdata chuẩn xác:

  1. Chọn schema phù hợp: Vào schema.org, tìm loại dữ liệu cần đánh dấu (ví dụ: Article, LocalBusiness, FAQPage).
  2. Xác định vùng HTML mục tiêu: Chọn thẻ bao ngoài (thường là <div>, <article> hoặc <section>) để đặt itemscopeitemtype.
  3. Gắn itemprop vào phần tử con: Đảm bảo mỗi itemprop khớp với thuộc tính được quy định trong schema (ví dụ: name, price, reviewRating).
  4. Kiểm tra bằng công cụ chính thức: Dùng Rich Results Test hoặc Schema Markup Validator để xác minh.
  5. Theo dõi hiệu quả: Kiểm tra báo cáo Rich Results trong Google Search Console sau 7–28 ngày.

Lỗi thường gặp

Dưới đây là những lỗi phổ biến nhất khi triển khai Microdata và cách khắc phục:

Lỗi Dấu hiệu Cách sửa
Thiếu itemscope hoặc itemtype Validator báo “Missing field 'itemtype'” Thêm cả hai thuộc tính vào cùng một thẻ cha — không được tách riêng.
Dùng itemprop ngoài phạm vi itemscope Dữ liệu không xuất hiện trong Rich Results Test Bao toàn bộ phần tử có itemprop bên trong thẻ có itemscope.
Sai URL schema (dùng HTTP thay vì HTTPS) Google báo “Invalid itemtype” Luôn dùng URL schema.org bắt đầu bằng https:// — ví dụ: https://schema.org/Event.
Thiếu thuộc tính bắt buộc Rich snippet không hiển thị dù không báo lỗi Xem tài liệu schema.org: mỗi loại đều có thuộc tính required (ví dụ: nameurl bắt buộc với Organization).

Ví dụ thực tế

Dưới đây là đoạn HTML đánh dấu một bài viết tin tức bằng Microdata:

<article itemscope itemtype="https://schema.org/NewsArticle">
  <h1 itemprop="headline">Cách trồng rau sạch tại nhà</h1>
  <p><time datetime="2024-04-10" itemprop="datePublished">10/04/2024</time></p>
  <div itemprop="author" itemscope itemtype="https://schema.org/Person">
    <span itemprop="name">Nguyễn Văn A</span>
  </div>
  <div itemprop="articleBody">
    <p>Rau sạch đang trở thành xu hướng…</p>
  </div>
</article>

Trong ví dụ trên:

  • itemscope itemtype="https://schema.org/NewsArticle" khai báo toàn bộ thẻ <article> là một bài báo.
  • itemprop="headline" gắn tiêu đề bài viết.
  • itemprop="datePublished"itemprop="author" cung cấp thời gian đăng và tác giả.
  • Phần author còn lồng thêm một itemscope khác để mô tả chi tiết người viết.

Câu hỏi thường gặp

Microdata có còn được Google hỗ trợ không?

Có. Google vẫn hỗ trợ Microdata đầy đủ đến thời điểm cập nhật gần nhất (tháng 4/2024). Tuy nhiên, họ khuyến nghị dùng JSON-LD vì dễ triển khai, ít gây xung đột với CSS/JS và dễ kiểm soát hơn khi cập nhật nội dung động.

Có thể dùng đồng thời Microdata và JSON-LD trên cùng một trang không?

Có thể, nhưng không nên. Việc dùng nhiều chuẩn cùng lúc có thể gây mâu thuẫn về dữ liệu (ví dụ: giá sản phẩm khác nhau giữa hai nguồn). Nếu bắt buộc, cần đảm bảo cả hai nguồn cung cấp thông tin giống nhau hoàn toàn. Trường hợp thông thường: chọn một chuẩn duy nhất và tuân thủ nghiêm ngặt.

Microdata ảnh hưởng đến tốc độ tải trang không?

Không đáng kể. Microdata chỉ là các thuộc tính HTML bổ sung — không chạy script, không gọi API, không làm chậm render. Kích thước tăng thêm thường dưới 1 KB/trang. Tuy nhiên, nếu nhúng sai cách (ví dụ: lặp nhiều lần trong vòng lặp PHP mà không kiểm soát), có thể làm mã HTML cồng kềnh — điều này tùy trường hợp và cần kiểm tra thực tế bằng PageSpeed Insights.