Récupération des requêtes : Collecte de données de recherche provenant de plusieurs sources

Cet article explique comment nous collectons les requêtes de recherche à partir de cinq sources différentes pour constituer un ensemble de données complet pour le pipeline SEO.

Le problème : des données de requêtes incomplètes

S'appuyer sur une seule source de données donne une image incomplète :

  • Google Search Console : Ne montre que les requêtes qui ont généré des clics (manque les requêtes à forte impression et faible CTR)

  • Google Ads : Ne montre que les termes de recherche payants (manque le trafic organique)

  • Journaux de recherche en direct : Ne montrent que les recherches sur le site (manque la découverte externe)

  • Algolia : Ne montre que les requêtes de saisie semi-automatique (manque les recherches complètes)

Nous devons agréger les requêtes de toutes les sources pour comprendre le paysage complet de la recherche.

Aperçu : cinq sources de requêtes

Le pipeline récupère les données de cinq sources :

  • Google Search Console : Requêtes de recherche organique avec des indicateurs d'engagement

  • Google Ads : Termes de recherche payants avec des données de conversion

  • Journaux de recherche en direct : Requêtes des utilisateurs sur le site

  • Analytiques Algolia : Requêtes de recherche par saisie semi-automatique

  • Keyword Planner : Suggestions de mots-clés connexes

Chaque source fournit des informations différentes ; combinées, elles créent un ensemble de données de requêtes complet.

Étape 1 : Récupérer les requêtes de chaque source

1.1 Google Search Console (GSC)

Objectif : Collecter les requêtes de recherche organique qui ont généré des clics.

Entrée : URL du site web vérifiée dans Search Console.

Sortie : Liste de requêtes avec des indicateurs d'engagement (requêtes, clics, impressions, CTR, position).

