Automatiser le maillage interne avec N8N pour WordPress

J’ai mis ça en place sur wordpress-freelance.com en janvier. Cinq mois plus tard, le système tourne toujours chaque dimanche et je n’y touche plus. Avant, je passais facilement deux heures le lundi matin à chercher où créer des liens entre mes nouveaux articles et les anciens. Maintenant, N8N et Claude font ça tout seuls pendant que je dors. Dans cet article, je détaille comment j’ai construit ce workflow, les trucs qui ont cassé en route, et ce que ça change concrètement quand on gère un site avec plus de quatre-vingts articles répartis en silos.

1. Le déclenchement hebdomadaire

Le workflow part chaque dimanche à 11h30. CRON classique, rien de fou. Je publie du lundi au samedi, donc le dimanche je traite exactement les articles de la semaine passée sans toucher aux brouillons ni retraiter les vieux contenus. Le nœud initial calcule la plage de dates en JavaScript et tape l’API WordPress avec les paramètres after et before en ISO 8601.

La première version retraitait tous les articles à chaque fois. J’ai vite compris mon erreur quand j’ai reçu la facture Claude du premier mois. Maintenant le système ne regarde que les nouveaux contenus, ce qui m’a divisé la conso de tokens par dix.

Anecdote bête : au douzième passage en février, le workflow a planté sur un article qui avait des emojis dans le titre. J’ai ajouté un escape JSON dans le nœud de préparation et depuis ça roule.

2. Les silos, c’est non négociable

Mon site a cinq silos racines : WordPress, SEO & Stratégie, GEO/IA, Plugins, Automatisation. Chaque article descend d’un de ces silos via sa catégorie. La règle est brutale : on ne crée des liens qu’entre articles du même silo racine. Jamais de lien d’un article SEO vers un article Plugin.

Le workflow récupère toute la hiérarchie des catégories via /wp-json/wp/v2/categories et remonte à la racine pour chaque article. Un nœud Code filtre les candidats avant même d’appeler Claude. J’ai fait le test sans cette validation au début. Les suggestions de Claude étaient pertinentes sémantiquement mais cassaient complètement l’archi du site. Maintenant les liens respectent les silos et Google comprend mieux la topicalité de chaque section.

3. Injection HTML directe via l’API REST

L’intégration WordPress passe par trois endpoints : récup des articles dans la plage de dates, récup de la hiérarchie des catégories, update du contenu HTML. L’auth utilise un Application Password encodé en Basic Auth dans les headers.

Une fois que Claude retourne ses suggestions, le workflow injecte le HTML directement dans le champ content via POST. Le truc important : j’injecte le HTML brut sans passer par Gutenberg ou autre. Ça préserve tout le formatage existant et place les liens exactement où Claude les a mis dans le contexte.

J’ai aussi ajouté une garde qui compte les liens internes déjà présents. Si l’article en a déjà trois ou plus, on skip. Pas envie de suroptimiser des contenus déjà bien maillés.

4. Claude pour les ancres

J’utilise Claude Opus via l’API Anthropic. Le prompt demande deux à quatre suggestions de liens avec des ancres verbatim extraites du texte existant. Pas de reformulation. Claude lit l’article complet, trouve les passages où un lien a du sens, et retourne un JSON avec l’ancre exacte et l’URL cible.

Les ancres verbatim, c’est le détail qui change tout. Elles s’intègrent naturellement au texte sans que ça fasse « lien inséré après coup ». Et honnêtement, Claude détecte des connexions sémantiques que je ne voyais pas manuellement. C’est meilleur que ce que je faisais à la main.

Budget tokens : mille par article. Si je publie cinq articles dans la semaine, ça me coûte environ quinze centimes. Le rapport Telegram me donne le total exact des tokens consommés et le coût estimé.

5. Telegram pour le monitoring

Chaque dimanche après l’exécution, je reçois un message sur Telegram. Nombre d’articles traités, nombre de liens créés, tokens consommés, coût de la semaine. Bot configuré via BotFather avec mon chat ID perso.

Ce rapport me permet de vérifier que tout tourne sans me connecter à N8N. En janvier, j’ai eu une semaine à zéro article traité. C’était juste une semaine où je n’avais rien publié, mais je préfère recevoir le message même s’il dit zéro plutôt que de ne rien recevoir et me demander si le système est mort.

Pourquoi j’ai automatisé ça

Avant, je passais deux heures chaque lundi à relire mes nouveaux articles et chercher manuellement où créer des liens. Je me souvenais des articles récents mais j’oubliais complètement les anciens qui auraient été pertinents. Les liens que je créais respectaient les silos parce que je connais ma structure, mais la cohérence sémantique dépendait de ma mémoire.

Avec N8N et Claude, le système analyse cent pour cent des articles éligibles du même silo à chaque fois. La qualité est constante et je récupère mes deux heures pour faire autre chose.

Google Analytics montre une amélioration du temps de session et des pages par visite depuis janvier. Ça valide que les liens créés sont utiles pour les visiteurs, pas juste pour le SEO.

Cinq mois sans y toucher

Le workflow tourne en prod depuis janvier sans intervention manuelle. J’ai juste lu le rapport Telegram chaque dimanche. Le système a traité plus de quatre-vingts articles et créé environ deux cent cinquante liens qui respectent tous les silos.

Si vous gérez un site WordPress avec plusieurs dizaines d’articles et une archi en silos définie, cette automatisation vous fera gagner des heures chaque semaine. Et les liens seront probablement meilleurs que ce que vous faites manuellement.