Tất cả bài viết

Tạo sitemap.xml: cách xây dựng bản đồ trang web tự động

Viết sitemap.xml thủ công cho từng trang mới là việc lặp đi lặp lại nên được loại bỏ bằng cách tự động tạo tệp từ một danh sách URL đơn giản của trang web.

Trường nào thực sự quan trọng

Thẻ <loc> chứa địa chỉ tuyệt đối của trang là trường bắt buộc duy nhất. <lastmod> đáng để điền chính xác, vì Google thực sự dùng nó để ưu tiên thu thập lại dữ liệu — khác với <priority><changefreq>, những trường mà chính công cụ tìm kiếm này thừa nhận là phần lớn bị bỏ qua.

Một URL, hai chuỗi byte khác nhau

Chữ có dấu tiếng Việt như "ệ" trong "bài viết" có thể được lưu ở dạng Unicode dựng sẵn (NFC, một điểm mã) hoặc dạng tổ hợp (NFD, chữ cái gốc cộng dấu riêng) — hai cách biểu diễn trông giống hệt nhau khi hiển thị nhưng mã hóa phần trăm ra hai chuỗi %XX khác nhau trong <loc>. Một công cụ tạo sitemap cần chuẩn hóa văn bản trước khi mã hóa để tránh việc cùng một trang xuất hiện với hai URL trông "giống nhau" nhưng khác byte.

URL tuyệt đối và escape ký tự đặc biệt

Mọi địa chỉ trong sitemap phải là tuyệt đối (bao gồm giao thức và tên miền), và các ký tự như dấu và (&) phải viết dưới dạng thực thể XML (&amp;) — nếu không tệp không còn là XML hợp lệ, và công cụ tìm kiếm có thể từ chối toàn bộ tệp thay vì chỉ bỏ qua dòng lỗi.

Công cụ này dùng để làm gì

  • Tạo sitemap.xml đúng chuẩn từ danh sách URL mà không cần viết XML thủ công.
  • Tránh các lỗi định dạng khiến công cụ tìm kiếm từ chối toàn bộ tệp.
  • Tạo lại tệp sau khi thêm trang mới mà không phải sửa mã đánh dấu bằng tay.

Vì sao việc chuẩn hóa Unicode cũng ảnh hưởng tới việc phát hiện trùng lặp

Nếu hai bản ghi trong danh sách đầu vào dùng hai dạng Unicode khác nhau (NFC và NFD) cho cùng một địa chỉ, chúng có thể bị coi là hai URL khác nhau dù hiển thị giống hệt nhau — chuẩn hóa văn bản về một dạng thống nhất trước khi so sánh là bước cần thiết để phát hiện đúng các URL trùng lặp thật sự.

Dùng thử công cụ