Google Sheets : les fonctions personnalisées (apps scripts)


Madeline
Sur twitter

Aujourd’hui, nous continuons la découverte de Google Sheets avec cette fois-ci les fonctions personnalisées. Si vous aviez raté les précédents articles, ils sont ici :

Google Apps + JavaScript = Apps Script

Avec Apps Script, un langage de programmation très proche du JavaScript, vous pouvez créer vos propres fonctions sur Google Sheets. C’est un petit peu le VBA de Google Sheets. On ne verra pas en détail comment fonctionne Apps Script mais juste les codes pour créer des fonctions utiles en SEO. Cela dit, si vous souhaitez profiter du confinement pour apprendre un langage, c’est par ici : https://developers.google.com/apps-script.

Il faut donc coder un peu (ou copier les codes suivants), puis appeler la fonction, comme on appelle n’importe quelle fonction dans Google Sheets.

De manière plus opérationnelle, vous allez dans Outils > Editeur de Scripts :

Editer des scripts pour créer des fonctions personnalisées

Une nouvelle fenêtre s’ouvre, avec le début de code pour créer une fonction « myFunction »

C’est parti !

Il vous suffira de copier/coller les codes suivants en lieu et place de function myFunction() { }.

Importer un fichier JSON

C’était indiqué en teasing dans le précédent article : il n’existe pas de fonction native pour importer un fichier Json. Mais pour pallier à cela, quelqu’un un créé la fonction.

Ceux qui ont l’oeil attentif auront noté que la fonction a 2 arguments : l’url (du fichier json), le xpath. Pour tout savoir sur le fonctionnement de la fonction, voici le lien : http://www.chicagocomputerclasses.com/google-sheets-import-json-importjson-function/ et la démo :

A noter que Matthieu Pinauldt a créé directement un add-on (avec un descriptif en français sur growthhacking) : https://nodatanobusiness.com/importjson/get-started/

Quelques fonctions SEO : récupérer le title, status code, etc.

Vous l’avez vu dans le précédent article, on peut récupérer des éléments d’une page avec la fonction importxml. Par exemple, pour récupérer la balise title, il suffit de faire =importxml(url, « //title »).

Aysun Akarsu avait créé des fonctions pour ne pas s’embêter avec le xpath, et faire par exemple =title(url).

Elle a créé des fonctions pour récupérer le title, le h1, le statuscode, le nombre de liens sortants internes, le nombre de liens sortants externes,…

Récupérer l’URL finale d’une redirection ?

Si on arrive à récupérer le status code, on obtient une 301, c’est pratique de connaître quelle est l’URL finale. Et bien c’est possible avec cette fonction trouvée sur StackOverflow :

Tester des redirections

Tout ça, c’est bien… mais the Tech SEO (Jeff Louella) a construit un petit outil de tests de redirections sur Google Sheets. Vous pourrez voir combien il y a de redirections, quels sont les status codes successifs et quelle est l’URL finale.

Certaines fonctions sont un peu redondantes par rapport à celles vues précédemment, mais à vous de tester pour voir celle qui fonctionne le mieux. Voici son code (mais je vous invite à copier directement son google Sheet pour avoir la bonne mise en forme)

Vérifier si une URL est bien indexée

C’est Greenlane qui avait créé un Google Sheet pour vérifier la bonne indexation des URL.

Leur Google Sheet s’appelle Greenlane Indexation Tester v1.6. Il y avait certes quelques faux positifs ou négatifs mais cet outil peut dépanner.

Combiner les mots clés (et éviter les fonctions ultra warrior)

Dans le 1er article de cette série sur Google Sheets, je montrais comment faire rapidement une liste de mots clés avec des combinaisons. En passant par des fonctions natives, c’était assez horrible. Du coup voici un script qui peut faciliter la chose. Il a été trouvé sur StackOverFlow.

En image, cela donne ca (il faut transposer le tableau avant) :

Obtenir les données semrush dans google sheet

Pour cela, il faut un abonnement semrush, avec un accès API. Si vous n’avez pas ce prérequis, il n’y aura pas de miracle.

David Sottimano a créé plusieurs fonctions qui permettent de faire directement les appels et récolter les données semrush. Attention cependant lorsque vous fermez/rouvrez votre google sheet…s’il relance des fonctions que vous n’avez pas effacée, on peu très rapidement cramer des crédits (je ne citerai personne… mais j’ai connu ça).

Il y a quelques éléments à modifier : par exemple, vous pouvez changer la base de donnée par défaut par la France (au lieu du Royaume-Uni). Il a vraiment bien commenté ses fonctions et c’est assez facile de s’y retrouver.

« Transformer Google Sheet en une application »

Si vous êtes allé sur le lien ci-dessus, vous avez pu voir une démonstration de Google Apps Script avec Google Sheet : ils expliquent, à partir d’un Google Sheet qui contient des adresses, comment générer une carte google Maps (avec les adresses en question), et comment envoyer ca automatiquement par mail.

Apps Script vous permet de connecter votre Google Sheet à d’autres APIS, Google Sheet n’est plus un simple tableur mais un véritable outil multifonctions.

Pour apprendre à le faire pas à pas, voici le lien Google CodeLabs : https://codelabs.developers.google.com/codelabs/apps-script-intro/#0

Ok, ce n’est pas le cas le plus SEO… mais si vous avez de l’imagination, vous avez plusieurs briques à assembler pour faire plein de spam choses intéressantes.

Google Sheets, l’outil multifonction (qui ne remplace pas une vraie boîte à outils)

Voilà… c’est déjà pas mal pour le moment. J’espère que cela vous donnera envie de découvrir d’autres outils. Comme je l’avais dit en introduction du 1er article : Google Sheet est un outil multifonction. Un outil multifonction, c’est bien, c’est pratique, ca dépanne bien… mais à un moment, lorsqu’on veut aller plus loin, autant acheter une vraie boite à outils, ou des outils spécialisés. Le couteau suisse n’est pas toujours la meilleure solution.

Merci d’avoir lu jusqu’ici et n’hésitez pas à me proposer d’autres fonctions qui m’auraient échappées.

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *