Les flux RSS sont certes très pratiques, mais si vous utilisez WordPress pour motoriser un site vitrine, ils n’ont plus aucun intérêt. Malheureusement, WordPress ne permet pas de désactiver ces derniers via son interface de configuration. Il faut donc mettre les mains dans le code pour arriver à nos fins. Les codes suivants sont à ajouter dans le fichier functions.php de votre thème.
Tout d’abord, il convient de désactiver les flux eux-mêmes :
add_action('do_feed', 'disable_feed', 1);
add_action('do_feed_rdf', 'disable_feed', 1);
add_action('do_feed_rss', 'disable_feed', 1);
add_action('do_feed_rss2', 'disable_feed', 1);
add_action('do_feed_atom', 'disable_feed', 1);
function disable_feed(){
wp_die('Les flux RSS pour ce site sont désactivés.');
}
Grâce au code ci-dessus, les différentes pages de flux afficheront uniquement votre message.
Ensuite, il faut supprimer les liens d’abonnement. Si vous êtes parti d’un thème existant pour réaliser votre site, il y a de fortes chances que vous trouviez la ligne suivante, quelque part dans le fichier functions.php :
add_theme_support( 'automatic-feed-links' );
Si c’est le cas, supprimez la ligne et les liens pour s’abonner aux flux disparaitront.
Dernier point, le flux des commentaires. Lorsque vous affichez un article avec WordPress, le flux des commentaires de l’article s’ajoute à la liste des abonnements. Vous souhaitez le supprimer ? Copiez le code suivant :
function remove_rss() {
return;
}
add_filter('post_comments_feed_link','remove_rss');
Merci beaucoup d’avoir partagé cette information de façon claire et précise.
Merci pour cette astuce…
merci j’utilise ton code sur un de mes sites, par contre j’ai un peu modifié la fin pour qu’il fasse une 301 au lieu que la page reste affichée sans rien.
Bonjour , on a installé un flux rss sur notre blog, mais ca n’a pas marché, au contraire, le contenu du flux apparait maintenant sur la page d’accueil. On voulait le supprimer, on a supprimé dans le menu de wordpress, mais il est toujours sur le site. Comment faire alors ? Merci d’avance !