Formats recommandés

Le guide indique que les formats les plus largement supportés sont RSS 2.0 et Atom. Il conseille d’utiliser Atom lorsqu’aucun flux n’existe déjà, car la spécification comporte moins d’ambiguïtés et réduit les risques d’incompatibilité avec les lecteurs. Les formats plus anciens, le JSON Feed et le microformat h‑feed, sont mentionnés comme moins répandus et donc à éviter.

En‑têtes et URLs absolues

Pour chaque flux, le Content‑Type doit être déclaré explicitement : application/atom+xml pour Atom, application/rss+xml pour RSS et application/feed+json pour JSON Feed. Le texte précise que les lecteurs ignorent souvent les valeurs alternatives. De plus, toutes les URLs présentes dans le flux doivent être absolues, c’est‑à‑dire commencer par https://. Cette contrainte évite les erreurs de résolution que certains clients rencontrent avec les URLs relatives.

Découverte et validation

Le document recommande d’insérer, dans le <head> de chaque page, une balise <link rel="alternate"> qui indique le type du flux (par ex. type="application/atom+xml") et son URL. L’ordre des balises peut influencer la visibilité : le flux global du site doit être placé en premier, suivi des flux de catégorie puis des flux de commentaires. La validation du flux peut être effectuée via le service de validation W3C, qui signale les erreurs de découverte ou de conformité.

Sécurité et contenu complet

Le guide insiste sur l’utilisation du protocole HTTPS pour la diffusion du flux et pour toutes les ressources embarquées (images, vidéos). Il suggère de rediriger les requêtes HTTP vers HTTPS et d’envisager l’en‑tête Strict-Transport-Security. En ce qui concerne le corps du flux, il recommande d’inclure le texte complet de chaque article dans l’élément <content>. L’élément <summary> reste disponible pour les lecteurs qui préfèrent un aperçu. Pour les sites payants, le texte propose d’ajouter un jeton d’authentification dans l’URL du flux ou d’utiliser l’authentification basique, tout en notant que la première option est plus largement supportée.

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>{{FEED_NAME}}</title>
  <id>{{HOMEPAGE_URL}}</id>
  <link rel="alternate" href="{{HOMEPAGE_URL}}"/>
  <link rel="self" href="{{FEED_URL}}"/>
  <updated>{{LAST_UPDATE_TIME in RFC3339 format}}</updated>
  <author><name>{{AUTHOR_NAME}}</name></author>
  <entry>
    <title>{{ENTRY.TITLE}}</title>
    <link rel="alternate" type="text/html" href="{{ENTRY.HTML_URL}}"/>
    <id>{{ENTRY.PERMALINK}}</id>
    <published>{{ENTRY.FIRST_POST_TIME in RFC3339 format}}</published>
    <updated>{{ENTRY.LAST_UPDATE_TIME in RFC3339 format}}</updated>
    <content type="html">{{ENTRY.HTML}}</content>
  </entry>
</feed>