Tan Phat Media

RSS Feed Generator

Tạo file RSS 2.0 hợp lệ, escape đúng ký tự đặc biệt và kiểm tra trước khi tải về

Thông tin kênh

Dùng để sinh thẻ atom:link rel="self", giúp trình đọc biết feed đang nằm ở đâu.

Danh sách item

Item 1

Bắt đầu bằng http thì thuộc tính isPermaLink tự đặt thành true.

Enclosure (dùng cho podcast, để trống nếu không cần)

Kết quả XML
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog Tấn Phát Digital</title>
    <link>https://tanphatdigital.com/vi/blog</link>
    <description>Bài viết về thiết kế website, tối ưu SEO và vận hành hiện diện số cho doanh nghiệp Việt Nam.</description>
    <language>vi</language>
    <ttl>60</ttl>
    <atom:link href="https://tanphatdigital.com/rss.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Mon, 17 Aug 2026 16:17:34 +0000</lastBuildDate>
    <generator>RSS Feed Generator - Tấn Phát Digital</generator>
    <item>
      <title>Cách chọn hosting cho website doanh nghiệp</title>
      <link>https://tanphatdigital.com/vi/blog/chon-hosting</link>
      <description>So sánh hosting chia sẻ, VPS và máy chủ riêng theo quy mô lưu lượng thật của doanh nghiệp nhỏ.</description>
      <category>Hosting</category>
      <pubDate>Mon, 17 Aug 2026 16:17:34 +0000</pubDate>
      <guid isPermaLink="true">https://tanphatdigital.com/vi/blog/chon-hosting</guid>
    </item>
  </channel>
</rss>

Số item

1

Lỗi

0

Cảnh báo

0

Đặt file lên site thế nào

Tải rss.xml về rồi đặt ở thư mục gốc tên miền, ví dụ https://tenmien.com/rss.xml

Thêm dòng khai báo vào phần head của mọi trang để trình duyệt và trình đọc tự tìm thấy: <link rel="alternate" type="application/rss+xml" title="Tên kênh" href="https://tenmien.com/rss.xml" />

Máy chủ phải trả về đúng kiểu nội dung application/rss+xml. Nếu Nginx trả text/plain, trình đọc vẫn nhận nhưng một số dịch vụ podcast sẽ từ chối.

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

Tạo file RSS 2.0 hợp lệ từ biểu mẫu, có kiểm tra lỗi trước khi tải về

Công cụ dựng file rss.xml theo đặc tả RSS 2.0: khai báo thông tin kênh, thêm bao nhiêu item tùy ý, tự escape ký tự đặc biệt và bọc CDATA khi mô tả có thẻ HTML. Phần kiểm tra soát trường bắt buộc, dạng URL, định dạng ngày RFC 822 và guid trùng, rồi cho phép chép hoặc tải file về đặt lên máy chủ.

Tính năng nổi bật

  • Biểu mẫu đầy đủ cho phần kênh: tiêu đề, link trang gốc, mô tả, ngôn ngữ chọn từ danh sách, ttl và địa chỉ file feed
  • Thêm và xóa item không giới hạn, mỗi item có tiêu đề, link, mô tả, pubDate, guid và chuyên mục
  • Khối enclosure riêng cho podcast với URL tệp, dung lượng theo byte và kiểu MIME chọn sẵn
  • Nút điền thời điểm hiện tại cho pubDate theo đúng định dạng RFC 822 kèm chênh lệch múi giờ của máy bạn
  • Tự escape năm ký tự có nghĩa trong XML và tự bọc CDATA khi mô tả chứa thẻ đánh dấu
  • Bảng kiểm tra chia hai mức lỗi và cảnh báo, chỉ rõ vấn đề nằm ở kênh hay ở item thứ mấy
  • Tự sinh thẻ atom:link rel self và thẻ lastBuildDate, thêm guid isPermaLink đúng theo dạng giá trị bạn nhập
  • Khung XML cập nhật theo từng ký tự bạn gõ, chép một nút hoặc tải thẳng file rss.xml về máy

Khi nào cần tự dựng file RSS thay vì để hệ quản trị nội dung sinh ra

