Giải thích HTML ngữ nghĩa: mỗi thẻ cấu trúc có ý nghĩa gì, giúp trình đọc màn hình, Google và trợ lý AI đọc trang của bạn thế nào, và những lỗi cần sửa trước tiên.

Trên trang này
Tóm lại
HTML ngữ nghĩa nghĩa là dùng các thẻ mô tả nội dung là gì (<header>, <nav>, <main>, <article>, <section>, <aside>, <footer>, tiêu đề có thứ tự, <figure>, <time>, <table>) thay vì dùng <div> và <span> ở khắp nơi. Cách này cho phép trình đọc màn hình điều hướng theo các vùng mốc, giúp Google xác định nội dung chính của trang và giúp trợ lý AI dễ trích xuất một đoạn văn rõ ràng, tự đứng vững. Nó không tốn chi phí khi xây dựng trang và rất khó thêm vào sau này.
Muốn tìm hiểu sâu hơn? Hãy hỏi
Bài trắc nghiệm nhanh
Ai nên sửa phần kỹ thuật của website?
Lời khuyên dành cho bạn
Tự kiểm tra bằng các công cụ miễn phí của Google
Search Console liệt kê các trang Google không đọc được, còn PageSpeed Insights kiểm tra tốc độ. Nhiều lỗi nhỏ có thể sửa ngay trong phần cài đặt của trình tạo website.
Lời khuyên dành cho bạn
Một lập trình viên web
Vấn đề nằm ở mã nguồn hoặc máy chủ: lập trình viên hiểu SEO là người phù hợp. Hãy đưa cho họ danh sách lỗi từ Search Console.
Lời khuyên dành cho bạn
Công cụ kiểm tra kỹ thuật
Website của bạn có nhiều trang: một công cụ thu thập dữ liệu sẽ đọc tất cả giống Google và đưa danh sách đầy đủ các lỗi cần sửa, từng trang một.
Lời khuyên dành cho bạn
Kiểm tra tự động, rồi đến nội dung
Website hoạt động bình thường nhưng ít khách truy cập: lỗi kỹ thuật hiếm khi là nguyên nhân. Sorank kiểm tra website, rồi viết các trang đưa lượng truy cập về.
Trình duyệt hiển thị một <div> và một <nav> giống nhau. Sự khác biệt nằm ở ý nghĩa: HTML ngữ nghĩa cho mọi chương trình đọc trang biết mỗi khối đóng vai trò gì. MDN định nghĩa đây là việc dùng các phần tử theo ý nghĩa của chúng, không theo giao diện mặc định. Công cụ tìm kiếm, công nghệ hỗ trợ tiếp cận và các robot thu thập dữ liệu cung cấp cho mô hình AI đều được lợi từ ý nghĩa đó.
Tiêu chuẩn HTML định nghĩa hàng chục phần tử. Đây là những phần tử cấu trúc hầu hết các trang nội dung:
| Thẻ | Vai trò | Cách dùng thông thường |
|---|---|---|
| <header> | Nội dung giới thiệu của trang hoặc của một phần | Logo, tên website, tiêu đề bài viết kèm tác giả và ngày |
| <nav> | Khối các liên kết điều hướng chính | Menu chính, breadcrumb, mục lục |
| <main> | Nội dung chính duy nhất của trang (mỗi trang chỉ có một thẻ hiển thị) | Mọi thứ ngoại trừ header, menu, thanh bên và footer |
| <article> | Nội dung độc lập, có ý nghĩa khi đứng riêng | Bài blog, thẻ sản phẩm, bình luận, tin tức |
| <section> | Nhóm nội dung theo chủ đề, thường có tiêu đề | Một chương của hướng dẫn, một khối của trang đích |
| <aside> | Nội dung liên quan đến nội dung chính nhưng tách biệt khỏi nó | Thanh bên, liên kết liên quan, hộp thuật ngữ |
| <footer> | Thông tin kết thúc của trang hoặc của một phần | Liên kết pháp lý, liên hệ, ghi chú về tác giả |
| <h1> đến <h6> | Thứ bậc tiêu đề | Một <h1> cho chủ đề trang, <h2> cho các phần, <h3> cho các mục nhỏ |
| <figure> và <figcaption> | Hình minh họa kèm chú thích | Biểu đồ, ảnh, sơ đồ kèm chú thích |
| <time> | Ngày hoặc giờ ở dạng máy đọc được | Ngày xuất bản và ngày cập nhật |
| <table>, <th>, <caption> | Dữ liệu dạng bảng có tiêu đề | So sánh, giá cả, thông số kỹ thuật |
Các thẻ ở cấp văn bản cũng mang ý nghĩa: <strong> để nhấn mạnh tầm quan trọng, <em> để nhấn giọng, <blockquote> và <cite> cho trích dẫn, <ul> và <ol> cho danh sách, <a> cho liên kết và <button> cho hành động.
Trình đọc màn hình xây dựng một bản đồ của trang từ các thẻ của nó. Các vùng mốc <header>, <nav>, <main>, <aside> và <footer> cho phép người dùng nhảy thẳng đến menu hoặc nội dung, còn danh sách tiêu đề đóng vai trò như một mục lục. Vì lý do đó, các hướng dẫn về khả năng truy cập của W3C về cấu trúc trang khuyến nghị các vùng này và thứ tự tiêu đề hợp lý.
Một <div> có thể nhấp chuột thì bàn phím không tới được và trình đọc màn hình không thông báo gì, trừ khi bạn tự xây lại những gì một <button> gốc cung cấp sẵn. Các phần tử gốc đi kèm vai trò, tiêu điểm bàn phím và hành vi mong đợi. Ở nhiều quốc gia, khả năng truy cập của website công cộng và thương mại còn là yêu cầu pháp lý, nên mã HTML sạch cũng là vấn đề tuân thủ.
Google chưa bao giờ coi các thẻ ngữ nghĩa là yếu tố xếp hạng trực tiếp, và một trang chỉ có <div> vẫn có thể xếp hạng. Giá trị của nó là gián tiếp nhưng có thật:
HTML ngữ nghĩa là một phần của SEO kỹ thuật, giống như URL gọn gàng hay trang tải nhanh: một nền tảng cho phép nội dung của bạn được đọc đúng cách.
ChatGPT, Gemini, Perplexity và Google AI Overviews không trích dẫn toàn bộ trang: họ chọn các đoạn văn. Các robot tải trang của bạn thường loại bỏ điều hướng và phần khuôn mẫu lặp lại, rồi cắt văn bản thành các khối. Một phần mở đầu bằng <h2> rõ ràng, trả lời câu hỏi của nó ngay trong đoạn đầu và nằm gọn trong một <section> sẽ tạo ra một khối sạch. Cùng nội dung đó nếu nằm rải rác trong các <div> lồng nhau, với tiêu đề được giả bằng chữ đậm, sẽ tạo ra những mảnh rời lẫn với các mục menu. Đọc hướng dẫn về chia nhỏ nội dung (chunking) của chúng tôi để biết cách viết các phần vượt qua được bước cắt này.
Dưới đây là khung của một bài blog, mô tả theo từng thẻ:
1. <header> chứa logo và một <nav> với menu chính. Khối này lặp lại trên mọi trang, nên robot sẽ học cách bỏ qua nó.
2. <main> mở ngay sau đó. Nó chứa một <article> duy nhất, là nội dung bạn muốn được lập chỉ mục và trích dẫn.
3. Bên trong <article>, một <header> gom <h1> (chủ đề trang), tên tác giả và một phần tử <time datetime="2026-10-18"> chứa ngày xuất bản ở dạng máy đọc được.
4. Mỗi phần của bài là một <section> bắt đầu bằng một <h2> được diễn đạt dưới dạng câu hỏi mà nó trả lời, tiếp theo là các đoạn <p>, danh sách <ul> hoặc một <table> có tiêu đề <th>.
5. Biểu đồ được đặt trong một <figure> với <img> có văn bản thay thế (alt) mô tả và một <figcaption> nêu biểu đồ thể hiện điều gì.
6. Các liên kết liên quan đặt trong một <aside>, nằm ngoài dòng chảy chính của bài viết.
7. Một <footer> kết thúc trang bằng các liên kết pháp lý và liên hệ.
Với khung này, người dùng trình đọc màn hình có thể nhảy đến nội dung chỉ bằng một lần bấm phím, Google thấy một bài viết chính với dàn ý rõ ràng, và một robot AI có thể lấy bất kỳ <section> nào làm câu trả lời độc lập.
Ba bước kiểm tra nhanh bao quát hầu hết các vấn đề. Thứ nhất, hiển thị dàn ý tiêu đề của trang và đọc riêng nó: nó phải kể được câu chuyện của nội dung. Thứ hai, tìm <main>, <nav> và <article> trong mã nguồn. Thứ ba, chỉ dùng bàn phím để duyệt trang và xem mọi liên kết và nút có tới được không. Kiểm toán SEO on-page của chúng tôi liệt kê các vấn đề về tiêu đề và đánh dấu cho bất kỳ URL nào, và tiện ích Chrome Sorank miễn phí hiển thị cấu trúc tiêu đề của trang bạn đang xem.
Dùng mỗi thẻ đúng với ý nghĩa của nó: một <main>, một <h1>, các phần có thứ tự và bảng thật sẽ cho người đọc, Google và AI cùng một bản đồ rõ ràng về trang của bạn. Khi cấu trúc đã sạch, nội dung vẫn phải được viết và xuất bản đều đặn: Sorank viết và xuất bản các bài viết đã tối ưu cho Google và AI một cách tự động (autopilot).
Google chưa từng mô tả các thẻ ngữ nghĩa là yếu tố xếp hạng trực tiếp, và các trang được xây bằng phần tử div chung chung vẫn có thể xếp hạng. Đánh dấu ngữ nghĩa giúp Google nhận diện nội dung chính và dàn ý của trang, từ đó hỗ trợ độ liên quan. Tác động của nó mang tính gián tiếp, thông qua việc hiểu trang tốt hơn.
Tiêu chuẩn HTML không cấm dùng nhiều thẻ h1, và Google cho biết họ có thể xử lý chúng. Tuy vậy, một thẻ h1 duy nhất nêu chủ đề trang, theo sau là các h2 và h3 có thứ tự, là cấu trúc rõ ràng nhất cho người dùng, trình đọc màn hình và công cụ tìm kiếm.
Article là nội dung có ý nghĩa khi đứng riêng và có thể được chia sẻ hoặc đăng lại độc lập, chẳng hạn một bài blog hay một thẻ sản phẩm. Section là một phần theo chủ đề của một tổng thể lớn hơn, thường được giới thiệu bằng một tiêu đề. Một article có thể chứa nhiều section, và một section có thể chứa nhiều article.
HỌ ĐÃ THỬ SORANK TRƯỚC BẠN
