Lời đầu tiên, xin chúc anh em của cộng đồng Viblo nói riêng và anh em dân công nghệ nói chung bước sang năm mới gặt hái thêm nhiều thành tựu, sự nghiệp thăng tiến không ngừng nhé.
Lời mở đầu
Đợt vừa rồi mình có được giao 1 task là gắn Structured data vào các page của website. Thật là ngỡ ngàng và ngơ ngác khi đó giờ mình chả biết gì nhiều về SEO cũng như cái Structured data là cái gì cả. Thế rồi sau nhiều ngày lăn lộn, search nát cái google, mình cũng đã hoàn thành được cái task đó và tích luỹ thêm được nhiều kiến thức về SEO. Hôm nay mình xin chia sẻ lại với các bạn nhé. Let's gooo
1. Structured Data là gì ?
Structured data là một định dạng dữ liệu cho phép các công cụ tìm kiếm như Google hiểu được nội dung của trang web một cách dễ dàng và trực quan hơn. Điều này giúp tăng khả năng xuất hiện của trang web của bạn trên kết quả tìm kiếm và cải thiện trải nghiệm người dùng. Structured data thường được biểu diễn dưới dạng các đối tượng, thuộc tính và giá trị được định dạng theo chuẩn của các công cụ tìm kiếm. Ví dụ như Google sẽ sử dụng dữ liệu có cấu trúc tìm thấy trên web để hiểu nội dung của trang cũng như thu thập thông tin về web và thế giới nói chung, chẳng hạn như thông tin về con người, sách hoặc công ty có trong mã đánh dấu.
Định dạng được hỗ trợ
Google Tìm kiếm hỗ trợ dữ liệu có cấu trúc ở những định dạng sau đây, trừ trường hợp có quy định khác. Nhìn chung, bạn nên dùng định dạng dễ nhất để triển khai và duy trì (trong hầu hết trường hợp, đó là JSON-LD); Google có thể sử dụng cả 3 định dạng trên, miễn là mã đánh dấu đó hợp lệ và được triển khai đúng cách theo tài liệu của tính năng tương ứng.
-
JSON-LD (Nên dùng): Loại ký hiệu JavaScript được nhúng trong thẻ <script> trong các phần tử <head> và <body> của một trang HTML. Thẻ đánh dấu này không nằm xen kẽ với văn bản mà người dùng nhìn thấy, điều này giúp việc xác định các mục dữ liệu lồng nhau dễ dàng hơn, chẳng hạn như mục Country trong PostalAddress trong MusicVenue của một Event. Ngoài ra, Google có thể đọc dữ liệu JSON-LD khi dữ liệu đó được chèn theo phương thức động vào nội dung của trang, chẳng hạn như qua mã JavaScript hoặc các tiện ích nhúng trong hệ thống quản lý nội dung của bạn.
-
Vi dữ liệu: Đặc tả HTML cộng đồng mở được dùng để lồng dữ liệu có cấu trúc trong nội dung HTML. Giống như RDFa, Vi dữ liệu sử dụng các thuộc tính thẻ HTML để đặt tên cho các thuộc tính bạn muốn cung cấp dưới dạng dữ liệu có cấu trúc. Nó thường được dùng trong phần tử <body>, nhưng cũng có thể được dùng trong phần tử <head>.
-
RDFa: Một tiện ích HTML5 hỗ trợ dữ liệu được liên kết bằng cách sử dụng các thuộc tính thẻ HTML tương ứng với nội dung cho người dùng thấy mà bạn muốn mô tả cho các công cụ tìm kiếm. RDFa thường được sử dụng trong cả phần <head> và <body> của trang HTML.
Các loại structured data phổ biến
- Article: Cung cấp thông tin cơ bản về trang web như tiêu đề, mô tả và tên tác giả. Mẫu structured data của Article sẽ có dạng như sau:
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "NewsArticle", "headline": "Title of a News Article", "image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ], "datePublished": "2015-02-05T08:00:00+08:00", "dateModified": "2015-02-05T09:20:00+08:00", "author": [{ "@type": "Person", "name": "Jane Doe", "url": "https://example.com/profile/janedoe123" },{ "@type": "Person", "name": "John Doe", "url": "https://example.com/profile/johndoe123" }] } </script>
Và hình ảnh của nó khi hiển thị trên kết quả tìm kiếm:
- Breadcrumb: breadcrumb trên một trang cho biết vị trí của trang trong hệ thống phân cấp trang web và có thể giúp người dùng hiểu cũng như khám phá trang web một cách hiệu quả.
- Carousel: Kết quả tìm kiếm xuất hiện dưới dạng một bộ sưu tập hoặc danh sách tuần tự từ một trang web. Tính năng này phải được kết hợp với một trong những tính năng sau: Công thức nấu ăn, Khoá học, Nhà hàng, Phim.
- FAQ: Kết quả tìm kiếm sẽ hiển thị kèm theo các câu hỏi và câu trả lời có sẵn.
- Ngoài ra còn một số dạng khác (các bạn có thể tham khảo thêm tại đây)
Lưu ý: Mỗi loại structured data sẽ có những thuộc tính bắt buộc và những thuộc tính optional tương ứng với chế độ PC hay SP.
2. Các công cụ hỗ trợ sử dụng Sructured Data
Structured data SEO là một phương pháp quan trọng trong tối ưu hóa công cụ tìm kiếm. Tuy nhiên, việc tạo ra structured data thủ công có thể rất phức tạp và tốn thời gian. May mắn thay, có nhiều công cụ hỗ trợ tạo structured data một cách dễ dàng và nhanh chóng.
2.1 Google Structured Data Markup Helper
Google Structured Data Markup Helper là một công cụ trực tuyến của Google, được thiết kế để giúp bạn tạo ra structured data cho trang web của mình một cách nhanh chóng và dễ dàng. Bạn chỉ cần nhập URL của trang web của mình vào công cụ và chọn loại dữ liệu mà bạn muốn định dạng. Google Markup Helper sẽ cho phép bạn chọn các phần tử của trang web của bạn và gắn nhãn chúng với các thuộc tính có sẵn.
2.2 Schema.org
Schema.org là một thư viện định dạng dữ liệu có tổ chức được phát triển bởi Google, Microsoft và Yahoo. Thư viện này chứa hàng trăm loại dữ liệu, bao gồm các loại dữ liệu phổ biến như sản phẩm, sự kiện và đánh giá. Schema.org cung cấp hướng dẫn chi tiết về cách sử dụng mỗi loại dữ liệu và cung cấp các ví dụ minh họa.
2.3 JSON-LD Generator
JSON-LD Generator là một công cụ miễn phí cho phép bạn tạo ra định dạng dữ liệu có tổ chức JSON-LD cho trang web của mình. Bạn chỉ cần nhập thông tin về trang web của mình và chọn loại dữ liệu mà bạn muốn định dạng. JSON-LD Generator sẽ tạo ra mã JSON-LD cho bạn, mà bạn có thể dán vào trang web của mình.
2.4 All In One Schema Rich Snippets
All In One Schema Rich Snippets là một plugin WordPress miễn phí, cung cấp một loạt các tính năng về structured data. Plugin này cho phép bạn tạo ra các dạng dữ liệu phổ biến như danh mục sản phẩm, tin tức, đánh giá sản phẩm và sự kiện. All In One Schema Rich Snippets cũng cung cấp một số tính năng tùy chỉnh để bạn có thể tùy biến dữ liệu của mình một cách dễ dàng.
3. Cách đưa Structured Data vào trang web của bạn
Sau khi đã tạo ra structured data cho trang web của mình, bạn cần đặt nó vào trang web để các công cụ tìm kiếm có thể đọc và sử dụng nó. Dưới đây là một số cách để đặt structured data vào trang web của bạn:
Sử dụng mã nhúng trực tiếp
Một cách đơn giản nhất để đặt structured data vào trang web của bạn là sử dụng mã nhúng trực tiếp. Bạn có thể dán mã vào thẻ <head> của trang web của mình hoặc đặt nó vào các thẻ HTML phù hợp trên trang (Cách mà mình đã sử dụng trong cái task được giao)
- Đầu tiên bạn cần tạo ra đoạn code Structured Data (Theo cú pháp của Json-ld dựa trên mẫu của google "tại đây" và schema.org "tại đây")
- Sau đó đặt nó vào page cần thêm, nằm trong thẻ script như ví dụ sau
<script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Recipe", "name": "Party Coffee Cake", "author": { "@type": "Person", "name": "Mary Stone" }, "datePublished": "2018-03-10", "description": "This coffee cake is awesome and perfect for parties.", "prepTime": "PT20M" } </script>
Sử dụng plugin WordPress
Nếu bạn sử dụng WordPress, có nhiều plugin có sẵn để giúp bạn dễ dàng đặt structured data vào trang web của mình. Ví dụ, plugin Yoast SEO cho phép bạn tạo và đặt mã structured data vào trang web của mình với các tính năng tùy chỉnh linh hoạt.
Sử dụng Google Tag Manager
Google Tag Manager là một công cụ quản lý đo lường của Google, cho phép bạn quản lý các mã theo dõi và nhúng chúng vào trang web của mình một cách dễ dàng. Bạn có thể sử dụng Google Tag Manager để đặt structured data vào trang web của mình và quản lý nó một cách tiện lợi.
Sử dụng API của Google
Nếu bạn có kiến thức kỹ thuật cao và muốn tùy chỉnh việc đặt structured data vào trang web của mình, bạn có thể sử dụng API của Google để đọc và viết dữ liệu structured data. API này cung cấp cho bạn nhiều tính năng linh hoạt để tạo và đặt structured data vào trang web của mình.
4. Công cụ kiểm tra Structured Data trên web của bạn
Ở đây mình hay sử dụng 2 công cụ để kiểm tra xem cú pháp Structured Data của mình có hợp lệ hay chưa và nó đã được ghi nhận bởi Google hay chưa, bao gồm:
4.1 Rich Result Test (Link nè)
Công cụ này được phát hành bởi Google, cho phép chúng ta kiểm tra nội dung Structured Data của 1 trang web có hợp lệ hay chưa, và bao gồm những loại nào. Đối với những website đã được public lên internet và google có thể quét được, thì các bạn có thể nhập trực tiếp đường dẫn trang web vào và bấm kiểm tra. Ví dụ như ở đây mình kiểm tra thử website của Viblo có dùng Structured data hay không:
Kết quả cho thấy trang bài viết của Viblo đang sử dụng loại Article nè. Chúng ta có thể bấm vào để xem chi tiết
Nội dung chi tiết:
Ngoài ra, nếu bạn đang trong quá trình triển khai dưới local, bạn có thể copy đoạn json của structured data và dán vào ô nhập mã
4.2 Google Search Console (Link nè)
Google Search Console (trước đây là Google Webmaster Tools) là một công cụ miễn phí của Google dành cho các chủ sở hữu website để giúp họ theo dõi và tối ưu hóa hiển thị kết quả tìm kiếm trên Google. Trong này sẽ có 1 mục là "Enhancement". Tại đây sẽ thể hiện những loại structured data mà google phát hiện được trên website của bạn, bên cạnh đó là những url cụ thể
5. Lưu ý khi triển khai
Theo như nội dung trên tài liệu của google có nhắc đến về việc hiển thị kết quả tìm kiếm như sau:
Google không đảm bảo rằng dữ liệu có cấu trúc của bạn sẽ xuất hiện trong kết quả tìm kiếm, ngay cả khi công cụ Kiểm tra kết quả nhiều định dạng cho biết bạn đã đánh dấu trang của mình đúng cách.
Dưới đây là một số lý do phổ biến:
- Việc sử dụng dữ liệu có cấu trúc sẽ cho phép một tính năng xuất hiện, chứ không đảm bảo rằng tính năng đó sẽ xuất hiện. Thuật toán của Google điều chỉnh kết quả tìm kiếm để tạo kết quả mà chúng tôi cho là mang lại trải nghiệm tìm kiếm tốt nhất cho người dùng, tuỳ thuộc vào nhiều yếu tố (trong đó có nhật ký tìm kiếm, vị trí và loại thiết bị). Trong một số trường hợp, thuật toán này có thể xác định tính năng nào phù hợp hơn, hoặc thậm chí là kết quả dạng văn bản phù hợp nhất.
- Dữ liệu có cấu trúc không thể hiện nội dung chính của trang hoặc có khả năng gây nhầm lẫn. Dữ liệu có cấu trúc không chính xác, nhưng vì lý do nào đó mà công cụ Kiểm tra kết quả nhiều định dạng không phát hiện được.
- Nội dung mà dữ liệu có cấu trúc mô tả bị ẩn trước người dùng.
- Trang không đáp ứng các nguyên tắc về dữ liệu có cấu trúc được mô tả trên trang này, nguyên tắc đối với một tính năng dữ liệu có cấu trúc cụ thể, Nguyên tắc cơ bản của Tìm kiếm hoặc Chính sách nội dung đối với Google Tìm kiếm.
Ngoài ra, các bạn lưu ý phải tuân theo các tiêu chuẩn cộng đồng về nội dung đưa vào structured data.
Tài liệu Tham Khảo
-
Giới thiệu về Structured data:
https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data
-
Các loại Structured data Google công nhận:
https://developers.google.com/search/docs/appearance/structured-data/search-gallery
-
Cú pháp và thuộc tính theo format Json-ld: