RSS identity reference

RSS feed discovery

Discovery connects an HTML publication to the right syndication source. Make that relationship explicit, canonical, testable, and durable.

Discovery signals

Feed-aware software can learn about a source through HTML alternate links, visible subscription links, well-known URL patterns, HTTP redirects, feed self links, directory records, and publisher APIs. Explicit declarations are preferable to guesses, but each signal should retain its provenance.

HTML autodiscovery markup

<link rel="alternate" type="application/rss+xml"
      title="Example Updates — RSS"
      href="https://example.org/feed/">

Place the element in the server-rendered HTML head. Use application/atom+xml for Atom and application/feed+json for JSON Feed. Point new subscribers to the canonical URL rather than a legacy alias.

A safe resolver flow

  1. Validate and conservatively normalize the input URL.
  2. Fetch with network protections, size limits, and redirect caps.
  3. Record each redirect rather than hiding the chain.
  4. Detect the feed format from body and headers.
  5. Parse discovery and self-link metadata.
  6. Compare canonical and alias records before similarity matching.
  7. Return the evidence behind the result.

Multiple feeds on one site

A site may offer all-post, category, language, author, and podcast feeds. Give each a clear title and distinct canonical URL. Advertise only the choices relevant to a page. Overlapping items do not prove that two feeds are aliases; they may represent intentionally different scopes.

Discovery during migration

Update HTML discovery at the same time the new feed becomes canonical. Keep permanent redirects from every known old URL. Test the old and new addresses in readers, verify stable item IDs, and monitor the legacy routes. The guide to canonical feed URLs provides a staged migration sequence.

Do not rely on: JavaScript-injected link tags, HTML “moved” notices, temporary redirects for permanent moves, or guessed paths when explicit metadata is available.

See RSS Autodiscovery for implementation examples and failure modes.