Các hệ quản trị nội dung phổ biến đều sinh feed tự động, nên phần lớn website không phải làm gì. Vấn đề xuất hiện ở những nơi không có sẵn cơ chế đó: trang tĩnh dựng bằng HTML thuần, trang đặt trên nền tảng không hỗ trợ feed, hoặc bản tin nội bộ chỉ có vài chục mục mà bạn muốn phát hành cho đối tác theo dõi. Trường hợp phổ biến thứ hai là podcast: dịch vụ phân phối yêu cầu một feed đúng chuẩn với thẻ enclosure khai báo đủ URL tệp, dung lượng theo byte và kiểu MIME, thiếu một trong ba là feed bị từ chối, và nhiều người mắc ở đúng chỗ này. Trường hợp thứ ba là khi feed do hệ thống sinh ra bị hỏng và bạn cần một bản mẫu đúng chuẩn để so sánh, xem thẻ nào đang thiếu hoặc ngày tháng đang sai định dạng ở đâu. Công cụ này giải quyết cả ba: bạn điền vào biểu mẫu, phần XML dựng ngay bên cạnh theo đúng cú pháp, và bảng kiểm tra chỉ ra những lỗi mà trình đọc tin sẽ gặp trước khi bạn đưa file lên máy chủ.

Lợi ích khi sử dụng

  • Không phải nhớ cú pháp XML, chỉ điền biểu mẫu và đọc kết quả dựng sẵn bên cạnh
  • Ký tự đặc biệt trong tiêu đề tiếng Việt được xử lý tự động nên feed không vỡ cấu trúc
  • Bảng kiểm tra bắt được đúng những lỗi khiến trình đọc và dịch vụ podcast từ chối feed
  • Có sẵn khối enclosure nên dựng feed podcast không cần tra cứu thêm tài liệu
  • Tải về file rss.xml đúng kiểu nội dung, đặt lên máy chủ là chạy được ngay
  • Chạy hoàn toàn trong trình duyệt, nội dung bài viết của bạn không được gửi đi đâu

Cách tạo file RSS

  1. 1Điền ba trường bắt buộc của kênh là tiêu đề, link trang gốc dạng URL đầy đủ và mô tả, sau đó chọn ngôn ngữ và đặt ttl tính bằng phút.
  2. 2Nhập địa chỉ mà file feed sẽ nằm sau khi tải lên, chẳng hạn https://tenmien.com/rss.xml, để công cụ sinh thẻ atom:link rel self.
  3. 3Với mỗi bài viết, bấm Thêm item rồi điền tiêu đề, link bài, mô tả, và bấm nút điền thời điểm hiện tại nếu bạn không có sẵn pubDate.
  4. 4Đặt guid cho từng item, thường lấy chính URL bài viết; nếu cần enclosure cho podcast thì điền URL tệp, dung lượng byte và kiểu MIME.
  5. 5Bấm Kiểm tra để xem danh sách lỗi và cảnh báo, sửa hết phần đánh dấu lỗi rồi bấm Tải rss.xml và đặt file lên thư mục gốc tên miền.

RSS khác sitemap ở chỗ nào, và khi nào dùng cái nào

Hai loại tệp này đều là XML và đều nằm ở gốc tên miền, nên rất hay bị nhầm là thay thế được cho nhau. Thực ra chúng phục vụ hai đối tượng khác nhau. RSS là dòng nội dung dành cho người đọc và cho phần mềm đọc tin: mỗi mục mang theo tiêu đề, mô tả hoặc toàn văn, thời điểm đăng và đường dẫn, xếp theo thứ tự thời gian, và feed thường chỉ giữ vài chục mục mới nhất. Người dùng đăng ký feed vào ứng dụng đọc tin và nhận bài mới; ứng dụng podcast tải tệp âm thanh về từ thẻ enclosure trong chính feed đó. Sitemap thì là danh mục URL dành cho công cụ tìm kiếm: nó liệt kê toàn bộ địa chỉ bạn muốn được thu thập, không chứa nội dung bài, không giới hạn ở phần mới nhất, và người bình thường không bao giờ mở nó ra đọc. Sitemap giúp bộ thu thập biết trang nào tồn tại, RSS giúp người theo dõi biết bạn vừa đăng gì. Trên thực tế một website có bài đăng đều nên có cả hai. Nếu bạn đang cần danh mục URL chứ không phải dòng nội dung, hãy dùng /vi/tools/sitemap-generator để tạo và /vi/tools/xml-sitemap-validator để kiểm tra; còn muốn xem lại một tệp XML bất kỳ cho dễ đọc thì dùng /vi/tools/xml-formatter.

Các thẻ bắt buộc và thẻ nên có trong RSS 2.0

