Referencement Google (SEO)
1. Comment fonctionne Google
Le referencement naturel (SEO - Search Engine Optimization) consiste a optimiser un site web pour qu'il apparaisse dans les premiers resultats de recherche Google. Google utilise un processus en 3 etapes pour afficher des resultats.
Les 3 etapes du moteur de recherche
- Crawl (exploration) : le robot Googlebot parcourt le web en suivant les liens et en decouvrant de nouvelles pages
- Indexation : Google analyse le contenu de chaque page et le stocke dans son index (base de donnees)
- Classement (ranking) : lorsqu'un utilisateur effectue une recherche, Google classe les pages indexees par pertinence
Les principaux facteurs de classement
| Facteur | Description | Impact |
|---|---|---|
| Contenu de qualite | Texte original, pertinent et utile pour l'utilisateur | Tres eleve |
| Backlinks | Liens entrants depuis d'autres sites faisant autorite | Tres eleve |
| Experience utilisateur | Vitesse de chargement, mobile-friendly, Core Web Vitals | Eleve |
| Balises HTML | Title, meta description, balises Hn bien structurees | Moyen |
| HTTPS | Site securise avec certificat SSL/TLS | Moyen |
| Donnees structurees | Schema.org pour les rich snippets dans les resultats | Moyen |
2. Google Search Console
La Google Search Console (anciennement Webmaster Tools) est l'outil gratuit essentiel pour suivre et optimiser la presence d'un site dans les resultats de recherche Google.
2.1 Ajouter un site (propriete)
Deux types de proprietes sont disponibles :
- Propriete de domaine : couvre tous les sous-domaines et protocoles (recommande). Verification par enregistrement DNS TXT
- Propriete de prefixe d'URL : couvre un prefixe specifique (ex:
https://www.exemple.fr/). Verification par fichier HTML, balise meta, Google Analytics ou Google Tag Manager
2.2 Methodes de verification
Verification par DNS (recommandee)
# Ajouter un enregistrement TXT dans la zone DNS du domaine
Type : TXT
Nom : @ (ou vide)
Valeur : google-site-verification=XXXXXXXXXXXXXXXXXXXXXX
# Le code de verification est fourni par la Search Console
Verification par fichier HTML
# Telecharger le fichier fourni par Google et le placer a la racine du site
# Exemple : googleXXXXXXXXXXXXXXXX.html
# Verifier que le fichier est accessible :
https://www.exemple.fr/googleXXXXXXXXXXXXXXXX.html
Verification par balise meta
<!-- Ajouter dans le <head> de la page d'accueil -->
<meta name="google-site-verification" content="XXXXXXXXXXXXXXXXXXXXXX" />
2.3 Fonctionnalites cles
- Performances : clics, impressions, CTR et position moyenne par requete
- Inspection d'URL : verifier si une page est indexee et demander une re-indexation
- Couverture : voir les pages indexees, exclues ou en erreur
- Sitemaps : soumettre et suivre l'etat de vos sitemaps
- Experience sur la page : rapport Core Web Vitals et compatibilite mobile
- Liens : voir les liens internes et externes pointant vers votre site
3. Sitemap XML
Un sitemap XML est un fichier qui liste toutes les pages importantes de votre site pour aider Google a les decouvrir et les indexer plus efficacement.
3.1 Structure d'un sitemap
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.exemple.fr/</loc>
<lastmod>2025-01-15</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.exemple.fr/services</loc>
<lastmod>2025-01-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.exemple.fr/contact</loc>
<lastmod>2024-12-01</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
</urlset>
3.2 Balises importantes
| Balise | Obligatoire | Description |
|---|---|---|
<loc> |
Oui | URL complete de la page |
<lastmod> |
Non | Date de derniere modification (format W3C : AAAA-MM-JJ) |
<changefreq> |
Non | Frequence de modification : always, hourly, daily, weekly, monthly, yearly, never |
<priority> |
Non | Priorite relative entre 0.0 et 1.0 (defaut : 0.5) |
3.3 Generer un sitemap avec PHP
<?php
header('Content-Type: application/xml; charset=UTF-8');
$pages = [
['url' => '/', 'lastmod' => '2025-01-15', 'priority' => '1.0'],
['url' => '/services', 'lastmod' => '2025-01-10', 'priority' => '0.8'],
['url' => '/blog', 'lastmod' => '2025-01-14', 'priority' => '0.7'],
['url' => '/contact', 'lastmod' => '2024-12-01', 'priority' => '0.5'],
];
$domain = 'https://www.exemple.fr';
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
foreach ($pages as $page) {
echo '<url>';
echo '<loc>' . $domain . $page['url'] . '</loc>';
echo '<lastmod>' . $page['lastmod'] . '</lastmod>';
echo '<priority>' . $page['priority'] . '</priority>';
echo '</url>';
}
echo '</urlset>';
?>
3.4 Soumettre le sitemap
- Via Search Console : aller dans Sitemaps > entrer l'URL du sitemap > Envoyer
- Via robots.txt : ajouter la ligne
Sitemap: https://www.exemple.fr/sitemap.xml
4. Fichier robots.txt
Le fichier robots.txt indique aux moteurs de recherche quelles pages ou sections du site ils peuvent ou ne peuvent pas explorer. Il se place a la racine du site.
4.1 Syntaxe de base
# Autoriser tout (defaut)
User-agent: *
Allow: /
# Bloquer un dossier specifique
User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /tmp/
# Bloquer un fichier specifique
Disallow: /config.php
# Autoriser un fichier dans un dossier bloque
Allow: /admin/public-page.html
Disallow: /admin/
# Reference au sitemap
Sitemap: https://www.exemple.fr/sitemap.xml
4.2 Directives par robot
# Regles specifiques pour Googlebot
User-agent: Googlebot
Disallow: /recherche/
Allow: /
# Bloquer tous les robots sauf Google
User-agent: Googlebot
Allow: /
User-agent: *
Disallow: /
4.3 Directives courantes
| Directive | Description | Exemple |
|---|---|---|
User-agent |
Robot cible (* pour tous) | User-agent: Googlebot |
Disallow |
Chemin interdit au crawl | Disallow: /admin/ |
Allow |
Chemin autorise (prioritaire sur Disallow) | Allow: /admin/public/ |
Sitemap |
URL du sitemap | Sitemap: https://exemple.fr/sitemap.xml |
Crawl-delay |
Delai entre les requetes (non supporte par Google) | Crawl-delay: 10 |
<meta name="robots" content="noindex">.
5. SEO On-Page
Le SEO on-page regroupe toutes les optimisations realisees directement sur les pages du site : balises HTML, contenu, structure et mots-cles.
5.1 Balise Title
La balise <title> est le facteur on-page le plus important. Elle apparait dans l'onglet du navigateur et comme titre dans les resultats de recherche.
<!-- Structure recommandee -->
<title>Mot-cle principal - Complement | Nom du site</title>
<!-- Exemples -->
<title>Outils IT en ligne gratuits - Generateurs, Reseau, Systeme | MonSite</title>
<title>Calculateur de sous-reseau IPv4 - CIDR et masque | MonSite</title>
<title>Guide Docker : commandes, Dockerfile et Compose | MonSite</title>
5.2 Meta Description
La meta description apparait sous le titre dans les resultats Google. Elle n'impacte pas directement le classement mais influence le taux de clic (CTR).
<meta name="description" content="Decouvrez nos outils IT gratuits :
generateur de mot de passe, calculateur reseau, QR Code, JSON formatter
et 30 autres utilitaires pour les administrateurs systeme." />
<!-- Regles : entre 150 et 160 caracteres, inclure le mot-cle, inciter au clic -->
5.3 Structure des balises Hn
Les balises de titre definissent la hierarchie du contenu. Il ne doit y avoir qu'un seul <h1> par page.
<h1>Titre principal de la page (mot-cle principal)</h1>
<h2>Section 1 (mot-cle secondaire)</h2>
<h3>Sous-section 1.1</h3>
<h3>Sous-section 1.2</h3>
<h2>Section 2 (autre mot-cle)</h2>
<h3>Sous-section 2.1</h3>
<!-- NE PAS : sauter des niveaux (h1 puis h3 sans h2) -->
<!-- NE PAS : utiliser plusieurs h1 sur la meme page -->
5.4 Optimisation des URLs
<!-- BON : URL courte, lisible, avec mots-cles -->
https://www.exemple.fr/guide-docker-installation
https://www.exemple.fr/outils/calculateur-subnet
<!-- MAUVAIS : URL longue, parametres, sans sens -->
https://www.exemple.fr/index.php?page=42&cat=3&lang=fr
https://www.exemple.fr/article/2025/01/15/mon-super-article-tres-long-titre
5.5 Optimisation des images
<!-- Toujours renseigner l'attribut alt avec une description pertinente -->
<img src="images/schema-reseau.png" alt="Schema de topologie reseau LAN avec switch et routeur"
width="800" height="450" loading="lazy" />
<!-- Nommer les fichiers de maniere descriptive -->
schema-reseau-lan.png <!-- BON -->
IMG_20250115_123456.jpg <!-- MAUVAIS -->
image1.png <!-- MAUVAIS -->
5.6 Liens internes
Le maillage interne aide Google a comprendre la structure de votre site et distribue le "jus SEO" entre les pages.
- Utiliser des ancres descriptives : "consultez notre guide Docker" au lieu de "cliquez ici"
- Lier les pages entre elles de maniere logique et contextuelle
- S'assurer que chaque page importante est accessible en 3 clics maximum depuis l'accueil
- Creer une page plan du site HTML en plus du sitemap XML
6. SEO Technique
Le SEO technique concerne les aspects d'infrastructure et de performance qui impactent l'exploration et l'indexation de votre site.
6.1 HTTPS obligatoire
Google favorise les sites en HTTPS. Assurez-vous que :
- Un certificat SSL/TLS valide est installe (Let's Encrypt suffit)
- Toutes les URLs HTTP redirigent en 301 vers HTTPS
- Aucun contenu mixte (ressources HTTP sur page HTTPS)
# Redirection HTTP vers HTTPS dans .htaccess (Apache)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
# Dans Nginx
server {
listen 80;
server_name www.exemple.fr exemple.fr;
return 301 https://$server_name$request_uri;
}
6.2 Vitesse de chargement
La vitesse est un facteur de classement direct. Objectifs recommandes :
| Metrique | Bon | A ameliorer | Mauvais |
|---|---|---|---|
| LCP (Largest Contentful Paint) | < 2.5s | 2.5s - 4s | > 4s |
| INP (Interaction to Next Paint) | < 200ms | 200ms - 500ms | > 500ms |
| CLS (Cumulative Layout Shift) | < 0.1 | 0.1 - 0.25 | > 0.25 |
6.3 Optimisations de performance
<!-- Preconnexion aux domaines tiers -->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="dns-prefetch" href="https://cdn.exemple.fr" />
<!-- Chargement differe des scripts non critiques -->
<script src="analytics.js" defer></script>
<script src="chat-widget.js" async></script>
<!-- Images responsives avec lazy loading -->
<img src="photo.webp" alt="Description" loading="lazy"
srcset="photo-400.webp 400w, photo-800.webp 800w"
sizes="(max-width: 768px) 400px, 800px" />
6.4 Compatibilite mobile
Google utilise le Mobile-First Indexing : c'est la version mobile de votre site qui est indexee en priorite.
<!-- Viewport indispensable -->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Tester avec : -->
<!-- - Google Search Console > Experience sur la page -->
<!-- - Chrome DevTools > mode responsive (F12) -->
<!-- - PageSpeed Insights (test mobile) -->
6.5 Balises canoniques et redirections
<!-- Eviter le contenu duplique avec la balise canonical -->
<link rel="canonical" href="https://www.exemple.fr/ma-page" />
<!-- Cas d'usage : meme contenu accessible via plusieurs URLs -->
<!-- https://exemple.fr/page -->
<!-- https://www.exemple.fr/page -->
<!-- https://www.exemple.fr/page?ref=newsletter -->
<!-- Toutes doivent pointer vers l'URL canonique -->
<!-- Redirect 301 (permanente) pour les anciennes URLs -->
# .htaccess
Redirect 301 /ancienne-page https://www.exemple.fr/nouvelle-page
6.6 Balises meta pour le SEO
<!-- Controler l'indexation d'une page -->
<meta name="robots" content="index, follow" /> <!-- par defaut -->
<meta name="robots" content="noindex, follow" /> <!-- ne pas indexer, mais suivre les liens -->
<meta name="robots" content="noindex, nofollow" /> <!-- ne rien faire -->
<!-- Balises Open Graph pour le partage sur les reseaux sociaux -->
<meta property="og:title" content="Titre de la page" />
<meta property="og:description" content="Description pour les reseaux sociaux" />
<meta property="og:image" content="https://www.exemple.fr/images/apercu.jpg" />
<meta property="og:url" content="https://www.exemple.fr/ma-page" />
<meta property="og:type" content="website" />
7. Donnees structurees (Schema.org)
Les donnees structurees permettent de decrire le contenu de vos pages dans un format comprehensible par les moteurs de recherche. Elles peuvent generer des rich snippets (resultats enrichis) dans Google : etoiles, prix, FAQ, breadcrumbs, etc.
7.1 Format JSON-LD (recommande par Google)
<!-- Organisation / Entreprise -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Mon Entreprise",
"url": "https://www.exemple.fr",
"logo": "https://www.exemple.fr/images/logo.png",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+33-1-23-45-67-89",
"contactType": "customer service",
"availableLanguage": "French"
},
"sameAs": [
"https://www.facebook.com/mon-entreprise",
"https://www.linkedin.com/company/mon-entreprise"
]
}
</script>
7.2 FAQ (genere un rich snippet FAQ)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Comment generer un mot de passe securise ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Utilisez un generateur qui combine majuscules, minuscules, chiffres et caracteres speciaux, avec un minimum de 16 caracteres."
}
},
{
"@type": "Question",
"name": "Comment tester la propagation DNS ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Interrogez plusieurs serveurs DNS publics (Google, Cloudflare, Quad9) et comparez les reponses pour verifier la coherence."
}
}
]
}
</script>
7.3 Breadcrumb (fil d'Ariane)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Accueil",
"item": "https://www.exemple.fr/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Outils",
"item": "https://www.exemple.fr/outils"
},
{
"@type": "ListItem",
"position": 3,
"name": "Generateur de mot de passe"
}
]
}
</script>
7.4 Article de blog
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Comment securiser un serveur Linux en 10 etapes",
"author": {
"@type": "Person",
"name": "Admin IT"
},
"datePublished": "2025-01-15",
"dateModified": "2025-01-20",
"description": "Guide complet pour durcir la securite d'un serveur Linux.",
"image": "https://www.exemple.fr/images/securite-linux.jpg"
}
</script>
search.google.com/test/rich-results) pour valider vos donnees structurees avant de les deployer.
8. SEO Off-Page (Backlinks)
Le SEO off-page concerne principalement les backlinks (liens entrants) : des liens depuis d'autres sites web pointant vers le votre. C'est l'un des facteurs de classement les plus puissants.
8.1 Types de backlinks
| Type | Valeur SEO | Description |
|---|---|---|
| Dofollow | Elevee | Transmet le "jus SEO" (PageRank) vers votre page |
| Nofollow | Faible | Ne transmet pas de PageRank (commentaires, forums, publicites) |
| UGC | Faible | Contenu genere par les utilisateurs (rel="ugc") |
| Sponsored | Aucune | Liens sponsorises / publicitaires (rel="sponsored") |
8.2 Strategies d'acquisition de backlinks
- Contenu de qualite : creer du contenu utile que les gens voudront naturellement partager (guides, outils, infographies)
- Guest blogging : rediger des articles invites sur des blogs du meme domaine
- Annuaires professionnels : s'inscrire dans les annuaires pertinents de votre secteur
- Partenariats : echanger des liens avec des sites complementaires (pas concurrents directs)
- Broken link building : trouver des liens casses sur d'autres sites et proposer votre contenu en remplacement
9. SEO Local (Google Business)
Le SEO local optimise la visibilite d'une entreprise dans les resultats de recherche geographiques ("plombier Lyon", "restaurant pres de moi").
9.1 Google Business Profile
Creer et optimiser une fiche Google Business Profile (anciennement Google My Business) est la premiere etape du SEO local.
- Informations completes : nom, adresse, telephone, horaires, site web, categorie d'activite
- Photos : ajouter des photos de qualite (facade, interieur, equipe, produits)
- Avis clients : encourager les clients satisfaits a laisser des avis et repondre a tous les avis (positifs et negatifs)
- Posts : publier regulierement des actualites, offres et evenements
- Questions/Reponses : repondre aux questions posees par les utilisateurs
9.2 Donnees structurees LocalBusiness
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Mon Entreprise IT",
"image": "https://www.exemple.fr/images/facade.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 rue de la Paix",
"addressLocality": "Paris",
"postalCode": "75001",
"addressCountry": "FR"
},
"telephone": "+33-1-23-45-67-89",
"url": "https://www.exemple.fr",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "09:00",
"closes": "18:00"
}
],
"priceRange": "$$"
}
</script>
9.3 NAP : coherence des informations
Le NAP (Name, Address, Phone) doit etre identique partout : site web, Google Business, annuaires, reseaux sociaux. Toute incoherence reduit la confiance de Google.
10. Suivi et outils
10.1 Outils gratuits Google
| Outil | Usage |
|---|---|
| Google Search Console | Performances de recherche, indexation, erreurs, sitemaps |
| Google Analytics | Trafic, comportement des visiteurs, conversions |
| PageSpeed Insights | Performance et Core Web Vitals (mobile + desktop) |
| Test Mobile-Friendly | Verification de la compatibilite mobile |
| Test des resultats enrichis | Validation des donnees structurees Schema.org |
| Google Trends | Tendances de recherche et comparaison de mots-cles |
10.2 Indicateurs cles a suivre (KPI)
- Position moyenne : rang moyen de vos pages dans les resultats (Search Console)
- Impressions : nombre de fois ou vos pages apparaissent dans les resultats
- CTR (Click-Through Rate) : pourcentage de clics par rapport aux impressions
- Pages indexees : nombre de pages dans l'index Google
- Core Web Vitals : LCP, INP, CLS (rapport d'experience)
- Trafic organique : visiteurs provenant des resultats de recherche (Analytics)
10.3 Checklist SEO rapide
| Verification | Commande / Methode |
|---|---|
| Le site est-il indexe ? | Rechercher site:exemple.fr dans Google |
| Le robots.txt est-il correct ? | Acceder a https://exemple.fr/robots.txt |
| Le sitemap est-il soumis ? | Verifier dans Search Console > Sitemaps |
| HTTPS est-il actif ? | Verifier le cadenas dans le navigateur |
| Le site est-il mobile-friendly ? | Tester avec Chrome DevTools (F12 > mode mobile) |
| Les Core Web Vitals sont-ils bons ? | Tester avec PageSpeed Insights |
| Les donnees structurees sont-elles valides ? | Test des resultats enrichis Google |
| Chaque page a un title unique ? | Verifier dans Search Console > rapport HTML |