Sitemap XML không phải danh sách mọi URL đang tồn tại trên website, càng không phải mệnh lệnh buộc công cụ tìm kiếm lập chỉ mục. Đây là tín hiệu đề xuất: website đang nói “đây là những URL quan trọng, hợp lệ và muốn được xem xét”. Vì vậy, chỉ nên đưa vào sitemap những URL trả về 200 OK, có thể index và tự khai báo canonical.
Ngược lại, nếu file chứa nhiều URL noindex, URL chuyển hướng, URL tham số hoặc URL phân trang không có giá trị độc lập, độ tin cậy của toàn bộ sitemap sẽ giảm. Vấn đề không nằm ở việc file có được đọc hay không, mà ở chất lượng tín hiệu mà file đang gửi.
Sitemap XML là đề xuất, không phải lệnh index
Sitemap XML giúp công cụ tìm kiếm phát hiện các URL mà website muốn ưu tiên xem xét, đặc biệt hữu ích với website lớn, website có nhiều trang mới, cấu trúc liên kết nội bộ chưa tốt hoặc có các URL nằm sâu trong hệ thống. Tuy nhiên, việc một URL xuất hiện trong sitemap không bảo đảm URL đó được crawl hoặc index.
Công cụ tìm kiếm vẫn phải tự đánh giá nhiều yếu tố khác: URL có truy cập được không, nội dung có đủ giá trị không, có bị chặn bởi robots.txt không, có thẻ noindex không, canonical trỏ đi đâu và URL có trùng lặp với trang khác hay không.
Có thể hiểu đơn giản như sau:
- Sitemap: đề xuất danh sách URL nên được xem xét.
- Robots.txt: hướng dẫn crawler không nên truy cập khu vực nào.
- Meta robots noindex: yêu cầu không đưa trang vào chỉ mục, dù crawler vẫn có thể truy cập.
- Canonical: tín hiệu cho biết URL nào là phiên bản đại diện khi có nhiều URL tương tự.
Vì thế, sitemap không thể “cứu” một trang đang bị noindex, canonical sang URL khác hoặc trả về mã chuyển hướng. Đưa những URL đó vào cùng một file chỉ tạo ra tín hiệu mâu thuẫn.
Tiêu chuẩn URL nên có trong sitemap XML
Một URL đủ điều kiện đưa vào sitemap nên vượt qua bốn lớp kiểm tra cơ bản. Đây là bộ lọc thực tế có thể áp dụng cho trang sản phẩm, danh mục, bài viết, landing page và các loại nội dung khác.
1. URL trả về 200 OK
URL cần phản hồi thành công với mã trạng thái HTTP 200 OK. Không nên đưa URL trả về 301, 302, 404, 410 hoặc lỗi máy chủ 5xx vào file.
Trường hợp trang có thể hiển thị nội dung nhưng trả về mã 200 cho trang lỗi, thường gọi là soft 404, cũng không nên đưa vào sitemap. Công cụ tìm kiếm có thể coi đây là tín hiệu chất lượng thấp hoặc URL không tồn tại thực sự.
2. URL có thể index
URL cần không bị chặn bởi thẻ noindex, tiêu đề HTTP X-Robots-Tag: noindex hoặc quy tắc khiến crawler không thể truy cập. “Có thể mở bằng trình duyệt” chưa đủ để kết luận một URL có thể index.
Nếu đội nội dung chủ động đặt noindex cho trang lọc sản phẩm, trang tìm kiếm nội bộ, trang thử nghiệm hoặc landing page tạm thời, URL đó phải được loại khỏi sitemap ngay trong lần sinh file tiếp theo.
3. Canonical tự trỏ về chính URL
URL trong sitemap nên có thẻ canonical trỏ về chính nó, thường gọi là self-canonical. Ví dụ, nếu sitemap chứa:
https://example.com/danh-muc/san-pham-a
thì canonical của trang nên là:
<link rel="canonical" href="https://example.com/danh-muc/san-pham-a">
Nếu canonical trỏ sang một URL khác, sitemap đang đề xuất một URL nhưng trang lại nói URL khác mới là phiên bản chính. Khi đó, URL trong sitemap không còn là lựa chọn rõ ràng.
4. URL có giá trị tìm kiếm thực tế
Không phải mọi trang 200 OK và self-canonical đều đáng đưa vào sitemap. Trang phải có nội dung độc lập, phục vụ một nhu cầu tìm kiếm hoặc một mục tiêu kinh doanh cụ thể. Một trang sản phẩm còn hàng, bài viết chuyên sâu, trang dịch vụ chính hoặc danh mục có nội dung riêng thường phù hợp.
Ngược lại, trang có nội dung quá mỏng, gần như sao chép từ URL khác hoặc chỉ tồn tại để phục vụ một trạng thái lọc tạm thời nên được đánh giá riêng. Sitemap không phải công cụ để biến hàng nghìn URL chất lượng thấp thành URL quan trọng.
Bảng phân loại URL: nên đưa hay không?
| Loại URL | Có nên đưa vào sitemap không? | Vì sao |
|---|---|---|
| Trang chính, trang dịch vụ, danh mục có nội dung riêng | Có | Đây thường là URL quan trọng, trả về 200, có khả năng index và phục vụ nhu cầu rõ ràng. |
| Bài viết hoặc trang sản phẩm có giá trị, self-canonical | Có | Đại diện cho một chủ đề hoặc thực thể cụ thể, nên được công cụ tìm kiếm xem xét. |
URL noindex |
Không | Sitemap đề xuất index trong khi trang lại yêu cầu không index, tạo tín hiệu mâu thuẫn. |
| URL chuyển hướng 301 hoặc 302 | Không | Nên đưa URL đích hợp lệ vào sitemap, không đưa URL trung gian. |
| URL trả về 404, 410 hoặc 5xx | Không | Đây là URL lỗi hoặc không ổn định, không có giá trị để crawler ưu tiên. |
| URL tham số lọc, sắp xếp, tracking | Thường không | Có thể tạo nhiều biến thể trùng nội dung và làm loãng tín hiệu canonical. |
| Trang phân trang | Chỉ khi trang có giá trị độc lập | Không nên đưa hàng loạt trang phân trang chỉ vì chúng trả về 200; cần kiểm tra canonical và giá trị nội dung. |
| Trang tìm kiếm nội bộ, giỏ hàng, đăng nhập | Không | Không phải landing page dành cho kết quả tìm kiếm tự nhiên và thường không có giá trị index. |
Những URL tuyệt đối không nên xuất hiện
Trang noindex
Đây là lỗi dễ phát hiện nhưng vẫn xuất hiện thường xuyên khi sitemap được sinh tự động từ cơ sở dữ liệu. Một số hệ thống lấy toàn bộ bản ghi nội dung làm nguồn dữ liệu mà không kiểm tra trạng thái index. Kết quả là các trang nháp, trang hết hàng, trang chiến dịch đã đóng hoặc trang lọc bị noindex vẫn nằm trong file.
Cách xử lý là dùng cùng một điều kiện cho cả sitemap và template trang: chỉ xuất URL khi trạng thái xuất bản hợp lệ, không có noindex và canonical trỏ về chính URL đó.
Trang redirect
Ví dụ, URL cũ /dich-vu-seo chuyển hướng 301 sang /dich-vu-seo-tong-the. Sitemap phải chứa URL đích, không chứa URL cũ. Nếu đưa URL chuyển hướng vào file, crawler phải đi qua thêm một bước và nhận được tín hiệu rằng URL đang được đề xuất không phải điểm đến cuối cùng.
Với website di chuyển cấu trúc, cần cập nhật sitemap ngay sau khi redirect hoạt động ổn định. Trong giai đoạn chuyển đổi, nên kiểm tra lại sau 24–72 giờ để phát hiện chuỗi redirect, vòng lặp hoặc URL đích trả về lỗi.
URL tham số
Các URL như ?sort=price-asc, ?color=red, ?utm_source=newsletter thường không nên đưa vào sitemap. Chúng có thể tạo hàng trăm hoặc hàng nghìn biến thể cho cùng một nội dung.
Trường hợp ngoại lệ là URL tham số thực sự đại diện cho một landing page có nội dung riêng, được liên kết nội bộ, self-canonical và có chiến lược index rõ ràng. Khi đó, URL cần được đánh giá như một trang độc lập, không phải tự động đưa vào chỉ vì hệ thống tạo ra nó.
Trang phân trang
Trang phân trang là khu vực dễ gây tranh luận. Không nên áp dụng máy móc quy tắc “tất cả trang phân trang đều loại” hoặc “tất cả đều đưa”.
Nếu trang 2, 3, 4 có nội dung sản phẩm hoặc bài viết riêng, trả về 200, có self-canonical và người dùng cần truy cập chúng, chúng có thể được index. Tuy nhiên, nếu các trang này canonical về trang đầu, bị noindex hoặc chỉ là biến thể kỹ thuật không có giá trị độc lập, không nên đưa vào sitemap.
Trong nhiều website thương mại điện tử, cách an toàn là đưa các trang danh mục chính và URL sản phẩm đủ điều kiện vào sitemap, sau đó để liên kết phân trang hỗ trợ việc khám phá sản phẩm. Đừng dùng sitemap để ép index toàn bộ chuỗi phân trang mà chính website không coi là landing page.
Các ngưỡng kỹ thuật cần kiểm tra
Theo giới hạn kỹ thuật được công bố trong tài liệu chính thức về sitemap, một file sitemap đơn lẻ không nên vượt quá 50.000 URL hoặc 50 MB khi chưa nén. Khi vượt ngưỡng, cần chia thành nhiều sitemap và dùng sitemap index để quản lý.
Việc chia file không làm thay đổi nguyên tắc chất lượng. 10 file, mỗi file 20.000 URL không tốt hơn một file nếu tất cả đều chứa redirect hoặc URL noindex. Sitemap index chỉ là lớp quản lý; từng sitemap con vẫn phải sạch.
Một số quy tắc vận hành nên áp dụng:
- Chỉ dùng URL tuyệt đối, thống nhất giao thức HTTPS, tên miền và dấu gạch chéo cuối URL.
- Không trộn URL HTTP và HTTPS nếu website đã chuyển hoàn toàn sang HTTPS.
- Không đưa URL chứa mã theo dõi như
utm_*vào sitemap. - Trường
<lastmod>chỉ nên cập nhật khi nội dung thực sự thay đổi, không cập nhật mỗi lần hệ thống chạy cron. - Không coi
<changefreq>và<priority>là cách ép crawler crawl thường xuyên hơn. - Với website lớn, nên kiểm tra báo cáo lỗi ít nhất mỗi tháng một lần và kiểm tra sau mỗi lần migration, đổi CMS hoặc thay đổi quy tắc canonical.
Một mục sitemap tối thiểu có thể có dạng:
<url>
<loc>https://example.com/bai-viet/huong-dan-seo</loc>
<lastmod>2026-03-10</lastmod>
</url>
Ngày trong lastmod phải phản ánh lần cập nhật nội dung có ý nghĩa, không phải thời điểm người dùng truy cập trang. Nếu bài chỉ đổi thứ tự sản phẩm, cập nhật timestamp tự động hoặc thay quảng cáo, không nên tùy tiện coi đó là lần sửa nội dung.
Quy trình audit sitemap thực tế
- Thu thập toàn bộ URL trong sitemap: giải nén sitemap index nếu có và ghi nhận tổng số URL của từng file.
- Kiểm tra mã phản hồi: lọc các URL không trả về 200, đặc biệt là 3xx, 4xx và 5xx.
- Đối chiếu robots và noindex: xác định URL nào bị chặn crawl hoặc có chỉ thị không index.
- Đối chiếu canonical: so sánh URL trong
<loc>với canonical thực tế, bao gồm khác biệt HTTP/HTTPS, www/non-www và dấu gạch chéo. - Phân loại URL tham số và phân trang: không chỉ dựa vào đuôi URL; cần xem URL đó có nội dung và mục tiêu độc lập hay không.
- Đo tỷ lệ sạch: có thể đặt ngưỡng vận hành nội bộ tối thiểu 98% URL hợp lệ. Nếu tỷ lệ thấp hơn, nên ưu tiên sửa nguồn sinh sitemap thay vì xóa thủ công từng URL.
- Kiểm tra sau triển khai: rà lại sau 24–72 giờ đối với thay đổi lớn; với website ổn định, dành khoảng 1–2 giờ mỗi tháng để kiểm tra là mức vận hành thực tế cho một website vừa.
Chi phí lớn nhất không nằm ở việc tạo một file XML vài megabyte. Chi phí phát sinh nằm ở việc đội kỹ thuật phải xử lý hàng loạt URL sai, crawler tiêu tốn thời gian vào trang không có giá trị và đội SEO mất thêm 2–4 giờ cho mỗi vòng truy tìm lỗi sau migration. Vì vậy, đầu tư một quy tắc sinh sitemap đúng ngay từ nguồn dữ liệu thường rẻ hơn việc sửa thủ công định kỳ.
Cách thiết kế sitemap đáng tin cậy
Sitemap tốt phải được sinh từ tập URL đã qua điều kiện index, thay vì lấy từ toàn bộ bảng nội dung. Logic nên tương tự:
published = true
http_status = 200
robots = index
canonical = current_url
search_value = true
Nếu một điều kiện không đạt, URL không nên xuất hiện. Khi trạng thái sản phẩm đổi sang hết hàng, bài viết bị gỡ, canonical được thay đổi hoặc trang chuyển sang noindex, sitemap cũng phải tự động cập nhật theo.
Hãy coi sitemap như một danh sách được tuyển chọn, không phải bản sao của cơ sở dữ liệu. Một file chỉ có 500 URL nhưng cả 500 URL đều hợp lệ, có nội dung và self-canonical sẽ hữu ích hơn file 50.000 URL chứa redirect, tham số, phân trang và noindex.
Nguyên tắc cuối cùng rất rõ: chỉ đề xuất những URL mà website thực sự muốn công cụ tìm kiếm index. Nếu đội SEO không sẵn sàng bảo vệ chất lượng, tính ổn định và giá trị của một URL, URL đó chưa nên có mặt trong sitemap XML.
Đọc thêm
- Bảng báo giá seo — triển khai trọn gói, có cam kết đo lường bằng số.
- Audit website — xem phạm vi công việc và mức đầu tư.
- Kiểm Tra Link Gãy: Cái Nào Đáng Sửa, Cái Nào Kệ
- Phân Tích Log Server: Nhìn Đúng Việc Bot Thật Sự Làm Trên Site
Cần làm thật phần “sitemap xml” này trên site của bạn?
Gửi tên miền, chúng tôi chạy audit và trả về danh sách việc theo thứ tự tác động — kèm số đo hiện trạng, không phải nhận định cảm tính.