4 min

Sitemap

Améliorer son maillage interne avec le sitemap et Claude

Le principe : donner à Claude la liste réelle des URL du site, lui demander quelles pages devraient pointer vers une page cible (avec l’ancre et l’endroit où placer le lien), puis écrire, vérifier et mesurer les liens. Six étapes, dont deux scripts de quelques lignes.

1. Récupérer la liste des URL

Claude ne connaît pas votre site. Il faut lui donner la liste exacte des pages, et la refaire avant chaque travail de maillage : un export de trois semaines m’a déjà fait écrire un lien vers une ancienne adresse, redirigée.

Le sitemap est la source la plus simple : un index qui pointe vers des sous-sitemaps (articles, pages, catégories). Ce script les lit tous et écrit un CSV, en une dizaine de requêtes :

import csv, urllib.request, xml.etree.ElementTree as ET

NS = {"s": "http://www.sitemaps.org/schemas/sitemap/0.9"}

def lire(url):
    req = urllib.request.Request(url, headers={"User-Agent": "maillage/1.0"})
    return ET.fromstring(urllib.request.urlopen(req, timeout=30).read())

lignes = []
for sm in lire("https://monsite.com/sitemap_index.xml").findall("s:sitemap/s:loc", NS):
    for u in lire(sm.text).findall("s:url", NS):
        lastmod = u.find("s:lastmod", NS)
        lignes.append((u.find("s:loc", NS).text, lastmod.text if lastmod is not None else ""))

with open("sitemap_urls.csv", "w", newline="", encoding="utf-8") as f:
    csv.writer(f).writerows([("url", "lastmod")] + lignes)
print(len(lignes), "URL")

Pas besoin de crawler le site page par page : c’est inutile, et un pare-feu peut vous bloquer, comme je l’ai vécu.

2. Classer les pages

Ajoutez une colonne « type » au CSV, à la main ou en demandant à Claude de la remplir d’après l’URL : page offre, page pilier, article, cas client, page à exclure (mentions légales, carrières, pages en noindex). Cette colonne sert à fixer vos priorités : les liens doivent pointer d’abord vers vos pages offre et vos pages piliers, puis vers les articles proches.

3. Poser une question précise à Claude

Joignez le CSV et posez la question page par page, avec ce modèle :

Voici la liste des URL de mon site (sitemap_urls.csv).
Page cible : <URL>, sujet : <sujet en une phrase>.

Trouve les pages qui devraient faire un lien vers cette cible. Pour chacune :
- l'URL (uniquement celles du fichier, n'en invente aucune) ;
- une ancre naturelle de 2 à 5 mots, différente d'une page à l'autre ;
- la phrase existante où placer le lien (cite-la) ;
- pourquoi ce lien sert le lecteur.

Maximum 10 pages. Priorité aux pages offre et aux pages piliers.
Exclus les pages qui ont déjà un lien vers la cible.

Claude doit lire le texte des pages pour citer une vraie phrase. Collez-lui le HTML, ou donnez-lui un accès en lecture au site, comme dans cette note. Faites aussi la question inverse : vers quelles pages la cible devrait-elle pointer ?

4. Contrôler avant d’écrire

Ne faites jamais confiance à une liste de liens sans la tester. Pour chaque URL cible : code 200, pas de redirection.

import urllib.request, urllib.error

def verifier(url):
    req = urllib.request.Request(url, method="HEAD", headers={"User-Agent": "maillage/1.0"})
    try:
        r = urllib.request.urlopen(req, timeout=20)
        return r.status, r.geturl() != url      # (code, redirigée ?)
    except urllib.error.HTTPError as e:
        return e.code, False

Vérifiez aussi à la main : les ancres sont variées (pas dix fois « délivrabilité email »), le lien est dans une phrase qui a du sens, et la page de départ ne porte pas déjà un lien vers la cible.

5. Écrire les liens

Un à deux liens par page, dans le corps du texte, jamais empilés dans le même paragraphe. Vous pouvez les écrire à la main dans l’éditeur, ou faire écrire Claude avec un accès limité à une liste de pages, une sauvegarde avant chaque modification et un aperçu avant écriture, comme dans cette note. Demandez-lui de montrer la phrase avant et après.

6. Mesurer

Dans la Search Console, filtrez sur la page cible et suivez les impressions et la position, jour par jour. Comparez deux à quatre semaines avant et après. Exemple : un guide de 5 000 mots dont les impressions étaient tombées à presque zéro est repassé à 10 à 39 par jour après 10 liens, depuis 2 pages piliers et 8 articles. D’autres facteurs ont pu jouer, comme la saison, donc regardez plusieurs pages avant de conclure.

Les erreurs à éviter

  • Lier depuis une liste ancienne : régénérez le CSV avant chaque travail.
  • Lier vers une page redirigée ou en noindex : le test de l’étape 4 les attrape.
  • Utiliser la même ancre partout : demandez des ancres variées.
  • Vouloir tout lier : 5 à 10 liens bien placés valent mieux que 50.
  • Compter sur les liens pour régler une cannibalisation : si plusieurs de vos pages visent la même requête, des liens n’y changent rien. Une page pilier liée par 20 articles sur 21 n’a été affichée que 35 fois en trois mois, parce que Google alternait entre une dizaine de pages aux titres trop proches. Corrigez d’abord les titres.

À retenir

Sitemap à jour, classement par priorité, question précise à Claude, test des URL, écriture avec garde-fous, mesure page par page. Claude trouve les liens et rédige les ancres ; vous gardez le contrôle de ce qui est écrit.

À lire aussi

34Les règles que mon agent IA a apprises en se trompant59Apollo compte tout ce qui passe : je ne lui montre plus que les pages qui comptent1 URLDes skills plutôt que des prompts