# SERP Tracker — Guide complet

> Présentation Le module SERP Tracker (dfserptracker) suit les positions de votre boutique dans les résultats de recherche Google, directement depuis le back-office PrestaShop. Vous déclarez vos mots-clés (avec leur pays…

- Page: <https://www.datafirefly.com/documentation/dfserptracker/>
- Langue: fr
- Mis à jour le: 2026-06-25
- Autres langues: [en](https://www.datafirefly.com/en/documentation/dfserptracker/index.md), [es](https://www.datafirefly.com/es/documentation/dfserptracker/index.md), [de](https://www.datafirefly.com/de/documentation/dfserptracker/index.md), [it](https://www.datafirefly.com/it/documentation/dfserptracker/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfserptracker/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfserptracker/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfserptracker/index.md)
- Index: <https://www.datafirefly.com/documentation/llms.txt>

## Présentation

Le module **SERP Tracker** (`dfserptracker`) suit les positions de votre boutique dans les résultats de recherche Google, directement depuis le back-office PrestaShop. Vous déclarez vos mots-clés (avec leur pays et leur appareil), le module relève régulièrement leur position via un **fournisseur d'API SERP de votre choix**, conserve l'**historique** de chaque relevé, calcule vos **opportunités** et vous **alerte par e-mail** quand une page décroche.

SERP Tracker ne scrape pas Google : il s'appuie sur une API SERP officielle à laquelle vous fournissez votre propre clé. Les relevés sont ainsi fiables, stables et conformes aux conditions d'utilisation de Google. Quatre fournisseurs sont pris en charge nativement : Serper.dev, ValueSERP, SerpApi et DataForSEO.

## Compatibilité

- PrestaShop 8.0 à 9.x
- PHP 7.4 à 8.3
- MySQL 5.6+ ou MariaDB 10.3+
- Mono-boutique et multi-boutique (suivi isolé par boutique)
- 5 langues : FR, EN, ES, DE, IT
- Hébergement mutualisé compatible (o2switch, OVH, etc.)
- Aucune dépendance Composer (autoloader maison) ; graphiques rendus avec Chart.js embarqué localement, sans CDN

## Installation

1. Dans le back-office, ouvrez **Modules > Gestionnaire de modules**.
2. Cliquez sur **Installer un module** puis sélectionnez le fichier `dfserptracker.zip`.
3. Une fois installé, cliquez sur **Configurer**.

À l'installation, le module crée ses deux tables (`df_serp_keyword` et `df_serp_position`), enregistre ses onglets d'administration sous le menu **SERP Tracker** (Tableau de bord, Mots-clés, Concurrents) et initialise ses réglages par défaut, dont un jeton de cron aléatoire.

## Choisir et configurer un fournisseur SERP

Avant tout relevé, vous devez choisir un fournisseur et renseigner votre clé d'API dans la page de configuration du module.

- **Serper.dev** : renseignez votre clé dans **Clé API Serper**. Simple et économique, idéal pour démarrer.
- **ValueSERP** : renseignez votre clé dans **Clé API ValueSERP**.
- **SerpApi** : renseignez votre clé dans **Clé API SerpApi**.
- **DataForSEO** : ce fournisseur utilise une authentification par identifiant et mot de passe. Renseignez votre **Login DataForSEO** et votre **Mot de passe DataForSEO**.

Le module est vendu une seule fois ; les relevés consomment des crédits chez le fournisseur que vous choisissez, selon votre propre compte et votre volume de mots-clés. La plupart des fournisseurs proposent une offre gratuite ou très peu coûteuse pour démarrer.

Une bannière d'avertissement s'affiche sur le tableau de bord tant qu'aucun fournisseur n'est correctement configuré. Vérifiez que la clé saisie correspond bien au fournisseur sélectionné dans le menu déroulant **Fournisseur**.

## Configuration

### Contexte de recherche par défaut

- **Domaine suivi** : le domaine dont vous voulez détecter la position (par défaut le domaine de la boutique). Le module compare ce domaine aux résultats organiques, en ignorant le préfixe `www.`
- **Pays par défaut** et **Appareil par défaut** (ordinateur ou mobile) : appliqués aux nouveaux mots-clés, surchargés au cas par cas sur chaque mot-clé.
- **Profondeur de résultats** : nombre de résultats analysés par relevé (au-delà, la position est considérée comme « non classé »).

### Alertes

- **Activer les alertes** : active l'envoi d'e-mails lors des changements de position significatifs.
- **E-mail de destination** : l'adresse qui reçoit les alertes.
- **Seuil de chute** : nombre de places de recul à partir duquel une alerte est déclenchée.

### Planification

- **Taille du lot** : nombre de mots-clés traités à chaque passage du cron.
- **Rétention de l'historique** : durée de conservation des relevés ; les relevés plus anciens sont purgés automatiquement.
- **URL de cron** : adresse en lecture seule, protégée par jeton, à déclencher depuis le cron de votre hébergeur (voir la section Relevés automatiques).

## Ajouter et gérer des mots-clés

Ouvrez l'onglet **Mots-clés** puis **Ajouter un mot-clé**. Chaque mot-clé porte son contexte :

- **Mot-clé** : la requête à suivre.
- **URL cible** (facultative) : la page que vous souhaitez voir se positionner. Si elle est renseignée, le module privilégie une correspondance exacte de cette URL ; sinon il retient la première page de votre domaine.
- **Tag** : libellé de regroupement (gamme, thématique…) pour filtrer vos mots-clés.
- **Langue**, **Pays** et **Appareil** : le contexte de recherche propre à ce mot-clé.
- **Volume de recherche** (facultatif) : à titre indicatif.
- **Actif** : seuls les mots-clés actifs sont relevés par le cron.

La liste des mots-clés affiche la position actuelle, avec un libellé coloré et une flèche d'évolution (▲ / ▼) par rapport au relevé précédent. La position **0** signifie « non classé » dans la profondeur analysée.

Vous pouvez lancer un relevé immédiat sans attendre le cron : utilisez l'action **Vérifier maintenant** sur une ligne, ou sélectionnez plusieurs mots-clés et appliquez l'action de masse **Vérifier**. Les actions de masse permettent aussi d'activer, désactiver ou supprimer en lot.

## Le tableau de bord

L'onglet **Tableau de bord** synthétise votre référencement à travers 7 indicateurs :

- **Indice de visibilité** (0 à 100) : score global pondéré par une courbe de CTR par position. Un mot-clé en première position pèse beaucoup plus qu'un mot-clé en bas de page. C'est l'indicateur de tendance à suivre dans le temps.
- **Total suivi** : nombre de mots-clés actifs.
- **Top 3** et **Top 10** : nombre de mots-clés positionnés dans les trois et dix premières places.
- **Distance au top** : mots-clés positionnés entre la 4ᵉ et la 20ᵉ place — vos opportunités les plus rentables.
- **Position moyenne** : moyenne des positions classées.
- **Non classés** : mots-clés sortis de la profondeur analysée.

Sous les indicateurs, un **graphique en anneau** montre la répartition de vos positions (top 3 / top 10 / distance au top / non classés). Deux tableaux listent vos **gagnants** et **perdants** entre les deux derniers relevés, et un tableau **distance au top** isole les mots-clés à fort potentiel. Le bouton **Lancer tous les relevés** exécute un relevé immédiat de l'ensemble des mots-clés dus (en AJAX, sans quitter la page).

## Concurrents et fonctionnalités SERP

Pour chaque relevé, le module détecte les **fonctionnalités de la SERP** : featured snippet (avec identification de son propriétaire — vous ou un concurrent), People Also Ask et local pack.

L'onglet **Concurrents** agrège les domaines qui apparaissent sur vos requêtes à partir du dernier relevé de chaque mot-clé, compte leur nombre d'apparitions et calcule leur position moyenne. Les 30 domaines les plus présents sont affichés, pour repérer d'un coup d'œil qui vous talonne sur l'ensemble de votre périmètre.

## Relevés automatiques (cron)

Pour automatiser les relevés, déclenchez l'URL de cron depuis le planificateur de tâches de votre hébergeur (cron o2switch, OVH, etc.). L'URL, protégée par un jeton, est affichée en lecture seule dans la configuration.

À chaque passage, le cron traite un lot de mots-clés dus (selon la **taille du lot** configurée), espace les appels pour respecter votre fournisseur, puis applique votre durée de **rétention** en purgeant les relevés anciens. Deux paramètres facultatifs sont acceptés sur l'URL : `limit` (nombre de mots-clés à traiter) et `id_shop` (boutique ciblée en multi-boutique).

Le jeton de cron protège l'endpoint contre les appels non autorisés. Ne le diffusez pas publiquement. Toute requête sans le bon jeton est rejetée.

## Alertes

Quand les alertes sont activées, SERP Tracker envoie un e-mail (modèles HTML et texte, en français et en anglais) lorsqu'un mot-clé connaît un changement significatif :

- entrée ou sortie du **top 3** ;
- sortie du **top 10** ;
- perte de classement (le mot-clé n'apparaît plus) ;
- chute supérieure au **seuil** configuré ;
- gain d'un **featured snippet**.

L'e-mail rappelle le mot-clé concerné, l'ancienne et la nouvelle position, la ou les raisons de l'alerte et l'URL classée.

## FAQ et dépannage

### Le tableau de bord affiche « aucun fournisseur configuré »

Vérifiez que vous avez sélectionné un fournisseur dans le menu déroulant **Fournisseur** et renseigné la clé correspondante (ou le login/mot de passe pour DataForSEO). La bannière disparaît dès qu'un fournisseur valide est détecté.

### Mes mots-clés ne se mettent pas à jour automatiquement

Le module relève les positions uniquement quand l'URL de cron est appelée. Configurez une tâche planifiée chez votre hébergeur pour déclencher cette URL à la fréquence souhaitée (par exemple une fois par jour). En attendant, le bouton **Lancer tous les relevés** et l'action **Vérifier maintenant** permettent des relevés manuels.

### Une position affiche 0

La position 0 signifie que votre domaine n'a pas été trouvé dans la profondeur de résultats analysée. Augmentez éventuellement la profondeur dans la configuration, ou vérifiez l'URL cible et le contexte (pays, appareil) du mot-clé.

### Pourquoi ne pas scraper Google directement ?

Le scraping direct est fragile, rapidement bloqué et contraire aux conditions d'utilisation de Google. En passant par une API SERP officielle, les relevés restent fiables et conformes. Vous gardez la maîtrise des coûts via votre propre compte fournisseur.

### Comment est calculé l'indice de visibilité ?

Chaque position est convertie en CTR estimé via une courbe par position, puis l'ensemble est ramené à un score de 0 à 100. C'est un indicateur de tendance : il monte quand vos mots-clés progressent globalement vers le haut des résultats.

### Est-ce compatible PrestaShop 9 et multi-boutique ?

Oui. Le module est compatible PrestaShop 8 et 9, et le suivi est isolé par boutique en multi-boutique. Les contrôleurs s'appuient sur `ModuleAdminController` pour rester compatibles entre PS8 et PS9.
