De toutes les synergies entre le SEO et le SEA, ma préférée est le partage de données du SEA vers le SEO.

L’idée est de se servir des campagnes Google Shopping pour créer des landing pages qui serviront à la fois au SEO et aussi à des campagnes Text Ads DSA.

Les mots-clés qui convertissent

Le SEA est une mine d’information précieuse : des KPI comme le taux de conversion, le panier moyen ou les store visites sont disponibles contrairement au SEO et cela peut faire la différence pour la sélection des meilleurs mots-clés à travailler.

CPC serrurier


Le process complet est un peu long mais pas trop compliqué. Vous pouvez faire tourner la routine à loisir, chaque semaine ou tous les 6 mois pour détecter des nouveaux mots-clés performants à travailler.

1. Récupérer vos mots-clés Google Ads

Data transfert SEA GBQ

La première étape est de récupérer les termes de recherche de votre compte Google Ads.

Le plus simple est de mettre en place le mode transfert entre Google Ads et Google Big Query, c’est rapide et efficace.

Si vous ne pouvez pas prendre de licence chez GBQ, il est possible de faire toute la mécanique gratuitement avec R, en récupérant les SearchTerms via l’API ou en chargeant simplement un export CSV généré depuis Google Ads.

Une fois tous les mots-clés dans GBQ (ou R), vous pouvez faire un premier tri pour ne garder que les mots-clés avec X impressions, Y clics ou Z conversions. C’est vous qui voyez.

Exemple :

Filtrer les TOP mots-clés SEA


Et hop, 81k mots-clés potentiels qui ont fait plus de 20 clics et au moins 1 conversion SEA.

2. Une page existe-t-elle déjà sur le site ?

Avant de créer une page, il faut vérifier que vous ne ciblez pas déjà l'expression sur votre site.

Si vous ne disposez pas d'un export CMS contenant tous les mots-clés que vous travaillez, la meilleure solution est de faire un crawl pour récupérer les Title et/ou H1. Selon votre nombre de pages, vous pouvez utiliser un tool (comme Screaming Frog, Oncrawl, Botify) ou faire un crawl Adhoc.

Si vous avez moins de 50 000 pages, un crawl via R est une solution gratuite et assez simple à mettre en place.

Il suffit de sélectionner les sitemaps de vos pages et de mettre un place une récupération des Titles ou H1 de toutes les URLs.

Scrap des H1 sur le site

Si vos H1 ou vos Titles sont bien faits et que vos sitemaps sont complets, vous allez avoir une belle liste des mots-clés que vous travaillez déjà et vous allez pouvoir la comparer aux mots-clés du SEA.

Exemple :

BDD des mots-clés du site

3. On clusterise tous les mots-clés

Cette étape est de loin la plus complexe car il faut réussir à regrouper les mots-clés proches pour ne pas créer des pages sur des expressions trop semblables.

Il y a beaucoup de techniques différentes et elles peuvent être complexifiées à l’infini en fonction de la précision que vous voulez atteindre.

Il existe des scripts déjà fonctionnels pour faire des clusters basés sur la proximité des chaines de caractères :

Un très complet en Python : ici

Ou aussi celui de Rémi Bacha :

Mots-clés trop similaires

Pour l’exemple, on va travailler en regroupant les mots-clés en :

  • Supprimant les accents et caractères spéciaux
  • Supprimant les mots-creux (de, en, le, la, avec, l’, pour, etc)
  • Retirant les terminaisons (ée, es, x, e, s, etc)

C’est une technique qu’à déjà partagé Grégory Florin sur Game Of SEO




Voici un bout de script qui fonctionne bien :

A. Supprimer les accents et caractères spéciaux

Avec 2 lignes de R, vous pouvez remplacer tous les accents par leur version non accentués et supprimer tous les caractères spéciaux

listKW <- read.csv("listeExpression.csv", stringsAsFactors = FALSE)
listKW$racine <- stringi::stri_trans_general( listKW$keyword, "latin-ascii")
listKW$racine <- gsub("[^[:alnum:]]"," ",listKW$racine)