Ở cấp kênh, đặc tả RSS 2.0 bắt buộc đúng ba thẻ: title là tên kênh, link là địa chỉ trang gốc, description là mô tả kênh. Thiếu một trong ba thì feed không hợp lệ và công cụ này báo mức lỗi chứ không phải cảnh báo. Các thẻ còn lại là tùy chọn nhưng có ích thật sự. Thẻ language cho trình đọc biết ngôn ngữ nội dung, dùng mã như vi hoặc vi-VN. Thẻ ttl tính bằng phút, gợi ý cho trình đọc bao lâu nên lấy lại feed một lần; đặt 60 là hợp lý với blog đăng vài bài mỗi tuần. Thẻ lastBuildDate cho biết feed được dựng lại lần cuối lúc nào, công cụ tự điền theo thời điểm bạn sinh file. Thẻ atom:link với thuộc tính rel bằng self khai báo chính địa chỉ của feed, đây là thứ trình kiểm tra của W3C luôn nhắc khi thiếu và cũng là thứ giúp dịch vụ podcast biết feed nằm ở đâu khi nội dung bị sao chép nơi khác. Ở cấp item, quy định là mỗi item phải có ít nhất một trong hai thẻ title hoặc description, mọi thứ còn lại đều không bắt buộc về mặt cú pháp nhưng thiếu link thì người đọc không bấm sang bài gốc được.

pubDate theo RFC 822 và lý do định dạng ngày hay bị sai

Đây là chỗ khiến feed bị báo lỗi nhiều hơn bất cứ chỗ nào khác. RSS 2.0 quy định ngày tháng phải theo RFC 822, dạng đầy đủ là tên thứ viết tắt bằng tiếng Anh, dấu phẩy, ngày, tên tháng viết tắt bằng tiếng Anh, năm, giờ phút giây và cuối cùng là chênh lệch múi giờ, ví dụ Fri, 15 Aug 2025 10:30:00 +0700. Người Việt hay mắc ba lỗi. Thứ nhất là viết ngày theo kiểu quen thuộc 15/08/2025, dạng này hoàn toàn không được chấp nhận. Thứ hai là dùng chuẩn ISO 8601 kiểu 2025-08-15T10:30:00+07:00, đúng cho sitemap và cho Atom nhưng sai với RSS 2.0. Thứ ba là quên phần chênh lệch múi giờ ở cuối, khiến trình đọc phải tự đoán và sắp xếp bài sai thứ tự. Công cụ này kiểm tra pubDate bằng biểu thức khớp đúng theo cấu trúc RFC 822, chấp nhận cả dạng có giây lẫn không có giây, và chấp nhận múi giờ viết bằng số lệch hoặc bằng các tên viết tắt được đặc tả liệt kê. Nếu bạn không chắc, hãy dùng nút điền thời điểm hiện tại rồi sửa lại phần ngày giờ, giữ nguyên khung định dạng.

Escape ký tự và CDATA: vì sao tiêu đề tiếng Việt vẫn có thể làm hỏng feed

XML dành riêng năm ký tự mang ý nghĩa cú pháp là dấu và, dấu nhỏ hơn, dấu lớn hơn, dấu nháy kép và dấu nháy đơn. Chỉ cần một trong số đó xuất hiện thô trong nội dung là cả tài liệu trở nên không hợp lệ và trình đọc bỏ luôn feed chứ không bỏ riêng mục lỗi. Tình huống thực tế hay gặp nhất là tiêu đề kiểu Thiết kế website & tối ưu SEO, hoặc URL có tham số nối bằng dấu và. Công cụ này tự thay năm ký tự đó bằng thực thể tương ứng nên bạn cứ gõ tự nhiên. Riêng phần mô tả thì khác: nhiều người muốn đưa cả đoạn HTML có thẻ đậm, thẻ xuống dòng hay thẻ ảnh vào để trình đọc hiển thị đẹp. Nếu escape hết thì trình đọc sẽ in ra chuỗi thẻ thay vì hiển thị định dạng. Vì vậy khi phát hiện mô tả có chứa ký tự đánh dấu, công cụ bọc phần đó trong khối CDATA để giữ nguyên HTML mà vẫn không phá vỡ cấu trúc tài liệu, và giao diện hiện dòng nhắc màu vàng ngay dưới ô để bạn biết điều đó đang xảy ra. Trường hợp hiếm mà chính nội dung chứa chuỗi kết thúc CDATA cũng đã được xử lý bằng cách cắt đôi chuỗi ấy.

