# Antipatterns de maillage automatique : quand le bloc Requête crée des boucles

> Le bloc Requête de l'éditeur de site facilite le maillage automatique, mais mal configuré, il génère des boucles internes qui diluent le maillage plutôt que de le renforcer.

- Auteur : Clément Hadrot
- Publié le : 2022-07-15
- Mis à jour le : 2022-07-15
- Catégorie : SEO &amp; GEO
- URL : https://wpmoderne.dev.wordpress-developpement.fr/seo/bloc-requete-boucles-maillage-automatique-antipatterns/

## L’essentiel

- Un bloc Requête « Articles similaires » sans exclusion crée des boucles circulaires
- Trier par date sur un article isolé favorise toujours les mêmes contenus récents
- Les boucles concentrent le maillage sur 5 à 10 % des pages du site

Le bloc Requête, arrivé avec l'éditeur de site en WordPress 5.9, a rendu le maillage automatique accessible sans ligne de code : on glisse un bloc « Articles similaires » ou « Articles de la même catégorie » dans le modèle d'article, on choisit un tri, et WordPress remplit la zone à chaque affichage. C'est justement cette simplicité qui produit des antipatterns récurrents quand personne ne vérifie ce que la requête retourne réellement sur l'ensemble du site.

J'ai audité un site d'accessoires photo qui utilisait ce bloc sur toutes ses fiches produits, configuré pour afficher « les 3 articles les plus récents de la même catégorie ». Sur le papier, rien d'alarmant.

## Ce qu'on voit : des boucles fermées entre quelques pages

En traçant le graphe de maillage réel avec un script d'extraction des liens internes, six fiches produits de la catégorie « trépieds » se renvoyaient exclusivement les unes vers les autres, formant une boucle fermée : la fiche A renvoyait vers B, C et D ; B renvoyait vers A, C et D ; et ainsi de suite, sans qu'aucune des deux cents autres fiches de la même catégorie n'apparaisse jamais dans ce bloc.

> L'essentiel à retenir : Un bloc Requête « Articles similaires » sans exclusion crée des boucles circulaires ; Trier par date sur un article isolé favorise toujours les mêmes contenus récents ; Les boucles concentrent le maillage sur 5 à 10 % des pages du site

## Pourquoi c'est un problème

La cause est mathématique autant que technique : le bloc Requête triait par date de publication décroissante, sans aucune limite de décalage ni mécanisme d'aléatoire. Les six produits en question avaient été publiés le même jour, dans le même ordre, ce qui les plaçait systématiquement en tête de la requête pour toute autre fiche de la catégorie publiée après eux. Résultat : ces six pages captaient l'essentiel du maillage automatique interne de la catégorie, tandis que les deux cents autres fiches, plus anciennes, n'étaient jamais proposées et ne recevaient donc aucun lien entrant via ce bloc.

Le problème dépasse la simple répartition inégale du maillage : Google explore le site en suivant les liens, et une zone du graphe qui boucle sur elle-même sans jamais rejoindre le reste du corpus ralentit la découverte des nouvelles pages ajoutées à la catégorie, puisque le bloc automatique ne les proposera jamais tant qu'elles ne seront pas parmi les plus récentes.

## Quoi faire : casser la boucle avec l'aléatoire et l'exclusion

La configuration du bloc Requête (JSON stocké dans le contenu du modèle) permet d'ajuster l'ordre :

```
{
  "query": {
    "perPage": 3,
    "postType": "product",
    "orderBy": "rand",
    "exclude": [],
    "inherit": false
  }
}
```

Le tri `rand` (aléatoire à chaque affichage) casse mécaniquement les boucles fermées, mais il a un défaut : il rend le maillage instable d'une visite à l'autre, ce qui complique le suivi de l'ancre de texte pour un audit. Sur ce dossier, la solution retenue a combiné un tri par popularité (nombre de vues, stocké en champ personnalisé) avec une exclusion explicite de l'article courant :

```
add_filter( 'query_loop_block_query_vars', function( $query ) {
    if ( is_singular( 'product' ) ) {
        $query['post__not_in'] = array( get_the_ID() );
        $query['meta_key']     = 'vues_30_jours';
        $query['orderby']      = 'meta_value_num';
        $query['order']        = 'DESC';
    }
    return $query;
} );
```

## Vérifier après coup

Un simple export de tous les liens sortants des blocs Requête, groupé par page cible, permet de vérifier que la répartition est désormais plus homogène :

- Avant correction : 6 pages recevaient 89 % des liens générés par le bloc sur la catégorie
- Après correction : la répartition s'étalait sur 74 pages différentes après un mois de trafic

> Sur tout bloc Requête utilisé pour du maillage automatique, je vérifie systématiquement la distribution réelle des liens générés au bout de quelques semaines, jamais seulement la configuration du bloc dans l'éditeur.

## En résumé

Le bloc Requête n'est pas défaillant en soi : c'est son tri par défaut, combiné à l'absence d'exclusion, qui crée mécaniquement des boucles fermées sur des sites où plusieurs contenus partagent la même date ou la même popularité initiale. Un tri aléatoire ou basé sur une métrique qui évolue dans le temps évite ce piège bien plus efficacement qu'un tri chronologique statique.
