Scraper, récupérer des données sur Google Analytics & Search Console, recueillir des liens, combiner des mots clés...
Madeline Pinthon, consultante SEO chez iProspect, partage les meilleures astuces et formules pour utiliser Google Spreadsheet pour le référencement. #WebCampDay
2. Qui suis-je ?
Madeline Pinthon
Consultante SEO chez iProspect
http://www.canyouseome.com
https://www.iprospect.com/fr/fr/le-blog/referencement-
naturel/
11. Google Analytics
- Créer des rapports
- Automatiser la mise à jour
https://chrome.google.com/webstore/detail/google-
analytics/fefimfimnhjjkomigakinmjileehfopp?utm_source=permalink
12. Search Analytics for Sheet
Récupérer facilement et automatiquement les données
de Google Search Console (performance)
https://chrome.google.com/webstore/detail/search-
analytics-for-
shee/ieciiohbljgdndgfhgmdjhjgganlbncj?utm_source=p
ermalink
19. Les bases : combiner des mots clés
=A2&" "&B2
=concatener(A2;" ";B2)
=join(" ";A2;B2)
=textjoin(" ";vrai;A2;B2)
=ARRAYFORMULA(A2:A6&" "&B2:B6)
20. C’est bien…mais ce serait mieux de tout
combiner
=ARRAYFORMULA(transpose(A2:A5)&" "&B2:B6)
21. Pas mal… mais sur une seule colonne, c’est
mieux
=ArrayFormula(transpose(s
plit(rept(CONCATENER(A2
:A&" ");NBVAL(B2:B));"
"))&"
"&transpose(split(CONCA
TENER(rept(B2:B&"
";NBVAL(A2:A)));" ")) )
https://stackoverflow.com/questions/42805885/generate-all-possible-combinations-for-columns-in-google-spreadsheets
22. Et 3 éléments, c’est possible ?
=ArrayFormula(transpo
se(split(rept(CONCATE
NER(C2:C&CAR(9));NB
VAL(D2:D));CAR(9)))&"
"&transpose(split(CON
CATENER(rept(D2:D&C
AR(9);NBVAL(C2:C)));C
AR(9))) )
https://stackoverflow.com/questions/42805885/generate-all-possible-combinations-for-columns-in-google-spreadsheets
24. Les fonctions de traduction
GOOGLETRANSLATE : traduire un texte via Google Translate
=googletranslate(texte, langue d’origine, langue de sortie)
DETECTLANGUAGE : détecter la langue d’un texte
=deteclanguage(texte)
COMBO
=googletranslate(texte, deteclanguage(cellule|texte), langue de sortie)
25. Si ma cellule contient ce texte ?
=ESTNUM(CHERCHE("*texte*";E2))
=SI(ESTNUM(CHERCHE("*texte*";E2));VR
AI;FAUX)
https://www.commentcamarche.net/forum/affich-25143496-formule-excel-si-cellule-contient-un-texte
26. Si ma cellule contient ce texte ou celui-ci ?
Les expressions régulières ! • REGEXMATCH : Indique si une partie d'un texte correspond
à une expression régulière.
• REGEXREPLACE : Remplace une partie d'une chaîne de
texte par une autre chaîne en utilisant des expressions
régulières.
• REGEXEXTRACT : Extrait les sous-chaînes correspondant à
une expression régulière
27. Les bases des expressions régulières
Les caractères
. = n’importe quel caractère
[a-z] = une lettre minuscule
[A-Z] = une lettre majuscule
[0-9] = un chiffre
[a-zA-Z0-9] = un caractère
alphanumérique
[^ ] = ne contient pas
Les raccourcis
d = un chiffre
w = un caractère alphanumérique
s = un espace
D = pas un chiffre
W = pas un caractère alphanumérique
S = pas un espace
Les quantifieurs
? = 0 ou 1 fois
+ = 1 fois ou +
* = 0 fois ou +
{x} = x fois
{x,y} = entre x et y fois
http://www.canyouseome.com/guide-regex/
28. Si ma cellule contient ce texte ou celui-ci ?
=REGEXMATCH(
E2;"(noire|rouge)
")
29. Réécrire des URL ?
=substitue(A4; "http://www."; "http://test.")
=regexreplace(A4;"(.*)?category=(.*)";"$1/rubrique/$2")
30. Xpath, ou faire quelques audits rapide
=Importxml permet d’importer des données via des
requêtes xpath
• IP de Google mais User-Agent spécifique
• Attention, beaucoup de limites pour scraper Google
(#N/A)
• Attention aux attaques DDOS
http://www.canyouseome.com/google-black-day-scraper-excel-spreadsheet/
31. Exemple de requête xpath
Exemples :
//title : toutes les balises title
//h1 : toutes les balises h1
//a/@href : tous les attributs href des balises a = tous les liens
//a[@rel=‘nofollow’] : toutes les balises a avec un attribut rel =
nofollow
//a[contains(@rel, ‘nofollow’)] = toutes les balises avec un attribut
rel qui contient nofollow
Les bases du xpath :
1. // = tous les
2. Prendre le nom de la
balise html
3. Appeler l’attribut avec @
http://www.canyouseome.com/google-black-day-scraper-excel-spreadsheet/
34. Récupérer le status code
En utilisant l’éditeur de script, il est possible de créer des fonctions.
Le language est (plus ou moins) du JavaScript.
function rescode( uri )
{ var response_code ; try { response_code = UrlFetchApp .fetch( uri )
.getResponseCode() .toString() ; } catch( error ) { response_code = error
.toString() .match( / returned code (ddd)./ )[1] ; } finally { return
response_code ; } }
35. Autres fonctions SEO pratiques
Une fonction pour le code response, la title, etc.
=title(url)
=h1(url)
https://github.com/aysunakarsu/Simple/blob/master/SEOTools.js
36. Suivre une redirection : récupérer l’url de
destination
https://stackoverflow.com/questions/27098169/what-google-appsscript-method-is-used-to-get-the-url-of-a-redirect
39. Exemple de documents avec fonctions
personnalisées
Tester l’indexation des sitemaps :
https://docs.google.com/spreadsheets/d/1AYAMWqIj6F1DRe1iwLmpVANGwiXUHRHgcYDAsG0GF
_Q/copy?usp=sharing
41. Test Page Speed Insights
https://www.distilled.net/resources/page-speed-insights-api/
42. Vérifier la santé d’un site
Recevoir un email lorsque le site répond autre chose qu’un code 200 :
https://www.labnol.org/internet/website-uptime-monitor/21060/