Comprendre et maîtriser le référencement naturel de A à Z : crawl, indexation, Core Web Vitals, données structurées, maillage interne et Search Console. La formation technique pour développeurs qui veulent que leur site soit trouvé.
Deux sujets liés : les liens internes qui distribuent l'autorité dans le site, et les balises canonical qui gèrent les doublons. Les deux touchent à la façon dont Google perçoit l'architecture de votre site.
Le maillage interne est le réseau de liens entre vos propres pages. C'est l'un des leviers SEO les plus sous-estimés — et les plus faciles à améliorer.
Distribution de l'autorité (PageRank)
Quand un site externe vous linke, il vous transfère de l'autorité. Cette autorité se redistribue dans votre site via vos liens internes. Une page qui reçoit beaucoup de liens externes peut "alimenter" vos autres pages.
Site externe
│
↓ lien entrant
Page A (forte autorité)
├── lien interne → Page B (récupère une partie de l'autorité)
├── lien interne → Page C
└── lien interne → Page DAide à la navigation de Googlebot
Une page sans aucun lien interne vers elle (page "orpheline") peut ne jamais être crawlée. Googlebot suit les liens — si personne ne pointe vers une page, il ne la découvrira jamais.
Contexte thématique
Les liens internes avec des textes d'ancre descriptifs aident Google à comprendre les relations thématiques entre vos pages.
Organisez votre contenu en clusters : un article "pilier" qui couvre un sujet en profondeur, entouré d'articles plus spécifiques qui pointent tous vers lui.
[Article Pilier : Docker]
↑↓
┌────────────────┼─────────────────┐
↓ ↓ ↓
[Docker Compose] [Dockerfile avancé] [Docker + CI/CD]
↓ ↓
[Kubernetes] [GitHub Actions]Chaque article du cluster pointe vers le pilier. Le pilier pointe vers les articles satellites. L'autorité circule dans tout le cluster.
1. Liens contextuels dans la prose
✅ Bon : "Pour dockeriser votre application, [Docker expliqué simplement](/articles/docker-introduction)
couvre l'installation et le Dockerfile en détail."
❌ Mauvais : Section "Voir aussi" en bas de page avec une liste de liensLes liens intégrés dans le corps du texte ont plus de valeur que les listes de liens en bas de page — Google leur donne plus de poids.
2. Texte d'ancre descriptif
✅ [guide complet de Docker](/articles/docker-introduction)
✅ [configurer UFW sur Ubuntu](/articles/ufw-pare-feu-linux)
✅ [Core Web Vitals expliqués](/formations/seo-technique/5-core-web-vitals)
❌ [cliquez ici](/articles/docker-introduction)
❌ [ce lien](/articles/docker-introduction)
❌ [en savoir plus](/articles/docker-introduction)Le texte d'ancre est un signal de pertinence — Google comprend que la page cible parle du sujet indiqué.
3. Bidirectionnalité
Si l'article A linke vers l'article B, pensez à faire linker B vers A. Pas systématiquement — seulement quand c'est naturel. La bidirectionnalité renforce le cluster.
4. 2 à 4 liens par article
Assez pour créer du réseau, pas assez pour noyer le lecteur. Au-delà de 4-5 liens internes par page, Google dilue la valeur transmise par chaque lien.
5. Aucune page orpheline
Toutes vos pages importantes doivent être accessibles depuis au moins un lien interne. Auditez régulièrement :
# Avec Screaming Frog (gratuit jusqu'à 500 URLs)
# Reports → Orphan Pages
# Ou en ligne de commande avec sitemap + crawlDans Google Search Console → Liens → Liens internes, vous pouvez voir quelles pages reçoivent le plus de liens internes. Si votre page la plus importante n'est pas en tête de liste, c'est un problème de maillage.
Le contenu dupliqué, c'est plusieurs URLs qui affichent un contenu identique ou très similaire. Google ne sait pas laquelle indexer et classe souvent toutes moins bien.
Sources fréquentes de duplication involontaire :
http://monsite.fr/page
https://monsite.fr/page ← HTTP vs HTTPS
https://www.monsite.fr/page ← www vs sans www
https://monsite.fr/page/ ← slash final
https://monsite.fr/page?utm_source=twitter ← paramètres UTM
https://monsite.fr/page?page=1 ← paginationToutes ces URLs peuvent pointer vers le même contenu — et Google les traite comme des pages distinctes.
La canonical indique à Google quelle URL est la version officielle.
<!-- Sur TOUTES les versions de la page, inclure la canonical vers la version officielle -->
<link rel="canonical" href="https://iducation.fr/articles/seo-technique" />Règle simple : la canonical pointe vers l'URL que vous voulez voir dans les résultats Google, peu importe l'URL actuellement affichée.
<!-- Sur https://monsite.fr/page?utm_source=newsletter -->
<link rel="canonical" href="https://monsite.fr/page" />
<!-- Sur https://www.monsite.fr/page -->
<link rel="canonical" href="https://monsite.fr/page" />
<!-- Sur https://monsite.fr/articles?page=3 -->
<link rel="canonical" href="https://monsite.fr/articles" />
<!-- Ou sur la page paginée elle-même pour l'indexer séparément — selon votre stratégie -->Si votre article est republié sur Medium, dev.to, ou un autre site :
<!-- Sur Medium, dans le head de l'article syndicué : -->
<link rel="canonical" href="https://iducation.fr/articles/votre-article-original" />Ainsi, 100% de l'autorité générée par les liens vers l'article Medium revient à votre site original.
export const metadata: Metadata = {
// metadataBase est requis pour résoudre les URLs relatives
metadataBase: new URL('https://iducation.fr'),
}export async function generateMetadata({ params }) {
const { slug } = await params
const article = await getArticleBySlug(slug)
return {
title: `${article.title} — Iducation`,
description: article.excerpt,
alternates: {
canonical: `/articles/${slug}`, // Résolu en https://iducation.fr/articles/slug
},
openGraph: {
title: article.title,
description: article.dek,
type: 'article',
publishedTime: article.date,
authors: ['William Loree'],
},
}
}Pour les paramètres qui ne changent pas le contenu (UTM, tri, filtres de couleur...) :
<!-- Option 1 : canonical sur la version propre -->
<link rel="canonical" href="https://monsite.fr/products/chaussures" />
<!-- Option 2 : exclure les paramètres dans robots.txt -->
Disallow: /*?utm_source=
Disallow: /*?color=
Disallow: /*?sort=Dans Google Search Console → Paramètres d'URL, vous pouvez aussi indiquer à Google comment traiter chaque paramètre.
À faire : Testez si votre site est accessible en HTTP et HTTPS, avec et sans www. Toutes ces variantes doivent rediriger (301) vers une seule version. Ensuite, vérifiez que chaque page du site a une balise
<link rel="canonical">correcte. Dans Next.js,alternates.canonicaldansgenerateMetadatas'en charge.