guid, enclosure và ba việc phải làm sau khi tải file lên máy chủ

Thẻ guid là mã định danh duy nhất của một mục, dùng để trình đọc biết mục nào đã hiển thị rồi. Nếu bạn bỏ trống, trình đọc buộc phải đoán theo link hoặc theo tiêu đề, và mỗi lần bạn sửa tiêu đề một bài cũ thì bài đó lại hiện lên như bài mới với tất cả người theo dõi. Thông lệ tốt là lấy chính URL bài viết làm guid; khi giá trị bắt đầu bằng http, công cụ đặt thuộc tính isPermaLink thành true, còn với chuỗi bất kỳ thì đặt false. Quan trọng nhất là guid không được trùng giữa hai mục, và phần kiểm tra sẽ báo lỗi khi phát hiện trùng. Với podcast, thẻ enclosure cần đủ ba thuộc tính: url tệp âm thanh, length là dung lượng tính bằng byte chứ không phải megabyte, và type là kiểu MIME đúng với định dạng tệp. Sau khi tải file về, có ba việc phải làm. Một là đặt file ở thư mục gốc tên miền để địa chỉ trùng với giá trị bạn đã khai trong thẻ atom:link. Hai là thêm dòng khai báo link rel alternate type application rss xml vào phần head của mọi trang để trình duyệt và trình đọc tự tìm thấy. Ba là kiểm tra máy chủ trả về đúng kiểu nội dung application/rss+xml; nếu Nginx trả text/plain thì trình đọc thường vẫn nhận nhưng một số dịch vụ podcast sẽ từ chối.

Câu hỏi thường gặp (FAQ)

RSS và sitemap khác nhau thế nào, có cần cả hai không?

RSS là dòng nội dung cho người đọc và phần mềm đọc tin, mang theo tiêu đề, mô tả và thời điểm đăng của từng bài, thường chỉ giữ các mục mới nhất. Sitemap là danh mục URL cho công cụ tìm kiếm, liệt kê toàn bộ địa chỉ và không chứa nội dung. Website có bài đăng đều nên có cả hai vì chúng phục vụ hai đối tượng khác nhau.

pubDate phải viết theo định dạng nào?

Theo RFC 822, dạng Fri, 15 Aug 2025 10:30:00 +0700. Tên thứ và tên tháng viết tắt bằng tiếng Anh, cuối chuỗi phải có phần chênh lệch múi giờ. Viết 15/08/2025 hay viết theo ISO 8601 kiểu 2025-08-15T10:30:00+07:00 đều bị công cụ báo lỗi vì trình đọc RSS không hiểu.

Feed của tôi có bao nhiêu item là hợp lý?

Thông lệ là giữ từ mười đến năm mươi mục mới nhất. Feed quá dài làm tệp nặng và trình đọc phải tải lại toàn bộ mỗi lần cập nhật, trong khi người theo dõi chỉ quan tâm phần mới. Đặc tả không giới hạn số item, đây thuần túy là chuyện hiệu quả vận hành.

Bỏ trống guid có sao không?

Feed vẫn hợp lệ nhưng trình đọc phải tự đoán mục nào đã hiển thị, thường dựa vào link hoặc tiêu đề. Hậu quả là mỗi lần bạn sửa tiêu đề một bài cũ, bài đó hiện lại như bài mới với mọi người theo dõi. Nên lấy chính URL bài viết làm guid và không bao giờ đổi giá trị đó.

Mô tả của tôi có thẻ HTML, feed có bị lỗi không?

Không, công cụ tự phát hiện và bọc phần đó trong khối CDATA để giữ nguyên HTML mà không phá vỡ cấu trúc XML, đồng thời hiện dòng nhắc màu vàng dưới ô. Nhờ vậy trình đọc hiển thị đúng định dạng thay vì in ra chuỗi thẻ.

Tiêu đề có dấu và hoặc dấu ngoặc nhọn thì xử lý ra sao?

Công cụ tự thay năm ký tự có nghĩa trong XML bằng thực thể tương ứng, nên bạn cứ gõ tự nhiên. Đây là lỗi khiến feed hỏng nhiều nhất khi người ta viết XML bằng tay, vì chỉ một ký tự thô là trình đọc bỏ toàn bộ feed chứ không bỏ riêng mục lỗi.

Làm feed podcast thì cần thêm gì?

