# add_theme_support(‘automatic-feed-links’) rend les flux RSS détectables

> Une seule ligne de code pour que les lecteurs RSS et navigateurs détectent automatiquement les flux d'un site sans coder soi-même les balises link.

- Auteur : WordPress Développement
- Publié le : 2020-02-07
- Mis à jour le : 2020-02-07
- Catégorie : Thèmes
- URL : https://www.wpmoderne.fr/themes/add-theme-support-automatic-feed-links-flux-rss-detectables/

## L’essentiel

- Une déclaration ajoute les balises link nécessaires
- Couvre les flux d'articles, de commentaires et de catégories
- Évite d'écrire à la main un code déjà fourni par le cœur

`wp_head()` exécute une longue série d'actions accrochées à ce hook, mais toutes ne sont pas activées par défaut. Les balises `<link rel="alternate" type="application/rss+xml">` qui permettent à un lecteur RSS ou à un navigateur de détecter les flux d'un site n'apparaissent que si le thème l'a explicitement demandé.

Beaucoup de développeurs recopient ces balises à la main dans leur fichier `header.php`, en dur, avec l'URL du flux codée en clair. C'est un travail inutile : une seule ligne dans `functions.php` fait exactement le même travail, de façon plus robuste et plus complète.

## Ce que fait réellement la fonctionnalité

Déclarer `add_theme_support('automatic-feed-links')` accroche automatiquement une fonction du cœur de WordPress, `feed_links()`, au hook `wp_head`. Cette fonction génère les balises pour le flux général des articles, mais aussi pour le flux des commentaires du site.

```
function monthème_setup() {
    add_theme_support( 'automatic-feed-links' );
}
add_action( 'after_setup_theme', 'monthème_setup' );
```

Sur une page d'article unique, une troisième balise apparaît : le flux des commentaires spécifique à cet article, généré par `feed_links_extra()`, elle aussi accrochée automatiquement. Sur une page de catégorie ou de taxonomie, la balise pointe vers le flux propre à ce terme.

> L'essentiel à retenir : Une déclaration ajoute les balises link nécessaires ; Couvre les flux d'articles, de commentaires et de catégories ; Évite d'écrire à la main un code déjà fourni par le cœur

## Vérifier le résultat produit

Le moyen le plus simple de contrôler que la fonctionnalité est bien active consiste à afficher le code source d'une page et à chercher les balises générées dans la section `<head>`.

```
<link rel="alternate" type="application/rss+xml"
      title="Nom du site &raquo; Flux"
      href="https://exemple.test/feed/" />
<link rel="alternate" type="application/rss+xml"
      title="Nom du site &raquo; Flux des commentaires"
      href="https://exemple.test/comments/feed/" />
```

Si rien n'apparaît, deux causes sont fréquentes : la déclaration a été placée en dehors de `after_setup_theme`, ou un plugin de cache sert une version figée du `head` antérieure à l'activation du thème.

## Quand désactiver l'un des deux flux

Certains projets souhaitent conserver le flux d'articles mais masquer celui des commentaires, notamment quand les commentaires sont désactivés sur l'ensemble du site. Un filtre ciblé permet ce réglage fin sans renoncer à la fonctionnalité native.

- Retirer uniquement le flux des commentaires via un filtre sur `feed_links_show_comments_feed`.
- Retirer le flux principal (rare) via `feed_links_show_posts_feed`.
- Laisser les deux actifs si le site autorise les commentaires, cas le plus courant.

```
add_filter( 'feed_links_show_comments_feed', '__return_false' );
```

## Pourquoi ne pas coder ces balises à la main

Écrire soi-même les balises paraît anodin, mais cela introduit une source de désynchronisation : si le nom du site change, si la structure des permaliens évolue, ou si un plugin de traduction modifie l'URL selon la langue, le code en dur ne suit pas. La fonction native, elle, s'appuie sur `get_bloginfo()` et sur les fonctions de génération d'URL du cœur, donc elle reste toujours cohérente avec la configuration réelle du site.

> Un réflexe simple sur tout nouveau thème : activer cette fonctionnalité avant même de penser au design du header. Elle ne coûte rien et évite d'oublier une brique attendue par les outils de veille et certains agrégateurs.

## Un flux toujours actif, même sans lien visible

Il faut noter que le flux RSS existe par défaut sur toute installation WordPress, que le thème déclare cette fonctionnalité ou non : l'URL `/feed/` répond quel que soit le réglage. Ce que change `automatic-feed-links`, c'est uniquement la détection automatique par les logiciels clients, pas l'existence du flux lui-même.

C'est une nuance importante à expliquer à un client qui pense, à tort, qu'un flux RSS peut être totalement supprimé en retirant cette ligne de `functions.php`. Pour bloquer réellement l'accès aux flux, il faut passer par une redirection ou un filtre sur `do_feed`, une autre problématique.

## En résumé

Cette fonctionnalité illustre bien la philosophie de WordPress : proposer une brique déjà écrite plutôt que de laisser chacun réinventer un bout de balisage standard. Une ligne dans `after_setup_theme`, et les flux du site deviennent détectables sans risque d'erreur de syntaxe ni de désynchronisation avec la configuration réelle.
