Tìm hiểu Schema Markup là gì và cách ứng dụng thế nào là một trong những kỹ thuật SEO nâng cao, mà người làm tối ưu hóa website nhất định phải thực hiện.
Và nếu tìm hiểu đến đây, thì tôi đoán có lẽ bạn cũng đã nắm rõ những thao tác cơ bản khi tối ưu hóa website.
Vậy thì tìm hiểu tiếp thôi!
Trong bài viết này, tôi sẽ giải thích chi tiết về khái niệm Schema Markup, lợi ích của công cụ này, cách ứng dụng như thế nào cho hiệu quả…
NỘI DUNG CHÍNH
Schema Markup là gì?
Lợi ích của ứng dụng Schema.org vào website
Công cụ tìm kiếm hiểu nội dung website của bạn dễ dàng hơn
Website nổi bật hơn trên trang kết quả tìm kiếm
Phân biệt Structured Data, JSON-LD, và Schema.org
Structured data là gì?
JSON-LD, RDFa, và Microdata
Schema.org
Cách ứng dụng Schema.org vào website của bạn thế nào?
1. Xác định loại trang Schema cần dùng
2. Dùng công cụ để điền thông tin
3. Bổ sung dữ liệu cần thiết
4. Tạo và đưa mã HTML vào web
5. Tiếp tục đánh dấu dữ liệu Schema.org
Công cụ để tạo và kiểm tra Schema Markup
Công cụ tạo mã Schema
Kiểm tra Schema Markup
WordPress Plugins dùng cho Schema Markup
Vài lưu ý với Schema.org
Tóm lược
Đây là chủ đề trên mức SEO cơ bản một chút, và có phần hơi rắc rối, khó hiểu. Tôi sẽ cố gắng trình bày cặn kẽ theo quan điểm và kinh nghiệm của mình. Hy vọng bạn tập trung và kiên nhẫn để theo dõi.
Chúng ta bắt đầu với thuật ngữ…
Schema Markup là gì?
Schema Markup là loại ngôn ngữ dùng để đánh dấu dữ liệu có cấu trúc (structured data), giúp công cụ tìm kiếm có thể nhận biết và phân loại trang web được nhanh chóng và chính xác hơn.
Nếu nói đầy đủ thì thuật ngữ này phải là Schema.org, nhưng trong lĩnh vực SEO website, người ta thường gọi tắt là Schema hay Schema Markup.
Đây là sản phẩm hợp tác giữa 4 gã khổng lồ Google, Bing, Yandex, và Yahoo. Mục đích của ngôn ngữ này là để giúp người phát triển web cung cấp cho các công cụ tìm kiếm những chỉ dẫn cần thiết để chúng có thể hiểu nội dung, từ đó đưa ra kết quả tìm kiếm phù hợp nhất.
Tại sao cần như vậy?
Bởi thực tế có trên 1.94 tỉ website trên toàn thế giới (2019), và số lượng vẫn tăng lên nhanh chóng. Nội dung các trang web có thể dễ hiểu với con người. Nhưng với Search Engine thì không đơn giản như vậy, ít nhất thì đến hiện tại, chúng chưa đủ thông minh như chúng ta. Nhất là đối với những từ ngữ đa nghĩa, cần hiểu theo ngữ cảnh.
Ví dụ điển hình mà Schema.org đưa ra:
Đoạn mã
Avatar
báo cho trình duyệt hiển thị chuỗi ký tự “Avatar” trong thẻ tiêu đề
. Nhưng đoạn mã HTML này không cung cấp bất cứ thông tin gì về nghĩa của đoạn văn bản này. “Avatar” có thể đang đề cập đến một bộ phim nổi tiếng có cùng tên, nhưng cũng có thể nói tới hình ảnh đại diện, tùy theo ngữ cảnh. Điều này làm cho công cụ tìm kiếm gặp khó khăn khi tìm cách hiển thị một cách thông minh những nội dung liên quan cho người dùng.
Vậy làm cách nào để các công cụ tìm kiếm có thể hiểu và phân loại thông tin được nhanh chóng hơn?
Cần sắp xếp thông tin và hướng dẫn chúng theo những cú pháp có trước.
Và Schema Markup cung cấp những ngữ liệu để hướng dẫn cho Google biết trang web thuộc thể loại nào, chủ đề và nội dung gì, căn cứ theo định dạng cấu trúc có sẵn.
Trong ví dụ trên, đoạn mã có thể viết như sau:
Avatar
Khi đọc đoạn mã trên, căn cứ theo những từ khóa trong cú pháp, Search Engine sẽ hiểu đây là đoạn thông tin về một bộ phim (Movie) có tên (name) là Avatar.
Điều đáng nói là, cách tổ chức dữ liệu theo cấu trúc như vậy giúp Google hiểu nội dung nhanh và chính xác hơn về nội dung của trang.
Câu hỏi đặt ra là: Tại sao Schema Markup lại quan trọng với SEO website như vậy? Đó là nội dung tiếp theo.
Lợi ích của ứng dụng Schema.org vào website
Việc đánh dấu dữ liệu có cấu trúc trong website đem lại rất nhiều lợi ích khi SEO. Cụ thể như sau:
Công cụ tìm kiếm hiểu nội dung website của bạn dễ dàng hơn
Như trên tôi đã đề cập, Schema.org là sản phẩm kết hợp của 4 Search Engine lớn nhất hiện nay. Do đó, khi ứng dụng công cụ này, nghĩa là bạn giúp ông lớn này hiểu được tốt hơn nội dung từng trang web của bạn. Chúng hiểu chính xác hơn, nhanh hơn, thì sẽ đánh giá cao hơn. Và một cách gián tiếp, website của bạn có cơ hội được cải thiện thứ hạng tốt hơn khi ứng dụng chính xác Schema Markup.
Website nổi bật hơn trên trang kết quả tìm kiếm
Nội dung những trang web ứng dụng Schema có thể được Google hiển thị trên trang kết quả tìm kiếm. Trang web của bạn sẽ nổi bật và nhìn cuốn hút hơn với những trang chứa thông tin Schema kiểu Rich Snippets như: điểm đánh giá (với trang Product, Article), ngày đăng (Article), thời gian diễn ra sự kiện (Event)…
Kết hợp với yếu tố trên (thứ hạng cao hơn), và người dùng thấy hấp dẫn hơn, website sẽ được nhiều người nhấp chuột ghé thăm từ SERP. Nghĩa là bạn đã tăng được tỉ lệ nhấp chuột (CTR).
Lợi ích như vậy nên cũng dễ hiểu khi người làm SEO cần ứng dụng ngôn ngữ đánh dấu này vào website của mình.
Trên thực tế thì có một số thuật ngữ liên quan đến dữ liệu có cấu trúc mà chúng ta dễ nhầm lẫn với nhau. Nhân đây, tôi muốn phân biệt rõ một chút trước khi đi vào chia sẻ cách ứng dụng Schema Markup.
Phân biệt Structured Data, JSON-LD, và Schema.org
Những thuật ngữ này có sự liên quan đến nhau. Nhiều người không phân biệt rõ ràng (tôi cũng từng như như vậy). Và dưới đây là sự phân biệt cho rõ ràng hơn.
Structured data là gì?
Structured data là dữ liệu có cấu trúc, nghĩa là những dữ liệu có giá trị được tổ chức lại theo đúng cấu trúc định sẵn.
Ví dụ: bạn có một loạt thông tin rải rác về các mặt hàng, giá bán, mô tả, thông số kỹ thuật, xuất xứ… Và khi được sắp xếp thành một bảng dữ liệu gồm các hàng và cột, bạn đã có dữ liệu có cấu trúc. Có thể hình dung tương tự như dữ liệu trong 1 bảng Excel.
Dữ liệu có cấu trúc được sử dụng theo nhiều cách. Một trong số đó là Open Graph markup để khai báo tiêu đề và mô tả khi chia sẻ trên Facebook.
Nhưng phổ biến hơn trong lĩnh vực SEO, cụm từ “dữ liệu có cấu trúc” thường dùng để chỉ việc ứng dụng một số cách thức đánh dấu (markup) trên trang web, nhằm cung cấp thêm thông tin về nội dung của trang đó.
Phổ biến có 4 dạng thức (syntax / format) của dữ liệu có cấu trúc dùng trong tài liệu HTML mà các công cụ tìm kiếm hỗ trợ:
Microdata,
RDFa,
JSON-LD,
Microformats.
Những dạng cấu trúc này giúp chuyển dữ liệu không cấu trúc sang loại có cấu trúc, như minh họa trong hình dưới.
Trong đó, 3 loại đầu (Microdata, RDFa, và JSON-LD) sử dụng ngôn ngữ (vocabulary) có tên là Schema.org, thường gọi tắt là Schema. Loại thứ 3 thì cũng sử dụng luôn ngôn ngữ cùng tên (Microformats).
JSON-LD, RDFa, và Microdata là gì?
Microdata là 1 dạng đánh dấu dữ liệu có cấu trúc, hoạt động với HTML5, bao gồm 3 yếu tố: itemscope, itemtype và itemprops. Các yếu tố này được đưa trực tiếp vào các thẻ
Quay trở lại ví dụ đầu tiên, sử dụng Microdata thì mã sẽ thế này:
Avatar
Director: James Cameron
Science fiction
RDFa cũng có cú pháp gần giống với Microdata, chi tiết tại đây.
Trong khi đó JSON-LD là một dạng thức đánh dấu dữ liệu, bằng cách sử dụng từ ngữ mà con người hiểu được, và được tổ chức dữ liệu thành từng cặp. Đoạn mã JSON-LD được đưa trực tiếp vào cặp thẻ
, chứ không rải rác trong các thẻVí dụ, cũng nội dung cần đánh dấu như trên, nhưng sử dụng JSON-LD thì đoạn mã như sau:
Rõ ràng Microdata có chức năng tương tự như JSON-LD, nhưng khác nhau về cú pháp và cách sắp xếp. Cả 2 dạng này đều sử dụng ngôn ngữ Schema.org để ứng dụng vào website.
Trong thực tế, Google gợi ý và hỗ trợ dụng JSON-LD thay vì Microdata. Bởi thế, cũng dễ hiểu khi JSON-LD dần trở lên phổ biến hơn. Và trong bài này, tôi cũng chỉ giải thích cách sử dụng JSON-LD mà thôi.
Schema.org
Schema.org là hệ thống từ vựng (trong bài này tôi tạm dịch là “ngôn ngữ”) cho phép bạn đánh dấu dạng dữ liệu cấu trúc (kiểu JSON-LD hay Microdata) trong các trang web.
Để minh họa hết quan hệ của những thuật ngữ tôi vừa nêu trên, thì có thể xem sơ đồ này.
Nếu vẫn thấy khó phân biệt và muốn tìm hiểu chi tiết hơn về cách phân biệt các thuật ngữ, bạn có thể đọc bài viết này (tiếng Anh).
Trong bài này tôi chỉ tập trung vào Schema.org cho dạng thức JSON-LD, theo thứ tự như dưới đây:
Structured data => JSON-LD => Schema.org
Những dạng thức đánh dấu khác (Microdata, RDFa, hay Microformats), khi có điều kiện tôi sẽ cố gắng thảo luận trong bài viết khác. Cũng rất may là: chúng ta chỉ cần dùng 1 cách phù hợp để đánh dấu dữ liệu có cấu trúc là đã đạt hiệu quả SEO. Cụ thể, nếu bạn dùng JSON-LD thì không cần dùng Microdata hay Microformats nữa.
Cách ứng dụng Schema.org vào website thế nào?
Với khái niệm và tác dụng của việc sử dụng Schema Markup như trên, giờ là lúc cần tìm hiểu cách ứng dụng công cụ này vào website. Mục đích là để tăng hiệu quả SEO cho trang web.
Dưới đây là những bước chính bạn cần thực hiện:
1. Xác định loại trang Schema cần dùng
Việc đầu tiên cần làm là cần xác định rõ những trang nào trên website của bạn cần áp dụng Schema Markup. Thường đó là những trang bạn muốn được Google xếp hạng.
Chẳng hạn một trang web thông thường thì cần đánh dấu dữ liệu cho những trang quan trọng như: Trang chủ, giới thiệu công ty, danh sách sản phẩm / dịch vụ, chi tiết sản phẩm / dịch vụ, liên hệ. Còn những trang không cần được Google index, ví dụ: trang Chính sách riêng tư, thì khỏi cần đánh dấu Schema làm gì.
Tương ứng với mỗi trang cần đánh dấu, sẽ có một hoặc một vài mẫu Schema phù hợp.
Ví dụ: Trang chủ có thể sử dụng 2 loại: Website và Local Business. Trang bài viết có thể dùng Article, Webpage, và Breadcrumb. Trang chi tiết sản phẩm có thể dùng Product, Webpage, và Breadcrumb.
Vào thời điểm tôi viết bài này, Google công nhận nhiều loại trang khác nhau, phổ biến là những loại tôi liệt kê phía dưới.
Bài viết (Article)
Doanh nghiệp địa phương (Local Businesses)
Nhà hàng (Restaurants)
Đánh giá sách (Book Reviews)
Phim (Movies)
Sự kiện (Events)
Sản phẩm (Product)…
Để áp dụng mở rộng, bạn cũng có thể tra cứu Danh sách rút gọn hoặc Danh sách đầy đủ tất cả các dạng trang khác để ứng dụng tối đa khi làm SEO cho website của mình.
Theo khuyến cáo của Schema.org, bạn nên đánh dấu với càng nhiều càng tốt, miễn là phải có sự liên quan, và phải là những thông tin người dùng có thể nhìn thấy.
More is better, except for hidden text. In general, the more content you mark up, the better. However, as a general rule, you should mark up only the content that is visible to people who visit the web page and not content in hidden div’s or other hidden page elements.
2. Điền thông tin bằng công cụ
Nếu là dân chuyên nghiệp, bạn có thể tự viết code thủ công bằng tay. Nếu không tự code được, thì cũng chẳng sao. Vì rất may là Google có công cụ hỗ trợ, chúng ta đều có thể tự làm khá tiện và nhanh.
Để triển khai, bạn vào Google Structured Data Markup Helper, chọn loại trang mà mình thấy phù hợp.
Lấy ví dụ với trang bài viết này, tôi chọn “Article”, và điền URL của trang vào ô trống.
Sau khi chọn xong, nhấn nút “Start Tagging”, đợi một chút để Google lấy dữ liệu từ trang web, và chuyển sang màn hình ghi nhận thông tin.
Khi xong, bạn sẽ thấy giao diện với phía bên trái là trang web bạn vừa chọn URL, và bên phải là các thông số về dữ liệu cần điền thông tin.
3. Bổ sung dữ liệu cần thiết
Nhìn vào ô bên phải để biết những thông tin cần điền, bắt đầu với Name, Author, Date Published… Hãy tìm những dữ liệu đó bên cửa sổ phía trái. Làm 1 loại, và bạn sẽ hiểu ngay cách lặp lại tương tự cho những thông tin khác.
Bắt đầu với “Name” là tên bài viết: hãy tìm trên trang web của bạn bên cửa sổ phía trái. Dùng chuột đánh dấu cả cụm tên bài viết, thường là nhan đề. Khi buông chuột, bạn sẽ thấy 1 ô thả xuống gồm tên tiếng Anh các loại dữ liệu. Hãy chọn đúng loại dữ liệu tương ứng, lần đầu tiên này chính là “Name”.
Ngay sau khi bạn chọn, đợi giây lát, nhìn cửa sổ bên phải, bạn sẽ thấy Google đã tự điền tên bài viết mà bạn vừa chọn vào dòng “Name”.
Đúng như ý bạn mong muốn chưa?
Nếu chưa đúng, thì bạn nhấn nút “x” phía bên phải để xóa, và thao tác lại, đến khi chọn đúng nội dung mà mình thấy phù hợp.
Lặp lại công việc trên cho tất cả các dữ liệu khác như Author (tác giả), Published (ngày đăng).
Nếu website của bạn không có tất những dữ liệu liệt kê có trong bảng, thì cũng không sao. Chẳng hạn những thông tin về đánh giá của người dùng (Aggregate rating). Khi đó, hoặc là bạn bổ sung thông tin vào website, rồi đánh dấu những mục còn thiếu vừa bổ sung, nếu thấy phù hợp. Hoặc là bạn cứ để đúng như thực tế, dù chưa đủ nhưng vẫn đúng nguyên tắc: chỉ đánh dấu những gì người dùng nhìn thấy trên trang web.
Trường hợp có lý do hợp lý, và bạn muốn tự mình bổ sung thông tin không có sẵn trên web. Thì nhìn xuống góc phải dưới cùng, nhấn nút “Add missing tags”.
Bạn xem cửa sổ Popup, và nhập những thông tin còn thiếu cho từng dòng dữ liệu, theo hướng dẫn này.
Cho đến khi bạn hài lòng thì chuyển sang bước tiếp theo.
4. Tạo và đưa mã HTML vào web
Khi đã nhập đủ thông tin, bạn nhấn nút “CREATE HTML” ở góc phải trên cùng, bạn sẽ thấy cửa sổ bên phải xuất hiện đoạn mã HTML.
Hãy copy và dán đoạn mã này vào giữa 2 thẻ
của trang web. Sau đó kiểm tra và xác minh là xong 1 loại trang Schema.5. Tiếp tục đánh dấu dữ liệu Schema.org
Bạn làm cho chính trang vừa rồi, nhưng loại trang schema khác, ví dụ: sau khi làm cho “Article” thì làm tiếp “Website”.
Hoặc làm cho trang khác, chẳng hạn như trang bài viết (Local Business), hay trang Sản phẩm (Product).
Mỗi lần làm bạn đều nên kiểm tra lại cho chắc chắn Google đã hiểu đúng nội dung mà bạn vừa nhập, và không bị lỗi gì ngoài mong muốn.
Khi hoàn tất, bạn đã ứng dụng xong việc đánh dấu dữ liệu có cấu trúc trên website của mình bằng công cụ Schema.org với dạng thức JSON-LD.
Công cụ để tạo và kiểm tra Schema Markup
Bạn có thể tùy chọn nhiều công cụ để tạo và xác minh Schema Markup. Dưới đây là một vài công cụ:
Công cụ tạo mã Schema Markup
Google Data Highlighter
Google Structured Data Markup Helper (giới thiệu ở trên)
JSON-LD Schema Generator by Hall Analysis
Công cụ xác minh và kiểm tra Schema Markup
Yandex Structured data markup
Yandex Structured data validator API
Structured Data Testing Tool (giới thiệu ở trên)
Google Search Console Rich Cards
Google Rich Results Tester
Bing Webmaster Tools Markup Validator
WordPress Plugins cho Schema Markup
Yoast SEO Local
Yoast SEO
Một số mẫu theo loại trang Schema
Vài lưu ý với Schema.org
Việc hiểu Schema Markup là gì thì không hề khó. Và tìm cách tự tạo code cho 1 trang cũng không phải là vấn đề quá phức tạp. Tuy nhiên, với những website lớn gồm rất nhiều trang con, để làm Schema cho tất cả các trang cũng là một vấn đề về thời gian thực hiện.
Lấy ví dụ, với một website gồm vài nghìn sản phẩm, hay một trang blog vài trăm bài viết. Nếu phải tạo thủ công Schema cho từng webpage thì sẽ rất nhàm chán và mất thời gian.
Khi đó bạn cần kết hợp với người lập trình viên, để có phương thức ứng dụng đánh dấu dữ liệu có cấu trúc vào website một cách thuận tiện và tự động. Như với website này, tôi tạo mã lệnh để với mỗi bài viết (article) mới, sẽ tự động tạo các đoạn dữ liệu JSON-LD cần thiết. Như vậy, tôi không cần phải bổ sung thủ công cho từng bài viết mới.
Nếu bạn chưa có kinh nghiệm về mảng này, thì cố gắng nghiên cứu xem Framework mình sử dụng có hỗ trợ việc đó hay không. Hoặc thảo luận với người thiết kế web cho bạn, đề nghị họ hỗ trợ việc add các đoạn mã Schema.org vào website. Nếu người khác thực hiện, có thể bạn sẽ phải trả một ít chi phí dịch vụ. Nhưng vì lợi ích ứng dụng, nên hoàn toàn xứng đáng, nếu chi phí phải chăng.
Tóm lược
Hy vọng đến đây bạn đã hiểu và áp dụng việc đánh dấu dữ liệu có cấu trúc, mà cụ thể ở đây là JSON-LD với Schema.org vào website của mình.
Quả là một thành tựu đáng kể cho việc làm SEO. Hãy tự chúc mừng mình vì điều đó nhé. Tôi cũng vui và xin cám ơn bạn đã đọc đến tận dòng này của bài viết.
Hãy chia sẻ kinh nghiệm ứng dụng Schema Markup của mình. Bạn thấy thế nào, có khó không, có hữu ích không?