Declaration officielle
Autres déclarations de cette vidéo 11 ▾
- 2:08 Faut-il vraiment bloquer les paramètres de tracking pour Googlebot via cloaking ?
- 5:50 Les URLs non-canoniques dans les liens internes tuent-elles vraiment le PageRank ?
- 6:01 Vos liens internes sabotent-ils le choix de la canonique par Google ?
- 16:22 Faut-il bloquer les paramètres d'URL dans robots.txt pour économiser son budget de crawl ?
- 18:03 Googlebot peut-il vraiment exécuter vos requêtes AJAX et indexer le contenu chargé en JavaScript ?
- 21:16 Les sitelinks search box sont-ils vraiment sous contrôle du SEO ?
- 21:50 Le balisage FAQ garantit-il vraiment un affichage dans les résultats de recherche Google ?
- 22:23 Googlebot soumet-il vos formulaires et faut-il s'en inquiéter ?
- 24:06 Faut-il vraiment rediriger tous ses ccTLDs vers un domaine unique ?
- 26:08 Faut-il vraiment passer d'un .com à un .ca pour cibler uniquement le Canada ?
- 51:44 Faut-il vraiment se méfier de l'attribut noreferrer sur vos liens ?
Google affirme que les ressources chargées via AJAX peuvent être indexées, mais ne consomment pas de budget de crawl. Pour éviter leur indexation sans casser le rendu, il suffit d'utiliser l'en-tête HTTP X-Robots-Tag. Reste à vérifier si cette assertion tient la route dans tous les contextes — notamment sur les sites lourds où chaque requête compte.
Ce qu'il faut comprendre
Pourquoi cette distinction entre indexation et budget de crawl ?
Google distingue deux processus : le crawl (exploration des URL) et l'indexation (enregistrement du contenu). Les appels AJAX déclenchent souvent des requêtes vers des endpoints JSON ou XML qui retournent des données brutes.
Ces endpoints peuvent finir indexés si Googlebot les découvre et qu'aucune directive ne l'en empêche. Mais Martin Splitt précise qu'ils ne grèvent pas le budget de crawl — ce qui sous-entend que Google les traite différemment des pages HTML classiques.
Comment bloquer l'indexation sans casser le rendu ?
L'en-tête X-Robots-Tag s'applique au niveau HTTP, avant même que le navigateur ou Googlebot ne parse le contenu. Tu peux donc renvoyer X-Robots-Tag: noindex sur tes endpoints AJAX sans toucher au code JavaScript.
La page principale continue de consommer ces ressources pour son rendu côté client, mais Google n'indexe pas le fichier JSON en tant que tel. C'est propre, transparent, et ça évite de polluer l'index avec des fragments de données hors contexte.
Quelle différence avec un robots.txt ou un meta robots ?
Le robots.txt bloque le crawl — donc Google ne récupère jamais la ressource, ce qui peut empêcher le rendu JavaScript de fonctionner. Le meta robots nécessite que la ressource soit du HTML, ce qui n'est pas le cas d'un endpoint JSON.
Le X-Robots-Tag laisse passer le crawl pour le rendu, mais stoppe l'indexation. C'est exactement ce qu'il faut pour des appels AJAX : Google télécharge, exécute, mais n'archive pas.
- Les ressources AJAX peuvent être indexées si aucune directive ne l'empêche
- Elles ne consomment pas de budget de crawl selon Google
- L'en-tête X-Robots-Tag bloque l'indexation sans affecter le rendu
- Le robots.txt bloque le crawl, donc casse le JavaScript — à éviter
- Le meta robots ne fonctionne que sur du HTML, pas sur du JSON
Avis d'un expert SEO
Cette affirmation sur le budget de crawl est-elle vérifiable ?
Google ne publie jamais de métriques précises sur le budget de crawl — ni quotas, ni compteurs. Affirmer que les appels AJAX « ne nuisent pas » au budget relève donc de la déclaration non falsifiable [A vérifier].
Sur les sites à forte volumétrie (e-commerce, agrégateurs), on observe que multiplier les endpoints AJAX peut ralentir l'exploration globale. Difficile de dire si c'est un effet de bord (latence serveur, timeout JS) ou si ces ressources consomment bel et bien du crawl malgré la déclaration officielle.
Le X-Robots-Tag suffit-il toujours pour éviter l'indexation ?
Oui, à condition que ton serveur renvoie correctement l'en-tête sur chaque réponse HTTP. Si tu passes par un CDN ou un reverse proxy mal configuré, l'en-tête peut sauter — et tes endpoints finissent indexés.
Autre piège : si ton endpoint renvoie du HTML au lieu de JSON (mauvaise route, erreur de dev), le X-Robots-Tag reste valide mais tu te retrouves avec des pages fantômes dans l'index. Vérifie toujours le Content-Type en parallèle.
Faut-il systématiquement bloquer l'indexation des endpoints AJAX ?
Pas toujours. Si ton endpoint retourne du contenu structuré utile (ex : une API publique, des données product schema), l'indexer peut avoir du sens — surtout si tu veux apparaître dans des recherches spécifiques.
Mais dans 90 % des cas, indexer un fichier JSON brut est contre-productif : aucun contexte sémantique, expérience utilisateur nulle, et pollution de l'index. Soyons honnêtes : si tu ne sais pas pourquoi tu voudrais indexer un endpoint, bloque-le par défaut.
Impact pratique et recommandations
Comment détecter les endpoints AJAX indexés par erreur ?
Utilise la commande site:tondomaine.com filetype:json dans Google (ou filetype:xml pour les endpoints XML). Tu verras immédiatement si des fichiers de données sont indexés.
En complément, inspecte les logs serveur pour repérer les requêtes Googlebot vers des routes /api/, /ajax/, /data/. Si ces routes n'ont pas vocation à être publiques, vérifie qu'elles renvoient bien le X-Robots-Tag.
Quelle est la bonne configuration serveur pour bloquer l'indexation ?
Sur Apache, ajoute dans ton .htaccess ou dans la config du vhost :<FilesMatch "\.(json|xml)$">
Header set X-Robots-Tag "noindex"
</FilesMatch>
Sur Nginx, dans le bloc location concerné :location ~* \.(json|xml)$ {
add_header X-Robots-Tag "noindex";
}
Sur les frameworks modernes (Next.js, Nuxt, etc.), configure l'en-tête directement dans les middlewares API pour qu'il soit renvoyé à chaque réponse, quel que soit le statut HTTP.
Quelles erreurs éviter absolument ?
Ne bloque jamais les endpoints AJAX dans le robots.txt si ton JavaScript en a besoin pour le rendu. Google crawlera la page, tentera d'exécuter le JS, échouera à récupérer les données, et te laissera avec un rendu incomplet.
Évite aussi de mélanger X-Robots-Tag: noindex et X-Robots-Tag: nofollow sur la même ressource sans raison claire. Le nofollow n'a de sens que si ton JSON contient des liens — ce qui est rare. Un noindex seul suffit dans 99 % des cas.
- Audite ton site avec site:tondomaine.com filetype:json pour détecter les fuites d'indexation
- Implémente le X-Robots-Tag sur tous les endpoints AJAX qui ne doivent pas être indexés
- Vérifie que l'en-tête est bien renvoyé (curl -I ou DevTools Network)
- Ne bloque jamais ces ressources dans robots.txt si le JS les consomme
- Teste le rendu dans Search Console après modification pour éviter les régressions
- Documente la config dans ton runbook pour que l'équipe dev ne la casse pas lors d'un refacto
❓ Questions frequentes
Est-ce que bloquer l'indexation des endpoints AJAX peut nuire au référencement de la page principale ?
Faut-il aussi bloquer les endpoints AJAX en HTTPS si le site est en HTTP ?
Le X-Robots-Tag fonctionne-t-il sur tous les types de fichiers retournés par AJAX ?
Google peut-il quand même indexer un endpoint si le X-Robots-Tag est mal formaté ?
Les autres moteurs de recherche respectent-ils le X-Robots-Tag sur les endpoints AJAX ?
🎥 De la même vidéo 11
Autres enseignements SEO extraits de cette même vidéo Google Search Central · durée 58 min · publiée le 28/04/2020
🎥 Voir la vidéo complète sur YouTube →
💬 Commentaires (0)
Soyez le premier à commenter.