Skip to main content

RSS feed or email subscription available

ab-001629 · gov-web-standards.analytics-performance.rss-subscription
Severity: infoactive

Why it matters

Government sites publish policy changes, benefit deadlines, emergency guidance, and rulemaking updates that constituents and journalists need to track without repeatedly polling the homepage. Without an RSS feed or email subscription channel, citizens miss time-sensitive announcements, watchdog groups lose automated monitoring, and agencies force people back into social platforms they may not use. Offering machine-readable update feeds also supports findability for aggregators and accessibility tools that syndicate public-sector content.

Severity rationale

Info because missing update channels reduces reach and transparency but does not break the site, expose data, or violate a specific mandate.

Remediation

Expose at least one update channel so visitors can subscribe without polling the homepage. Add an RSS or Atom route at app/feed.xml/route.ts that returns valid XML with real entries, or add an email signup form that hits a verified sender with double opt-in. Link the feed from the footer using a labeled icon.

// app/feed.xml/route.ts
export async function GET() {
  const items = await getRecentUpdates()
  const xml = buildRssXml(items)
  return new Response(xml, { headers: { 'Content-Type': 'application/rss+xml' } })
}

Detection

  • ID: gov-web-standards.analytics-performance.rss-subscription

  • Severity: info

  • What to look for: Check for /rss or /feed.xml routes, or look for RSS icon/link in the footer. Check for an email subscription form (newsletter signup) or email alert registration.

  • Pass criteria: At least 1 update channel is available: a valid RSS/Atom feed that returns valid XML with at least 1 entry, or an email subscription form with clear opt-in language. Enumerate all update channels found (RSS, Atom, email signup, push notifications).

  • Fail criteria: 0 update channels found — neither RSS feed nor email subscription is available.

  • Skip (N/A) when: Never — government sites benefit from offering updates via feed or email.

  • Detail on fail: "No RSS feed or email subscription option found" or "Footer has RSS icon but /feed.xml returns 404"

  • Remediation: Provide an RSS feed (if you publish updates regularly):

    // app/feed.xml/route.ts
    export async function GET() {
      const feed = `<?xml version="1.0" encoding="UTF-8"?>
      <rss version="2.0">
        <channel>
          <title>Agency Updates</title>
          <link>https://agency.gov</link>
          <description>Latest agency news and updates</description>
          <!-- Add items here -->
        </channel>
      </rss>`
      return new Response(feed, { headers: { 'Content-Type': 'application/rss+xml' } })
    }
    

    Or add an email subscription signup:

    <form>
      <input type="email" placeholder="Your email" />
      <button>Subscribe to Updates</button>
    </form>
    

Taxons

History