Spécifications des données :

  • Texte de la requête

  • Clics (nombre d'utilisateurs ayant cliqué sur notre résultat)

  • Impressions (nombre de fois où notre résultat est apparu)

  • CTR (taux de clics en pourcentage)

  • Position moyenne dans les résultats de recherche

Période de rétrospective : 90 jours (maximum pour les données détaillées de requêtes)

Filtrage : Minimum 1 clic (exclut les requêtes avec impressions uniquement)

Accès : API Google Search Console via un compte de service avec un accès en lecture seule

1.2 Termes de recherche Google Ads

Objectif : Collecter les termes de recherche payants qui ont déclenché des annonces.

Entrée : Compte Google Ads avec un accès de compte gestionnaire.

Sortie : Liste de termes de recherche avec des indicateurs de performance (termes, impressions, clics, coût).

Spécifications des données :

  • Texte du terme de recherche

  • Impressions (nombre de vues de l'annonce)

  • Clics (nombre de clics sur l'annonce)

  • Coût en micro-unités (1 million d'unités = 1 unité monétaire)

Période de rétrospective : 2 ans (toutes les données historiques disponibles)

Agrégation : Combine les données de tous les comptes autorisés

Filtrage : Minimum 1 impression

Accès : API Google Ads via OAuth2

1.3 Requêtes de recherche en direct

Objectif : Collecter les requêtes de recherche des utilisateurs sur le site.

Entrée : Journaux de recherche internes du service de recherche.

Sortie : Liste de requêtes avec des indicateurs de fréquence (requêtes, comptes, engagement).

Spécifications des données :

  • Texte de la requête

  • Fréquence (nombre de fois où elle a été recherchée)

  • Données d'engagement (recherches ayant conduit à des interactions avec des produits)

Période de rétrospective : Variable (généralement 30 à 90 jours selon la rétention des journaux)

Pondération : Les requêtes sont pondérées par l'engagement (les recherches avec interactions ont un score plus élevé)

Filtrage : Déduplication et comptage des occurrences

1.4 Recherches principales Algolia

Objectif : Collecter les recherches par saisie semi-automatique à partir des analytiques Algolia.

Entrée : Données d'analytique de recherche Algolia.

Sortie : Liste des principales requêtes de recherche avec leur fréquence (principales recherches, comptes).

Spécifications des données :

  • Texte de la requête

  • Nombre de recherches (nombre de fois où elle a été recherchée)

Période de rétrospective : 90 jours

Filtrage : Limité aux recherches récentes à fort volume

Accès : API Analytiques Algolia via les identifiants de l'application

1.5 Idées du Keyword Planner

Objectif : Collecter les suggestions de mots-clés connexes.

Entrée : Mots-clés de départ (catégories de produits, familles, termes de recherche courants).

Sortie : Liste de mots-clés avec des indicateurs (mots-clés, volume de recherche, concurrence, suggestions d'enchères).

Spécifications des données :

  • Texte du mot-clé

  • Nombre moyen de recherches mensuelles

  • Niveau de concurrence (faible, moyen, élevé)

  • Valeur d'enchère suggérée

Filtrage : Mots-clés pertinents uniquement (exclure les suggestions non liées)

Accès : API Google Ads Keyword Planner via OAuth2

Étape 2 : Normaliser et agréger les requêtes

2.1 Normaliser le texte des requêtes

Les requêtes sont standardisées avant agrégation :

  • Conversion en minuscules

  • Normalisation des espaces blancs (réduction des espaces multiples à un seul)

  • Suppression des espaces blancs en début et en fin

  • Suppression des caractères spéciaux (le cas échéant)

2.2 Fusionner et dédupliquer

Les requêtes de toutes les sources sont combinées :

  1. Charger toutes les listes de requêtes sources
  2. Dédupliquer par texte de requête normalisé
  3. Fusionner les indicateurs (combiner les clics, impressions, recherches)
  4. Suivre quelles sources ont contribué à chaque requête
  5. Trier par score d'engagement combiné

2.3 Pondérer par les signaux d'engagement

Les requêtes sont notées en fonction de l'engagement :

  • Clics depuis GSC : Pondération la plus élevée (engagement direct avec notre contenu)

  • Clics depuis Ads : Pondération la plus élevée (intention payante de l'utilisateur convertie en action)

  • Recherches en direct avec engagement : Pondération moyenne (interaction sur le site)

  • Recherches en direct sans engagement : Pondération plus faible (recherche seule)

  • Saisie semi-automatique Algolia : Pondération plus faible (intention incomplète)

  • Idées de mots-clés : Pondération la plus faible (suggestions, pas des recherches observées)

La formule de pondération est configurable ; l'engagement est le signal de classement principal.

2.4 Filtrer les requêtes de faible qualité

Les requêtes non valides sont supprimées :

  • Spam : Requêtes composées uniquement de chiffres, de caractères spéciaux ou de tentatives d'injection

  • Marque uniquement : Requêtes qui ne sont que le nom de notre marque seul

  • Score faible : Requêtes en dessous du seuil d'engagement minimum

Étape 3 : Mise en œuvre technique

3.1 Processus de récupération des requêtes

Authentification et récupération des données pour chaque source :

  1. Obtenir les identifiants (compte de service, OAuth2 ou clé API)
  2. Se connecter à l'API respective
  3. Demander les données pour la plage de dates spécifiée
  4. Analyser la réponse au format JSON standard
  5. Sauvegarder dans le stockage local

3.2 Client Google Search Console

Processus :

  1. S'authentifier avec les identifiants du compte de service
  2. Interroger l'API Search Console pour le site spécifié
  3. Paginer les résultats (chaque page renvoie jusqu'à 25 000 résultats)
  4. Extraire la requête, les clics, les impressions, le CTR, la position
  5. Agréger et sauvegarder au format JSON

3.3 Client Google Ads

Processus :

  1. S'authentifier avec les identifiants OAuth2
  2. Énumérer tous les comptes autorisés
  3. Interroger chaque compte pour les termes de recherche
  4. Agréger les indicateurs entre les comptes
  5. Trier par impressions et sauvegarder

3.4 Analyse des journaux de requêtes en direct

Processus :

  1. Lire les fichiers journaux de recherche internes
  2. Analyser chaque entrée de journal (format JSON, une par ligne)
  3. Extraire le texte de la requête et les signaux d'engagement
  4. Dédupliquer les requêtes et compter les occurrences
  5. Pondérer par engagement et sauvegarder

3.5 Récupération des analytiques Algolia

Processus :

  1. S'authentifier avec les identifiants Algolia
  2. Appeler l'API Analytiques pour les données de recherche
  3. Demander les principales recherches avec filtre de plage de dates
  4. Renvoyer le nombre de recherches et les indicateurs de résultat
  5. Sauvegarder au format JSON standard

Étape 4 : Mises à jour incrémentielles

La récupération des requêtes prend en charge les mises à jour incrémentielles pour un traitement plus rapide :

Première exécution :

  • Récupérer toutes les données historiques (2 ans pour Ads, 90 jours pour GSC)

  • Calculer les embeddings (configuration initiale plus lente)

Exécutions suivantes :

  • Récupérer uniquement les nouvelles données depuis la dernière exécution

  • Réutiliser les embeddings mis en cache lorsque c'est possible

  • Les mises à jour incrémentielles se terminent rapidement

Logique d'optimisation :

  • Vérifier si la sortie existe et est récente

  • Ignorer si aucune nouvelle donnée n'est disponible

  • Reprendre depuis le dernier point de contrôle en cas d'échec

Étape 5 : Intégration avec le pipeline

Les requêtes récupérées alimentent les étapes suivantes du pipeline :

5.1 Regroupement des requêtes :

  • Entrée : Liste combinée de requêtes avec pondérations d'engagement

  • Processus : Grouper les requêtes similaires ensemble en utilisant des embeddings

  • Sortie : Regroupements de requêtes pour la génération de pages

5.2 Correspondance avec les produits :

  • Entrée : Embeddings et regroupements de requêtes

  • Processus : Associer chaque regroupement aux produits pertinents

  • Sortie : Mappages requête-vers-produit

5.3 Pages de requêtes :

  • Entrée : Regroupements et correspondances de produits

  • Processus : Générer le contenu de la page pour chaque regroupement

  • Sortie : Pages HTML et données de routage

5.4 Recherches connexes :

  • Entrée : Embeddings de requêtes et données de page

  • Processus : Trouver des requêtes similaires pour chaque page

  • Sortie : Suggestions de recherches connexes

Voir : Aperçu du pipeline SEO pour l'architecture complète du pipeline

Considérations sur la qualité des données

Gestion des doublons

Les requêtes peuvent apparaître dans plusieurs sources avec de légères variations. Exemple :

  • "mini pc" (GSC)

  • "Mini PC" (Ads)

  • "mini pc" (Live avec un espace supplémentaire)

Solution : Normaliser avant la fusion (minuscules, suppression des espaces, réduction des espaces)

Gestion du spam

Certaines sources contiennent des requêtes non valides :

  • Chaînes de caractères aléatoires

  • Tentatives d'injection SQL

  • Requêtes extrêmement longues

Solution : Filtrer par signaux d'engagement, composition des caractères, règles de longueur

Gestion de la saisonnalité

Le volume de requêtes varie selon les saisons :

  • Volume plus élevé pendant les fêtes

  • Volume plus faible pendant les vacances

Solution : Utiliser une période de rétrospective de 90 jours pour lisser les variations saisonnières

Caractéristiques de performance

  • Temps de récupération : Varie selon la source ; la récupération parallèle réduit le temps global

  • Volume de requêtes : De milliers à des millions selon les sources de données

  • Temps d'agrégation : Évolue avec le nombre total de requêtes uniques

  • Mises à jour incrémentielles : Significativement plus rapides qu'une récupération complète

  • Utilisation des ressources : CPU modéré pour l'agrégation, mémoire pour la déduplication

Gestion des erreurs

Le pipeline gère les échecs courants :

  • API indisponible : Nouvelle tentative avec temporisation exponentielle

  • Données manquantes : Ignorer et enregistrer ; continuer avec les autres sources

  • Entrées non valides : Filtrer et continuer le traitement

  • Échecs partiels : Sauvegarder les données réussies et la position du point de contrôle

Voir aussi

Références

API et services

Articles connexes


← Retour à l'index de la documentation