Supprimer les accents et caractères spéciaux des mots-clés

A gauche, vous avez le mot-clé intial et à droite la version transformée.




B. Charger une base de mots "creux"

Vous pouvez vous créer votre propre liste de mots creux pour plus de finesse, mais il existe un package R qui permet de récupérer une liste générique de StopWords pour différentes langues.


library("stopwords")
motsCreux <- as.data.frame(stopwords("fr"))


C’est pratique pour avoir une version de base ou pour travailler sur des langues étrangères.

Mots-clés creux / StopWords

C. Supprimer les mots creux et les terminaisons

Il ne reste qu'à faire une boucle pour chaque mot de chaque expression en supprimant les matching avec la liste de mots creux et en supprimant les terminaisons (ees, ee, es, e, s, x)

if (nrow(subset(motsCreux,motsCreux == as.character(mot))) > 0){mot <- ""}
mot <- data.frame(lapply(mot, gsub, pattern = '^(.*)(ee$)|(es$)|(x$)|(e$)|(s$)', replacement = '\\1', fixed = F))


Et voilà, nous avons récupéré des clusters avec un lot de mots-clés similaires à chaque fois :

Cluster des mots-clés


On applique la même mécanique pour les mots-clés issus du SEA et les mots-clés issus des H1 déjà présents sur le site.

4. Sélection des mots-clés

A cette étape, vous avez normalement 2 tables :

  • La table SEA avec : Terme de Recherche, Clics, Impressions, Conversion, Racine
  • La table Site avec : URL, H1, Racine

Pour l’exemple, je vais mettre des screens des mots-clés SEA qui contiennent « assiette » et « grès » et travailler en SQL sur GBQ, mais la mécanique est tout à fait réalisable aussi sur R.

Extrait de la table SEA :

La table SEA

Extrait de la table Site :

La table Site


On commence par supprimer les mots-clés en doublon qui travaillent la même racine en conservant à chaque fois la ligne avec le plus d’impressions.

WITH Best_Racine AS (SELECT Racine, max(Impr) AS Impr from Table_SEA group by Racine)
SELECT b2.SearchTerm,b2.Clics, b2.Impr, b2.Conv, b2.Racine from Best_Racine b1
left join Table_SEA b2
ON b1.Racine = b2.Racine and b1.Impr = b2.Impr

Déboublonnage des mots-clés


Il nous reste maintenant uniquement le meilleur SearchTerm par Racine.

On fait une jointure avec la table des H1 du site avec la colonne "Racine" comme clé de matching :

SELECT b1.*,b2.URL FROM Table_SEA b1
LEFT JOIN Table_Site b2
ON b1.Racine = b2.Racine

Jointure entre la table SEA et la table Site


Et on finit par supprimer les mots-clés qui sont déjà travaillés sur une URL active.

SELECT b1.* FROM Table_SEA b1
LEFT JOIN Table_Site b2
ON b1.Racine = b2.Racine
WHERE URL is null

Liste des mots-clés nettoyés


Et voilà, c’est terminé, on a les mots-clés intéressants qui auront le droit à une nouvelle landing page sur le site.

5. Créer les pages et reparamétrer le SEA

Avec la liste de mots-clés, on créé les différentes pages pour les travailler en SEO. Là, je vous laisse voir avec votre CMS ou votre techno interne pour la création.

Il est possible de faire quelques vérifications supplémentaires pour valider que chaque page sera assez qualitative (exemple).

Et voilà, vous avez ajouté des nouvelles pages qui correspondent à de bons volumes de recherches avec un minimum de conversions et sur des mots-clés que vous ne travailliez pas encore directement.

Nouvelles pages SEO

Il ne reste plus qu’à mettre aussi les nouvelles URLs dans une campagne Text Ads DSA et la boucle sera bouclée.

Chaque mot clé intéressant sera à la fois ciblé via Google Shopping, en SEO et en Text Ads.


Synergie SEO SEA

Merci le SEA 😉





Et voilà ! C'est déjà fini, j'espère que cet article vous a intéressé, pour le partager c'est >>ici<<