Cần điền khối enclosure của từng item với đủ ba thứ: URL tệp âm thanh, dung lượng tính bằng byte chứ không phải megabyte, và kiểu MIME đúng với định dạng tệp. Lưu ý nhiều nền tảng podcast còn đòi thêm các thẻ thuộc không gian tên riêng của họ, phần đó công cụ này chưa sinh ra.

Thẻ ttl nên đặt bao nhiêu?

Ttl tính bằng phút và chỉ là gợi ý cho trình đọc về khoảng thời gian nên lấy lại feed. Blog đăng vài bài mỗi tuần đặt 60 là hợp lý. Trang tin cập nhật liên tục có thể đặt thấp hơn, nhưng nhiều trình đọc bỏ qua thẻ này và tự quyết định theo lịch riêng.

Đặt file rss.xml ở đâu và khai báo thế nào?

Đặt ở thư mục gốc tên miền, ví dụ https://tenmien.com/rss.xml, đúng bằng địa chỉ bạn đã điền vào ô địa chỉ feed. Sau đó thêm thẻ link rel alternate type application rss xml trỏ tới địa chỉ đó vào phần head của mọi trang để trình duyệt và trình đọc tự tìm thấy.

Máy chủ trả sai kiểu nội dung có ảnh hưởng gì không?

Có. Feed phải được trả về với kiểu application/rss+xml. Nếu máy chủ trả text/plain thì phần lớn trình đọc vẫn chấp nhận, nhưng một số dịch vụ podcast và một số trình kiểm tra sẽ từ chối. Với Nginx, bạn khai kiểu nội dung cho đuôi xml trong cấu hình của site.

Công cụ kiểm tra ở đây có thay được trình kiểm tra chính thức không?

Không hoàn toàn. Phần kiểm tra ở đây soát các lỗi phổ biến nhất: thiếu trường bắt buộc, link không phải URL đầy đủ, ttl không phải số nguyên, pubDate sai RFC 822 và guid trùng. Sau khi tải file lên máy chủ, nên chạy thêm trình kiểm tra chính thức của W3C để soát các trường hợp hiếm.

Nội dung tôi nhập vào có bị gửi lên máy chủ không?

Không. Toàn bộ việc dựng XML và kiểm tra chạy bằng JavaScript trong trình duyệt, không có lệnh gọi mạng nào. Nút tải file cũng chỉ tạo tệp ngay trên máy bạn từ nội dung đang hiển thị chứ không đi qua bất kỳ máy chủ trung gian nào.

Từ khóa liên quan

  • tạo file rss
  • rss feed generator
  • tạo rss.xml cho website
  • rss 2.0 là gì
  • cấu trúc file rss
  • pubdate rfc 822
  • định dạng ngày trong rss
  • guid trong rss là gì
  • enclosure podcast rss
  • tạo feed podcast
  • rss khác sitemap thế nào
  • atom:link rel self
  • cdata trong xml
  • escape ký tự đặc biệt xml
  • khai báo rss trong thẻ head
  • kiểm tra rss hợp lệ
  • ttl trong rss
  • content type application rss xml
  • tạo rss cho trang tĩnh
  • công cụ tạo rss miễn phí

Công cụ SEO Tools liên quan

Dịch vụ của Tấn Phát Digital

Công cụ giúp bạn tìm ra việc cần làm. Phần triển khai liên tục thì để chúng tôi:

Dịch vụ chăm sóc website định kỳ

Viết content SEO, tối ưu thứ hạng và A/B test chuyển đổi hàng tháng, cam kết KPI theo hợp đồng.

Từ 2.000.000đ/thángXem chi tiết →

Dịch vụ SEO Google Maps

Tối ưu Google Business Profile để lên top 3 Local Pack, tăng lượt gọi từ khách quanh khu vực.

Từ 3.000.000đ/thángXem chi tiết →

Dịch vụ thiết kế landing page

Trang đích riêng cho từng chiến dịch quảng cáo, tỷ lệ chuyển đổi 3–8%, bàn giao trong 5–21 ngày.

Từ 3.000.000đXem chi tiết →

Dịch vụ thiết kế website tại Hồ Chí Minh

Website doanh nghiệp, bán hàng và đặt lịch, chuẩn SEO ngay từ cấu trúc, tốc độ tải dưới 3 giây.

Từ 5.000.000đXem chi tiết →

Tư vấn và báo giá miễn phí trong 24 giờ. Xem toàn bộ dịch vụ

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook