Depuis quelques temps je me suis mis au language R pour gérer quelques taches SEO. Et je dois dire que j’y trouve beaucoup d’avantages.

R, qu’est ce que c’est ?

Wikipédia vous dirait que R est un language dédié aux statistiques et à la science des données. Il sert beaucoup aux data scientists pour réaliser des traitements complexes sur de gros volumes de données. Mais sa simplicité, par rapport à d’autres langages, j’entend, le rend très intéressant.

Bien sur, cela reste un langage informatique dont la prise en main nécessite un peu de temps. Personnellement je ne regrette pas d’y avoir passé quelques heures…

Pourquoi R pour le SEO ?

En SEO, nous avons beaucoup de data :

  • Base de mots clés
  • Contenus présent sur les pages
  • Liste de backlinks
  • Liste d’urls
  • Logs serveurs

Sur des gros sites, ces données peuvent vite devenir volumineuses. Il est donc important de pouvoir les analyser de manière simple et rapide.

L’utilisation de R est pertinente pour :

  • Les optimisations On Site (Maillage interne, gestion des redirections, canonical,…)
  • Les analyses de données (ex : croiser les pages qui rankent avec celles qui reçoivent des backlinks,…
  • Les scripts qui nous facilitent la vie (crawl, scrap de données,…)

Bien sur cette liste est loin d’être exhaustive.

 

Stocker de la data

Lorsqu’on travaille sur de gros sites, il est important de stocker et d’analyser des données afin de piloter ses actions SEO. Pour ce type de taches Excel montre rapidement ses limites, et je me retrouvais obligé de créer une base de données et d’effectuer des requêtes pour y récupérer les informations utiles.

Ça fonctionne très bien mais ça devient vite chronophage. Avec R je peux travailler sur des fichiers texte et ça fonctionne très bien. C’est bien plus rapide à mettre en place.

Par exemple, j’ai un fichier contenant plus de 2M de mots clés sur lequel j’effectue des traitements réguliers sans lenteurs.

Croiser des fichiers volumineux

Union, intersections, jointures sont des opérations fréquentes pour analyser des données, ici encore, R permet de réaliser simplement et rapidement ce type de traitements. Il faut un peu de temps pour prendre en main les packages qui permettent ce type d’opérations mais on s’y fait vite.

En gros vous pouvez faire tous ce que vous feriez sur une base de données traditionnelle.

Un grand nombre de packages

Une des forces de R c’est le nombre de packages qui existent (d’ailleurs le plus dur c’est de choisir le bon…). C’est vraiment pratique de ne pas avoir à tout re-développer à chaque fois que l’on a un nouveau besoin.

Quelques exemples ?

Il existe des packages pour

  • Crawler / Scraper des pages
  • Créer un corpus
  • Générer des graphiques, tagcloud
  • Lemmatiser des expressions
  • Récupérer les données de Google Analytics

La liste est vraiment longue…

Beaucoup de ressources en ligne

Il est facile de trouver de l’aide sur les forums et autres site qui donnent des exemples d’implémentation des différents packages. Cela évite de rester coincé tout seul sur son problème.

Il existe également des MOOC qui permette de progresser rapidement.

 C’est gratuit et ça tourne sur mon portable

Argument de taille, pas besoin de serveur ou de licences, vous pouvez installer R sur votre portable et y créer vos premiers scripts.

Bon j’avoue sur de gros scripts, cela prend parfois plusieurs heures et je sens mon ventilateur tourner…

Conclusion

Bref, j’y ai trouvé beaucoup d’avantages à utiliser R, cela m’a permis de réaliser des taches que j’aurai eu beaucoup de mal à réaliser autrement…

Ce billet sera le premier d’une série consacré à ce qu’on peut faire avec R en SEO.

Je vais vous présenter des scripts qui répondent à des taches fréquentes en SEO (audit de mots clé, crawl, scrap,…)

N’hésitez pas à partager cet article si vous l’avez trouvé intéressant, ça me motivera d’autant plus à en écrire d’autres.

PS : Merci à tous les twittos, Sylvain Peyronnet, Vincent Terrasi et les autres qui ont répondus à mes questions lorsque j’étais bloqué sur un script 😉

Crédits photo : @marco

Catégories : R pour le SEO

9 commentaires

François · 04/04/2017 à 14:40

Merci pour cet article sur ce sujet assez peu couvert, je me suis abonné à ton blog en attendant les prochains sur des cas concrets de R pour les analyses SEO.
Bon courage !

    greg · 04/04/2017 à 15:13

    Content que ça t’ai intéressé 😉

baptiste REY · 09/04/2017 à 12:24

Hello merci pour cette mise en bouche mais pour ma part je pense qu’il manque des exemples 🙂

    greg · 11/04/2017 à 14:55

    Hello,

    C’est prévu. Je compte faire plusieurs articles avec des scripts pour montrer comment répondre à de problématiques conncrêtes.

serge esteves · 10/04/2017 à 16:41

Salut Gregory,

C’est intéressant mais ça manque de sources et de ressources. C’est comme si tu nous mettais l’eau à la bouche avec une bon gâteau au chocolat mais sans la recette ou sans un magasin pour aller l’acheter 😉 (J’espère que tu apprécieras la métaphore compte tenu de notre historique)

    greg · 11/04/2017 à 14:53

    Hello,

    Ne t’inquiètes pas, ce ne sont que les hors d’oeuvre 😉

    Je vais réaliser une série d’articles avec des cas concrets et des scripts montrant ce qu’on peut faire.

Marc · 10/04/2017 à 19:03

Pas mal pour donner envie de se mettre à R pour se faciliter le SEO, mais j’ai toujours pu lire à droite et à gauche qu’il fallait une configuration informatique poussée, sans quoi les traitements sur de gros fichiers monopolisaient toutes les ressources de la machine.
J’ai un I5 (mais pas les dernières générations) avec 6 Gigas de RAM, ça peut le faire sous Linux ? Quelle distribution conseilles-tu ? Merci d’avance

    greg · 11/04/2017 à 14:44

    Hello,

    J’utilise un portable de bureau sous windows et j’arrive à traiter une base de mots clés de 2M d’expressions. Donc ça reste raisonnable.

    Parfois les traitements sont longs mais ça ne bloque pas mon PC.

Arnaud · 11/04/2017 à 14:33

Bonjour,
Article très intéressant, j’attend la suite avec impatience.
Cordialement,

Laisser un commentaire

Emplacement de l’avatar

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