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.

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 » Flux"
href="https://exemple.test/feed/" />
<link rel="alternate" type="application/rss+xml"
title="Nom du site » 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.