驗證工具會檢查哪些內容
貼上摘要網址後,驗證工具會像摘要閱讀器一樣取得它,再依照 RSS、Atom 和 JSON Feed 的規則檢查。完全免費,不需要帳號。每個問題都會標出所在的行,並附上簡短的修正說明。
- 連線:HTTP 狀態、重新導向,以及伺服器是否在 10 秒內回應。
- 檔案:Content-Type 標頭、宣告的編碼與實際編碼,以及 XML 的格式是否正確。
- 格式:RSS 2.0、RSS 1.0、Atom 1.0 或 JSON Feed,以及各格式要求的元素,例如 RSS 的標題、連結和說明。
- 每個項目:標題或說明、連結、唯一的 guid,以及格式正確的日期。Podcast 的 enclosure 需要 url、type 和 length。
- 其他:摘要的大小、可節省頻寬的快取標頭,以及能即時更新的 WebSub hub。
錯誤違反了 RSS 或 XML 的規則。有些閱讀器完全無法讀取有錯誤的摘要,有些則只能用猜的,所以文章可能顯示得不正確。警告不會讓摘要失效。摘要可以正常運作,但有些閱讀器可能會在這些細節上出問題。
在檢查清單下方,Feeder 看到的內容會依照 Feeder 自己的爬蟲讀取的方式顯示摘要,包括每個項目、日期和連結。
常見的摘要錯誤與修正方法
格式不正確(無效的語彙單元)
常見原因是標題或說明中有單獨的 & 或 <,例如 Tom & Jerry。請將 & 寫成 &,將 < 寫成 <,或把 HTML 放進 CDATA 區段:<![CDATA[ ... ]]>。
未定義的實體
像 這樣的 HTML 實體在 XML 中並不存在,XML 只認得五個。請改用數字,例如用   表示不換行空格,或把 HTML 放進 CDATA。
日期格式錯誤
RSS 日期的格式像 Sat, 26 Sep 2026 09:00:00 GMT。大多數程式語言都能自動產生:PHP 用 date(DATE_RSS),Python 用 email.utils.format_datetime(dt),JavaScript 用 new Date().toUTCString()。Atom 和 JSON Feed 則使用 2026-09-26T09:00:00Z。
以 text/html 提供
你的伺服器把摘要標示為網頁,所以有些閱讀器可能認不出這是摘要。請以 application/rss+xml 提供 RSS,以 application/atom+xml 提供 Atom。application/xml 也可以。
guid 缺少或重複
沒有唯一的 ID,閱讀器只能猜測哪些文章是新的,編輯過的文章可能會再次出現。請為每個項目設定唯一且永遠不變的 <guid>,例如文章的永久網址。
帶重音的字母變成奇怪的符號
檔案中的字元和它宣告的編碼不符,常見原因是 Windows-1252 的文字被標示為 UTF-8。請以 UTF-8 儲存並提供摘要,並讓伺服器傳送 charset=utf-8。
XML 宣告前面有內容
<?xml 前面就算只有一個空行或空格,也會讓整個摘要壞掉。在 WordPress 中,常見原因是佈景主題的 functions.php 或某個外掛。
更多修正方法請參閱 如何驗證 Feeder 的 RSS 訂閱源。如果摘要是別人的,RSS 訂閱來源無效:原因與處理方式 說明了你可以怎麼做。
如何將摘要加入 Feeder
有效的摘要在閱讀器中也可能顯示得不正確,所以請用訂閱者的方式來測試:
- 在 Feeder 中點選 添加訂閱,然後貼上摘要網址。
- Feeder 會顯示摘要和最新文章的預覽。請檢查標題、日期和連結。
- 追蹤它、發布一篇新文章,然後確認它只以新文章的身分出現一次。
Feeder 是一款適用於網頁、瀏覽器、iOS 和 Android 的 RSS 閱讀器,你可以免費開始使用。
常見問題
為什麼我的摘要在某個閱讀器能用,在另一個卻不行?
每個閱讀器的嚴格程度不同。包括 Feeder 在內,許多閱讀器都能讀取有小錯誤的摘要,並把其餘部分猜得八九不離十。比較嚴格的 App(例如某些 Podcast App)則會放棄同一個摘要。沒有錯誤的摘要在任何地方都能用,所以就算在你自己的閱讀器中看起來沒問題,也請修正錯誤。
摘要一定要有效才能用嗎?
不一定。許多閱讀器能讀取有小錯誤的摘要,但比較嚴格的 App 可能會拒絕,所以有效的摘要才是最保險的選擇。
為什麼舊文章會顯示成新文章?
閱讀器靠 guid 來辨識文章,沒有 guid 時則靠標題和日期。新的 guid、搬到新網域,或伺服器時區改變,都可能讓每篇文章在閱讀器看來都是新的。
我可以驗證還沒上線的摘要嗎?
這個驗證工具透過網址檢查摘要,且只檢查公開網際網路上的摘要。如果檔案還沒上線,請把 XML 貼到 W3C Feed Validation Service 的 Validate by Direct Input。