Contenus orphelins : ce que votre site WordPress ne relie à rien
Sur un site de quelques centaines d'articles, certains contenus ne reçoivent plus aucun lien depuis le reste du site. Ils existent, ils sont publiés, et presque plus personne n'y arrive. Voici comment les retrouver, et ce que « orphelin » veut dire exactement.
Un site WordPress grandit par couches. On publie un guide, puis une mise à jour, puis un article plus récent qui couvre mieux le sujet. Les liens, eux, suivent rarement. Le résultat est connu de tous ceux qui ont repris un site existant : des contenus parfaitement valables que plus aucune page ne cite.
On les appelle des contenus orphelins. Ils ne sont pas cassés. Ils sont simplement isolés.
Pourquoi un contenu isolé pose problème
Les liens internes jouent trois rôles à la fois :
- Ils guident vos lecteurs. Un visiteur entre rarement par la page d'accueil : il arrive sur un article et suit — ou non — les liens qu'il y trouve. Un contenu que rien ne relie n'est lu que par ceux qui le cherchent déjà.
- Ils guident les moteurs de recherche. Les robots découvrent et hiérarchisent vos pages en suivant les liens ; une page sans lien entrant est moins bien découverte et paraît moins importante.
- Ils racontent la structure de votre site. Les contenus très cités sont, de fait, vos pages piliers. Les orphelins sont ceux que votre propre site a cessé de considérer.
Le problème n'est pas d'en avoir quelques-uns. Il est de ne pas savoir lesquels.
Comment StormPress calcule le graphe
Le content graph de StormPress représente votre maillage interne : vos contenus et les liens entre eux. Ce qu'on appelle orphelin dépend entièrement de ce qu'on compte ; voici la méthode.
- Périmètre. Par défaut, les articles et les pages publiés. Les brouillons et contenus privés n'entrent pas dans le calcul.
- Extraction. Chaque lien
<a href>écrit dans le contenu enregistré est rapproché, quand WordPress sait le faire, du contenu qu'il vise ; un lien qu'il ne sait pas rattacher à un contenu du graphe n'est pas compté. Les liens vers soi-même et les simples ancres (#section) sont ignorés. - Orphelin. Un contenu publié qu'aucun autre contenu du graphe ne cite dans son texte.
Grands sites : le calcul en tâche de fond
Au-delà de 300 articles publiés, StormPress ne calcule plus le graphe pendant votre visite, pour ne pas ralentir le back-office : il le planifie en tâche de fond via WP-Cron. L'écran du graphe affiche « Calcul du graphe en cours », interroge le site toutes les cinq secondes et montre le résultat dès qu'il est prêt, sans rechargement ; l'écran SEO l'indique à la place du nombre d'orphelins.
Si votre hébergement remplace WP-Cron par une tâche planifiée du serveur, le calcul attend son prochain passage ; wp stormpress graph:refresh (voir plus bas) le lance immédiatement.
Le résultat est gardé en cache six heures et vidé dès qu'un contenu est enregistré, supprimé ou mis à la corbeille : le graphe suit vos modifications. Sur un grand site, l'affichage suivant repasse donc par le calcul en tâche de fond.
Deux filtres permettent d'adapter ce comportement :
// Inclure un type de contenu personnalisé dans le graphe
add_filter( 'stormpress_content_graph_post_types', function ( $types ) {
$types[] = 'guide';
return $types;
} );
// Passer en calcul différé plus tôt sur un hébergement modeste
add_filter( 'stormpress_content_graph_sync_limit', fn() => 150 );
Depuis la ligne de commande
Après une migration ou un import massif, WP-CLI permet de piloter le graphe :
wp stormpress graph:refresh # recalcule le graphe maintenant, même au-delà de 300 articles
wp stormpress graph:stats # contenus, liens et orphelins du graphe en cache (sinon, lancez graph:refresh)
Que faire d'un orphelin
Le graphe vous dit où regarder ; la décision reste éditoriale. Trois issues raisonnables :
- Le relier. Le contenu est toujours juste : ajoutez un lien depuis deux ou trois articles proches. C'est le cas le plus fréquent.
- Le fusionner. Un article plus récent couvre mieux le même sujet : reprenez-y ce qui vaut la peine, puis redirigez l'ancien.
- L'assumer. Mentions légales, page de confirmation, contenu saisonnier : certaines pages n'ont pas vocation à être citées. Le graphe les signale quand même.
Des suggestions de liens qui lisent l'article
Quand vous modifiez un article, StormPress peut proposer des contenus vers lesquels le lier, depuis la palette de commandes (/lier) ou via le copilote. Tout dépend d'une condition : une clé d'API est-elle enregistrée dans StormPress pour le fournisseur d'IA actif ?
- Avec une clé. StormPress prépare au plus 30 candidats, tous des contenus publiés de votre site : une moitié parmi les plus cités, puis ceux qui partagent une catégorie ou une étiquette avec l'article, puis le reste des plus cités. Le modèle reçoit le titre de l'article, ses 1 500 premiers caractères en texte brut et les titres des candidats. Il en retient au plus dix, classés du plus utile au moins utile pour le lecteur, chacun avec une ancre et une phrase de justification ; la palette en affiche les cinq premiers, comme le copilote par défaut.
- Sans clé, ou si le modèle ne répond pas utilement (erreur, délai de 20 secondes dépassé, réponse illisible), StormPress revient à l'ordre par popularité : les contenus déjà les plus cités, sans lecture de l'article.
La réponse du modèle est contrôlée avant d'être montrée : une cible absente des candidats est écartée (le modèle choisit, il n'invente pas), une ancre introuvable dans l'article est remplacée par le titre de la cible, une cible dépubliée depuis disparaît. Enfin, le texte de l'article n'est envoyé au modèle que si vous avez le droit de le modifier ; sinon, la palette refuse la demande et le copilote ne renvoie que l'ordre par popularité.
Chaque appel au modèle a un coût : la réponse est gardée en cache, une par langue d'interface, et recalculée si le titre de l'article, son début ou le fournisseur d'IA changent. Les réponses d'un même article partagent une seule échéance : douze heures après le dernier calcul fait pour cet article, quelle que soit la langue. Un contenu publié entre-temps n'entre dans les candidats qu'au calcul suivant. La gestion des clés fait l'objet d'un article dédié.
Une habitude plutôt qu'un chantier
Le maillage interne se dégrade par petites omissions. Le plus efficace est de regarder le graphe après chaque série de publications et de traiter les nouveaux orphelins tant qu'ils sont peu nombreux : un contenu oublié depuis une semaine se relie en deux minutes, un contenu oublié depuis deux ans demande une décision.
Le copilote peut aussi lire ce graphe : demandez-lui « quels articles n'ont aucun lien entrant ? ». Si le graphe d'un grand site est encore en calcul, il ne voit pas encore d'orphelins : reposez la question ensuite. Comment il agit sans jamais dépasser vos droits, c'est l'objet d'un autre article.