Twitter et Google ont mis en place un partenariat en Février et bientôt toutes les informations de Twitter ( profil, tweets et autres données publiques ) sont disponibles sur Google en temps réel. Depuis l’annonce, il y a eu beaucoup de spéculations sur la façon dont Google serait d’intégrer l’information dans son produit de recherche sur le web.
J’ai donc eu envie de tester ce réseau social pour établir le Top 100 des experts SEO français les plus influents sur les réseaux sociaux.
Point de départ sur Twitter avec Abondance.com
La solution est donc de commencer avec un expert reconnu avec de nombreux followers et following.
Mon choix s’est vite orienté vers le compte Twitter Olivier Andrieu, qui a déjà été élu plusieurs fois meilleur référenceur de France, qui a écrit de nombreux livres SEO et qui exerce depuis 1993.
Méthodologie
En partant du compte d’Olivier, cela me donne une bonne base mais je vais multiplier les points de départ en me basant sur Kevin Richards ( @512banque ) , Laurent Bourelly et quelques agences connues ( Synodiance, Searchforesight )
Comment filtrer les français ? Je vais regarder la localisation du compte Twitter et si l’information est incorrecte, je vais identifier la langue utilisée dans les tweets.
Enfin comment identifier les experts SEO, j’ai dressé une série de termes qui sont fréquemment utilisés par ces derniers dans les tweets ( SERP, SEO, GWT, SMX, TeknSEO… )
isSEO <- function(desc) { desc <- gsub("[[:punct:]]", "", desc) if (nchar(desc)<2) return(FALSE) pattern_seo <- c("SEO",""serp,"referencement","SMX","Teknseo") res <- str_detect(desc, ignore.case(pattern_seo)) if (length(unique(res))>1) return(TRUE) return(FALSE) }
Comment mesurer l’influence sociale ?
Depuis quelques temps, j’utilise Klout.
Klout donne un indice entre 1 et 100 mesurant l’influence en ligne d’un internaute à travers différentes plates-formes sociales ( Twitter, Facebook, LinkedIn, Google+ ).
L’indice est calculé en fonction du nombre de retweets et mentions sur Twitter, du nombre de commentaires, de « likes » et de posts sur son profil Facebook et sa page LinkedIn.
Le score final est calculé en fonction de trois indicateurs : le nombre de personnes que l’internaute touche (true reach), l’influence qu’il a sur ses personnes (amplification) et l’influence des personnes présentes dans son réseau (network impact).
Un peu de dev
- Déterminer le score de l’API Klout
Vous pouvez demander un accès à leur API : http://developer.klout.com/member/register
Vous pouvez ainsi faire environ 10 appels / s et 20 000 appels par jour, ce qui est parfait pour déterminer mon Top 100.
getkloutScore <- function(id, key) { path <- paste("http://api.klout.com/v2/user.json/",id,"/score?key=", key ,sep = "") content <- getURL(path) if (nchar(content)==0) return(" ") result <- fromJSON( content ) return(result) }
- Détecter la langue avec l’API detectlanguage.com
Vous avez pour 5$ par mois environ 100,000 requests/day
detectLanguage <- function(desc,key) { path <- paste("http://ws.detectlanguage.com/0.2/detect?q=",URLencode(desc),"&key=", key ,sep = "") content <- getURL(path) result <- fromJSON( content ) print(length(result)) if (length(result)<2) return(FALSE) if(result$data$detections[[1]]$language == "fr") return(TRUE) else return(FALSE) }
- Détecter le pays d’une adresse avec l’API Google Map
detectCountry <- function(city) { if (str_detect(city, "France")) return(TRUE) city <- gsub("[[:punct:]]", " ", city) path <- paste("https://maps.googleapis.com/maps/api/geocode/json?address=",URLencode(city),"",sep="") #print(path) content <- getURL(path,ssl.verifypeer = FALSE) result <- fromJSON( content ) result <- as.character(result) if (length(result)>1) { if(str_detect(result[1],"France")) return(TRUE) else return(FALSE) } else return(FALSE) }
- Utiliser l’API Twitter avec la librairie R qui permet de récupérer toutes les informations d’un profil
start<-getUser("laurentbourelly", cainfo="cacert.pem") friends <- start$getFriendIDs(cainfo="cacert.pem") N <- length(friends) for (i in 1:length(friends)){ tryCatch({ tuser <- getUser(friends[i],cainfo="cacert.pem") #wait 3s Sys.sleep(3) screenName <- tuser$getScreenName() followerCount <- tuser$getFollowersCount() favoriteCount <- tuser$getFavoritesCount() friendCount <- tuser$getFriendsCount() name <- tuser$getName() description <- tuser$getDescription() location <- tuser$getLocation() profile <- tuser$getProfileImageUrl() } , error = function(err) { print(paste("MY_ERROR: ",err)) }) # END tryCatch }
Top 15 des experts SEO les plus influents sur les réseaux sociaux
Top 100 : https://mfcr.shinyapps.io/ExpertKloutSEO
Conclusion
J’ai rapidement obtenu une liste de plus de 1000 experts et il serait judicieux de croiser ses informations avec d’autres sources d’informations pour qualifier ces profils :
- Linkedin ( pour avoir leurs expériences )
- Google Book ( pour connaitre les publications )
- Vimeo, Youtube ( pour savoir s’ils participent à des conférences ou organisent des webminars )
En effet, certaines personnes du classement qui parlent de SEO ne sont pas des experts SEO à plein temps mais plutôt des personnes qui relatent très bien les sujets stratégiques et possèdent des réseaux importants.
Il faudrait donc améliorer le traitement pour catégoriser le contenu globale de leurs publications.
J’ai déjà de nombreuses pistes mais je voulais livrer cette première version pour avoir vos avis.