Sitemap là gì? Cách tạo sitemap đúng để Google khám phá URL
Sitemap là file cung cấp thông tin về những URL và tài nguyên quan trọng của website để công cụ tìm kiếm có thể khám phá chúng hiệu quả hơn.
Trong SEO khi nói tới sitemap người ta thường đang nói tới XML Sitemap.
Ví dụ:
https://example.com/sitemap.xml
Sitemap có thể giúp Google biết:
Website có những URL nào.
URL nào website xem là quan trọng.
Trang nào vừa được cập nhật.
Website có những phiên bản ngôn ngữ nào.
Hoặc những tài nguyên đặc biệt như hình ảnh video và nội dung tin tức.
Nhưng có một điều cần hiểu ngay từ đầu.
Sitemap không phải lệnh index.
Đưa một URL vào sitemap không có nghĩa Google bắt buộc phải crawl URL đó.
Cũng không có nghĩa URL chắc chắn được index.
Và càng không có nghĩa URL sẽ có thứ hạng tốt.
Sitemap hỗ trợ discovery.
Không quyết định ranking.
Đây là ranh giới rất quan trọng.
Một URL có thể nằm trong sitemap nhưng vẫn không được index.
Ngược lại một URL không nằm trong sitemap vẫn có thể được Google phát hiện thông qua internal link hoặc external link.
Vì vậy sitemap chỉ là một phần của hệ thống Technical SEO.
Nó không thay thế kiến trúc website.
Internal Link vẫn rất quan trọng.
Nếu một trang quan trọng chỉ tồn tại trong sitemap nhưng không được liên kết từ bất kỳ trang nào trên website thì đó có thể là dấu hiệu kiến trúc nội dung chưa tốt.
Sitemap giúp crawler biết URL tồn tại.
Internal link giúp crawler và người dùng hiểu URL nằm ở đâu trong cấu trúc website.
Hai thứ hỗ trợ nhau.
Không thay thế nhau.
XML Sitemap là định dạng sitemap phổ biến nhất trong Technical SEO.
Một sitemap đơn giản có thể trông như:
<urlset>
<url>
<loc>https://example.com/bai-viet-a</loc>
<lastmod>2026-11-10</lastmod>
</url>
</urlset>
<loc> chứa URL của trang.
Đây là thành phần bắt buộc cho từng URL trong XML Sitemap.
URL nên là URL tuyệt đối.
Ví dụ:
https://example.com/bai-viet-a
thay vì:
/bai-viet-a
Sitemap cũng nên sử dụng đúng phiên bản URL mà website muốn công cụ tìm kiếm xem là canonical.
Ví dụ nếu URL chính là:
https://example.com/product-a
thì không nên đưa đồng thời hàng loạt biến thể như:
http://example.com/product-a
https://www.example.com/product-a
https://example.com/product-a?ref=abc
nếu những URL này không phải canonical mà website muốn index.
Sitemap nên chứa canonical URLs.
Đây là một nguyên tắc rất đáng giữ.
Nếu canonical của trang nói:
URL A là bản chính.
nhưng sitemap lại chứa:
URL B.
website đang gửi hai tín hiệu không nhất quán.
Google vẫn có thể tự xử lý.
Nhưng Technical SEO tốt nên tránh tạo xung đột không cần thiết.
<lastmod> dùng để mô tả thời điểm nội dung được sửa đổi đáng kể.
Ví dụ:
Bài viết được cập nhật nội dung.
Structured data thay đổi đáng kể.
Thông tin sản phẩm thay đổi.
Hoặc những thành phần quan trọng trên trang được cập nhật.
Không nên thay lastmod mỗi ngày chỉ vì footer hiện năm mới.
Cũng không nên cho toàn bộ sitemap mang ngày hôm nay mỗi lần hệ thống generate file.
Nếu lastmod liên tục nói dối thì tín hiệu đó mất giá trị.
Điều đơn giản nhất là:
Trang thay đổi thật thì lastmod thay đổi.
<changefreq> từng xuất hiện rất nhiều trong các template sitemap.
Ví dụ:
daily.
weekly.
monthly.
Nhưng Google hiện không sử dụng giá trị này.
Do đó không cần dành nhiều công sức để tính changefreq thật phức tạp cho Google Search.
<priority> cũng tương tự.
Nhiều sitemap cũ có:
1.0 cho homepage.
0.8 cho category.
0.5 cho article.
Nhưng Google không sử dụng priority trong sitemap.
Điền:
priority 1.0
không khiến trang trở nên quan trọng hơn trong ranking.
Nếu muốn cho Google hiểu trang nào quan trọng hơn hãy tập trung vào kiến trúc website internal linking và chất lượng nội dung.
Đừng cố thương lượng với Google bằng một con số 1.0 trong XML.
Sitemap Index được sử dụng khi website có nhiều sitemap.
Ví dụ:
sitemap-posts.xml
sitemap-products.xml
sitemap-categories.xml
sitemap-images.xml
Thay vì submit từng file riêng lẻ có thể tạo:
sitemap-index.xml
File này chứa danh sách các sitemap con.
Cách chia sitemap theo loại URL cũng có giá trị trong việc theo dõi Technical SEO.
Ví dụ:
Sitemap bài viết có 10000 URL.
Sitemap sản phẩm có 20000 URL.
Sitemap danh mục có 500 URL.
Khi một nhóm URL gặp vấn đề indexing việc tách sitemap giúp phân tích dễ hơn.
Không nên chia sitemap chỉ vì thích có nhiều file.
Việc phân chia nên phục vụ:
Giới hạn kỹ thuật.
Loại nội dung.
Quản lý.
Hoặc monitoring.
Google giới hạn một sitemap ở 50000 URL hoặc 50 MB khi chưa nén.
Nếu vượt một trong hai giới hạn cần tách thành nhiều sitemap.
Sau đó có thể sử dụng Sitemap Index.
Website nhỏ không cần cố tạo cấu trúc sitemap phức tạp.
Một file đơn giản có thể là đủ.
Sitemap có thể được khai báo trong robots.txt.
Ví dụ:
Sitemap: https://example.com/sitemap.xml
Điều này giúp crawler biết vị trí sitemap.
Có thể khai báo nhiều sitemap.
Sitemap và robots.txt vẫn có nhiệm vụ khác nhau.
robots.txt nói crawler có thể truy cập khu vực nào.
Sitemap cung cấp những URL website muốn crawler biết tới.
Một cái kiểm soát crawling.
Một cái hỗ trợ discovery.
Không nên nhầm hai chức năng.
Google Search Console cũng cho phép submit sitemap.
Đây là cách hữu ích vì người quản trị có thể theo dõi việc Google xử lý sitemap và phát hiện một số lỗi.
Nhưng submit sitemap trong Search Console cũng không phải nút Request Index toàn bộ website.
Google vẫn tự quyết định URL nào được crawl và index.
Submit đi submit lại cùng một sitemap không làm hàng nghìn URL được index nhanh hơn một cách thần kỳ.
Sitemap và Indexing có mối quan hệ nhưng không đồng nghĩa.
Nếu sitemap có 10000 URL nhưng chỉ 3000 URL được index thì câu hỏi đúng không phải:
Làm sao submit sitemap thêm lần nữa?
Cần hỏi:
7000 URL còn lại là URL gì?
Có thực sự nên index không?
Google đã crawl chưa?
Có canonical sang URL khác không?
Có noindex không?
Có duplicate không?
Nội dung có đủ giá trị riêng không?
Internal link thế nào?
Server có ổn định không?
Đây mới là phân tích indexing.
Sitemap chỉ là một nguồn dữ liệu giúp điều tra.
100 phần trăm URL trong sitemap được index không phải KPI bắt buộc.
Nếu sitemap chỉ chứa những canonical URL có giá trị và muốn xuất hiện trên Search thì tỷ lệ index thấp đáng để điều tra.
Nhưng mục tiêu không nên là ép Google index mọi URL mà website có thể tạo ra.
Mục tiêu là đảm bảo những URL có giá trị thực sự có khả năng được khám phá crawl và index.
URL noindex không nên nằm lâu dài trong sitemap dành cho Search.
Sitemap nói:
Đây là URL tôi muốn công cụ tìm kiếm quan tâm.
Noindex lại nói:
Đừng đưa URL này vào index.
Hai tín hiệu đi ngược nhau.
Technical SEO tốt nên tránh trạng thái này.
Tương tự URL redirect cũng thường không nên tồn tại trong sitemap lâu dài.
Nếu:
A → 301 → B
thì sitemap nên dần chuyển sang URL B.
Không cần bắt Google đi qua redirect chỉ để tới URL mà website đã biết là đích cuối.
404 URL cũng không nên tiếp tục nằm trong sitemap.
Nếu trang đã bị xóa thì hệ thống tạo sitemap nên cập nhật.
Một sitemap chứa nhiều URL 404 là dấu hiệu dữ liệu sitemap không được quản lý tốt.
5xx URL lại là vấn đề khác.
Nếu URL quan trọng trong sitemap liên tục trả lỗi server thì sitemap không thể sửa được vấn đề.
Cần xử lý server.
Sitemap chỉ giúp crawler tìm tới URL.
Nó không chữa URL.
Canonical conflict cũng nên được kiểm tra.
Ví dụ sitemap chứa URL A.
Nhưng URL A khai báo canonical B.
Nếu điều này xảy ra hàng loạt cần xem lại logic sinh sitemap hoặc canonical.
Sitemap nên phản ánh phiên bản URL mà website thực sự muốn đưa vào Search.
Parameter URL thường không nên được đưa vào sitemap nếu chúng chỉ là biến thể của canonical URL.
Ví dụ:
?sort=price
?utm_source=facebook
?sessionid=123
không nên xuất hiện chỉ vì crawler của hệ thống sitemap nhìn thấy chúng.
Sitemap nên được tạo từ nguồn URL đáng tin.
Tốt nhất là từ chính dữ liệu hệ thống xác định những trang public canonical indexable.
Tự động generate sitemap thường phù hợp hơn với website lớn.
Website có hàng nghìn sản phẩm hoặc bài viết không nên duy trì sitemap thủ công.
Khi một sản phẩm được tạo sitemap có thể tự thêm URL.
Khi sản phẩm bị xóa hoặc redirect sitemap có thể tự cập nhật.
Khi nội dung thay đổi lastmod có thể được cập nhật theo logic thực.
Điều này giảm sai sót.
Nhưng tự động không đồng nghĩa đúng.
Nếu logic sinh sitemap sai nó có thể tự động tạo ra 50000 URL sai rất nhanh.
Vì vậy sitemap generator cũng cần được kiểm thử.
Sitemap nên được kiểm tra định kỳ.
Có thể kiểm tra:
Số lượng URL.
HTTP status.
Canonical.
Noindex.
Duplicate.
Protocol HTTP và HTTPS.
Hostname.
URL parameter.
lastmod.
Và khả năng crawler truy cập sitemap.
Không nên chỉ kiểm tra xem file XML có mở được trong trình duyệt.
Image Sitemap có thể cung cấp thêm thông tin về hình ảnh cho công cụ tìm kiếm.
Điều này có thể hữu ích với website mà image discovery quan trọng.
Website du lịch.
Nhiếp ảnh.
Bất động sản.
Hoặc những website giàu hình ảnh.
Tuy nhiên image sitemap không thay thế các thực hành cơ bản như hình ảnh crawlable nội dung trang phù hợp và cách triển khai hình ảnh đúng.
Video Sitemap có thể cung cấp thêm metadata về video.
Website có video quan trọng có thể sử dụng nó để giúp Google hiểu nội dung video tốt hơn.
News Sitemap dành cho những website có nội dung đủ điều kiện liên quan tới Google News.
Nó có yêu cầu riêng.
Không nên tạo news sitemap chỉ vì website có mục tin tức.
Cần đọc đúng hướng dẫn dành cho Google News.
Hreflang cũng có thể được khai báo qua XML Sitemap.
Với website đa ngôn ngữ đây là một trong những phương án triển khai hreflang.
Nhưng dù hreflang nằm trong HTML HTTP header hay sitemap thì các quan hệ alternate vẫn cần được cấu hình chính xác.
Sitemap không làm hreflang sai trở thành đúng.
RSS và Atom feed cũng có thể được Google chấp nhận như một dạng sitemap trong những trường hợp phù hợp.
Chúng đặc biệt hữu ích cho nội dung mới hoặc được cập nhật gần đây.
Nhưng XML Sitemap vẫn linh hoạt hơn nếu cần quản lý toàn bộ URL và metadata mở rộng.
Text Sitemap cũng tồn tại.
Định dạng này có thể chỉ chứa một URL trên mỗi dòng.
Nó đơn giản.
Nhưng không có khả năng cung cấp metadata phong phú như XML Sitemap.
HTML Sitemap là một khái niệm khác.
Đây thường là một trang HTML có danh sách liên kết giúp người dùng và crawler điều hướng website.
HTML Sitemap có thể hỗ trợ internal linking.
Nhưng không phải thứ thay thế XML Sitemap trong vai trò cung cấp sitemap machine-readable cho search engine.
Hai loại có thể cùng tồn tại.
Không cần bắt chúng làm cùng một việc.
Sitemap cũng không sửa được website có kiến trúc kém.
Nếu hàng nghìn trang quan trọng không có internal link thì thêm chúng vào XML Sitemap có thể giúp discovery.
Nhưng vấn đề kiến trúc vẫn còn.
Một website tốt nên giúp crawler tìm trang qua cấu trúc link tự nhiên.
Sitemap là hỗ trợ.
Không phải cây nạng cho toàn bộ architecture.
Sitemap và Crawl Budget có liên quan nhưng cần hiểu đúng.
Sitemap sạch giúp crawler tập trung vào những URL website muốn cung cấp.
Nhưng việc tạo sitemap không tự động giải quyết crawl budget.
Nếu website vẫn sinh hàng triệu faceted URL crawlable thì Googlebot vẫn có thể khám phá chúng từ internal link.
Phải xử lý cả URL generation và crawl path.
Sitemap và Googlebot cũng có quan hệ rất rõ.
Sitemap giúp Googlebot khám phá URL.
Googlebot sau đó có thể crawl URL.
Nhưng việc URL xuất hiện trong sitemap không bắt buộc Googlebot phải crawl ngay.
Discovery.
Crawling.
Indexing.
Ba bước.
Đừng nhập chúng thành một.
lastmod không nên được dùng như nút Ping Google.
Nếu nội dung không thay đổi đáng kể thì không nên cập nhật lastmod giả.
Một hệ thống cứ đổi lastmod của toàn site mỗi ngày không tạo ra giá trị thực.
Nó chỉ làm dữ liệu kém đáng tin hơn.
Cập nhật sitemap không có nghĩa phải submit lại mỗi lần.
Nếu Google đã biết sitemap thì crawler có thể quay lại kiểm tra nó.
Cũng có thể khai báo sitemap trong robots.txt.
Không cần thao tác thủ công sau mỗi bài viết mới nếu hệ thống đã được xây đúng.
Sitemap trong Search Console cũng là một công cụ chẩn đoán.
Không nên chỉ dùng nó để submit.
Có thể sử dụng sitemap để chia nhóm URL có ý nghĩa.
Ví dụ:
Article.
Product.
Category.
Location.
Sau đó theo dõi tình trạng indexing của từng nhóm.
Nếu sản phẩm index tốt nhưng category index rất thấp thì đây là manh mối để điều tra.
Sitemap có thể trở thành một dataset SEO.
Ta có thể lấy URL từ sitemap rồi đối chiếu với:
HTTP status.
Canonical.
Indexing status.
Organic traffic.
Internal link count.
Last crawl.
Server log.
Từ đó sitemap không còn chỉ là một file XML.
Nó trở thành danh sách những URL mà website tuyên bố là quan trọng.
Đây là cách nhìn rất hữu ích khi audit SEO.
Nếu website nói một URL quan trọng bằng cách đưa nó vào sitemap nhưng URL:
Noindex.
404.
Redirect.
Canonical sang nơi khác.
Hoặc không có internal link.
thì hệ thống đang tự mâu thuẫn.
Sitemap Audit vì vậy nên kiểm tra sự nhất quán giữa các tín hiệu.
Một URL tốt để nằm trong sitemap thường nên:
Trả HTTP 200.
Có khả năng crawl.
Có khả năng index.
Là canonical URL.
Có nội dung mà website thực sự muốn xuất hiện trong Search.
Và có vị trí hợp lý trong kiến trúc website.
Đây không phải quy tắc máy móc cho mọi loại tài nguyên.
Nhưng là checklist tốt cho các trang web thông thường.
Khi một URL trong sitemap không được index nên điều tra theo thứ tự thay vì submit sitemap liên tục.
URL có trả 200 không?
robots.txt có cho crawl không?
Có noindex không?
Canonical là gì?
Google đã crawl chưa?
Internal link có tồn tại không?
Nội dung có unique value không?
URL có thuộc nhóm duplicate không?
Google đang báo trạng thái gì trong Search Console?
Ví dụ:
Discovered currently not indexed
khác với:
Crawled currently not indexed.
Sitemap chỉ giúp Google biết URL.
Sau đó vẫn phải xác định URL đang mắc ở bước nào.
Một sitemap tốt thường khá nhàm chán.
Đó là điều tốt.
Nó không cần thủ thuật.
Không cần priority 1.0 cho mọi trang.
Không cần đổi lastmod mỗi sáng.
Không cần submit lại mười lần.
Nó chỉ cần phản ánh chính xác những URL website thực sự muốn công cụ tìm kiếm khám phá và xử lý.
Tag Sitemap tổng hợp các bài viết và kiến thức về XML Sitemap Sitemap Index lastmod Google Search Console Googlebot crawling indexing canonical image sitemap video sitemap và cách quản lý sitemap đúng trong Technical SEO.



















