Sommaire
- Looker Studio : gérer les dates et la granularité dans les graphs - 14 mars 2023
- Optimiser les pages avec les bons mots clés (DataStudio + Google Search Console) - 29 novembre 2020
- Seocamp 2020, les slides ? - 9 octobre 2020
Lorsqu’on publie des articles, il est parfois difficile de savoir quel est leur cycle de vie sur Twitter. Voici donc une méthode rapide et gratuite pour mesurer la résonance d’un site sur Twitter, en identifiant facilement les pages d’un site les plus partagées…et sur qui compter pour propager l’information. Ce sont 2 exemples d’utilisation, les outils partagés ici vous donneront peut-être d’autres idées.
Pour cette recette, nous aurons besoin de :
- connaître les opérateurs de recherche sur Twitter
- scrap similar
- google spreadsheet
Et pour le découvrir les résultats, vous pourrez choisir entre :
- un tableau croiseau dynamique (pas besoin d’outil en plus)
- un peu de sql (pas besoin d’outil en plus…mais peut être un peu de connaissance)
- google data studio (un peu comme le thermomix, il fera tout presque tout seul)
Cet article permettra de réviser un peu de xpath et de découvrir la fonction Query sur Google Spreadsheet.
Fini le résumé, voici la lecture.
Maitriser la recherche avancée sur Twitter
Les opérateurs utiles sur Twitter
A l’instar de Google, il existe plusieurs opérateurs pour affiner ses recherches sur twitter. En utilisant des caractères particuliers, ou bien certains mots clés, cela déclenche une action particulière. Comme Google, on peut croiser les opérateurs, ce qui permet d’avoir des résultats assez précis.
- « recherche exacte » : comme google, mettre le mot clé entre guillemets permet de sélectionner les tweets qui contiennent exactement l’expression demandée
- -mot clé : pour exclure un mot clé de la recherche, on utilise le tiret.
Exemple : SEO -backlinks, pour avoir les tweets qui parlent de SEO mais pas de backlinks - OR : contient n’importe lequel de ces mots clés, celui-ci ou celui là
Eemple : SEO OR backlinks, pour les tweets qui parlent de SEO ou de backlinks - lang: permet de sélectionner les tweets dans une langue particulière
Exemple : SEO -backlinks lang:fr - url: toutes les urls qui contiennent un mot clé
Exemple : url: »google analytics » url:canyouseome.com, toutes les url partagées qui contiennent google analytics (les mots dans cet ordre là) et canyouseome.com
Il existe des opérateurs pour mentionner des comptes :
- from: pour avoir les tweets en provenance d’un compte
Exemple : SEO from:razbithume, tous les tweets que j’ai postés qui contiennent le mot SEO - to: pour avoir les tweets qui s’adressent à un compte
Exemple : to:razbithume from:zenobral, tous les tweets où zenobral s’adresse à moi - @ pour avoir les 2, les tweets postés par un compte mais également les mentions
Exemple : @razbithume - filter:follows : pour filtrer les messages des personnes que l’on suit
Les opérateurs pour cibler géographiquement et temporellement :
- since:AAA-MM-JJ : tous les tweets à partir d’une date donnée
- until:AAAA-MM-JJ : toutes les tweets jusqu’à une date donnée
- near:ville within:5km : tous les tweets à proximité de ville, dans un rayon de 5km
- geocode:lattitude,longitude,rayon si vous préférez mettre des coordonnées gps, avec longitude, latitude,rayon
Exemple : geocode:48.8534,2.3488,1km
Les opérateurs twitter pour cibler les interactions
- min_retweets:10 : tous les messages qui ont été retweetés au moins 10 fois
Exemple : Min_retweets:10 seo lang:fr les tweets en français qui parlent de SEO et qui ont été retweetés au moins 10 fois - min_faves:10 : les tweets qui ont eu au moins 10 likes
- min_replies:10 : les tweets qui ont eu au moins 10 réponses
- filter:retweets : filtrer uniquement les messages qui ont été RT
- exclude:retweets : filtrer les messages qui n’ont pas de RT
- filter:replies : inclure uniquement les réponses
- exclude:replies : exclure les réponses (ou bien -filter: )
exemple : SEO exclude:retweets lang:fr exclude:replies, je veux les messages qui parlent de SEO qui n’ont pas eu de RT et qui ne sont pas des réponses
A noter que -filter:replies est équivalent à exclude:replies
Un autre exemple connu de combinaison de filtres de recherche est retourner dans le passer en recréant la timeline d’il y a 10 ans :
filter:follows until:2009-01-15 -filter:replies
Si vous avez suivi, vous filtrez que les tweets de vos abonnés postés avant le 15 janvier 2019, en excluant les réponses.
Les opérateurs pour filtrer les contenus multimédia :
- filter:links les tweets qui contiennent des liens
Exemple : SEO filter:links lang:fr - exclude:links : les tweets qui ne contiennent pas de lien partagé
Exemple : SEO exclude:links lang:fr - filter/exclude:hashtags : inclure ou exclure les messages avec hashtags
- filter/exclude:verified : filtrer ou exclure les messages en provenance de comptes certifiés
- filter/exclude:videos : inclure ou exclure les tweets avec des vidéos
- filter/exclude:images : inclure ou exclure les tweets avec image
- filter/exclude:news : inclure ou exclure les tweets avec un lien étant une news
- filter/exclude:media : inclure ou exclure les tweets avec un média (image, vidéos, lien, etc.)
Les paramètres d’url de Twitter
oui, tout ne passe pas par des opérateurs, on peut également donner directement des instructions via des paramètres d’url. Cela permet de reconstruire ce qu’on peut, et pourquoi pas de scraper directement les résultats.
Pour filtrer par format de média (on ne peut mettre qu’une seule valeur) :
- f=tweets: obtenir les tweets (les plus récents)
- f=users : rechercher uniquement les personnes
- f=photos : uniquement les images
- f=videos : uniquement les vidéos
- f=news : uniquement les news
- f=broadcasts : uniquement les lives (ou les vidéos qui ont été en live)
Les paramètres qui font (presque) doublon avec les opérateurs :
- near=me : près de ma localisation géographique
- near=Paris : on peut aussi mettre une ville (comme l’opérateur)
- lang=fr : les tweets en français (comme l’opérateur)
- qf=off : désactiver le filtre de qualité
Scraper les tweets avec scrap similar
Maintenant que vous maitrisez la recherche sur twitter, vous pouvez facilement rechercher tous les tweets publiés en 2018 avec un lien venant de votre site.
https://twitter.com/search?f=tweets&q=url:canyouseome.com since:2018-01-01 until:2018-12-31
Si vous êtes un ou une habitué(e) de ce blog, vous pourriez jeter un coup d’oeil sur comment scraper avec google spreadsheet… cela pourrait être un très bon cas pour pratiquer le xpath. Cependant, si votre recherche a plus de 20 résultats, vous allez être confronté au problème de l’ajax. Vous pourriez aussi vous dire : tiens, si j’utilisais la fonctionnalité custom extraction sur Screaming Frog.
Mais ici, nous allons charger les tweets manuellement, puis utiliser scrap similar pour importer le tout dans google Spreadsheet (la technique n’est pas neuve, elle était utiliser pour scraper les people also ask sur Google).
Comme c’est encore un peu Noël, voici la recette à mettre dans Scrap Similar.
Le bloc d’origine à scrapper est : //li/div/div
Puis chaque colonne :
- Nom : div/a/span/strong
- URL compte : div/a/@href
- Date : div[@class=’stream-item-header’]/small/a
- Message : div[@class=’js-tweet-text-container’]
- URL partagée : div[@class=’js-tweet-text-container’]/p/a/@data-expanded-url
- Nb Réponses : div/div/span[1]/span/@data-tweet-stat-count
- Nb RT : div/div/span[2]/span/@data-tweet-stat-count
- Nb fav : div/div/span[3]/span/@data-tweet-stat-count
Ensuite, soit vous continuer dans Google Spreadsheet, soit vous faites un truc propre dans Google Data Studio…mais comme j’ai profité des vacances de Noël pour faire joujou avec BigQuery et réviser le SQL, nous allons poursuivre sur Google Spreadsheet.
Utiliser le SQL sur Google Spreadsheet
Vous ne le savez peut-être pas mais vous pouvez faire des requêtes SQL sur Google Spreadsheet (en vrai, ça a le goût du SQL, ça a la couleur du SQL mais ce n’est pas du SQL, c’est le langage de requête de l’API Google visualization). Si vous avez la flemme de faire des tableaux croisés dynamiques, une bonne alternative est la fonction Query.
=query(données, »requete sql »)
Quelles ont été vos 10 contenus les plus partagés sur twitter ?
=query(‘Feuille 1’!A:H;« select E, sum(F), sum(G), sum(H) group by E order by sum(G) desc, sum(H) desc LIMIT 10 »;1)
Du coup, avec notre export de tweets, on peut facilement identifier les personnes qui ont le plus partagés vos contenus. Pour cela, on va trier par : le nombre de messages, puis le nombre de RT cumulé, le nombre de favoris.
Si vous ne les avez pas vu passer, voici donc les top articles de ce site relayés sur twitter en 2018 :
Ce n’était pas l’année la plus active sur canyouseome mais Data Studio a son petit succès 🙂
Quels sont les 10 comptes qui ont le plus relayé vos articles ?
=query(‘Feuille 1’!A:H;« select A, count(D), sum(F), sum(G), sum(H) group by A order by count(D) desc, sum(G) desc,sum(H) desc LIMIT 10 »;1)
Ce qui donne à peu près (je vous laisse chercher pour l’url complète du compte) :
Nom | URL compte | count Message | sum Nb Réponses | sum Nb RT | sum Nb fav |
Razbithume | https://twitter.com/razbithume | 12 | 32 | 119 | 178 |
Cédric Guérin | https://twitter.com/CedricGuerin | 3 | 1 | 10 | 17 |
Jonathan Chan 💡 📣 | https://twitter.com/ChanPerco | 3 | 0 | 3 | 3 |
iProspect France | https://twitter.com/iProspectFR | 2 | 0 | 3 | 4 |
Vincent Lahaye | https://twitter.com/jambonbuzz | 2 | 2 | 2 | 5 |
ZeNobral | https://twitter.com/ZeNobral | 2 | 0 | 1 | 2 |
Simon Azoulay | https://twitter.com/SimonAzoulayFr | 2 | 0 | 1 | 0 |
Charles de l’équipe PressMyWeb.com | https://twitter.com/e_c3m | 2 | 0 | 0 | 1 |
Lola | https://twitter.com/lolapelusas | 2 | 1 | 0 | 0 |
PressMyWeb | https://twitter.com/PressMyWeb | 2 | 0 | 0 | 0 |
Du coup, merci à vous ! Ces comptes font sûrement une veille très intéressante 🙂 Si vous me croisez en vrai en 2019, je vous offre une bière.
Evidemment, j’aurai pu filtrer pour éviter de me comptabiliser. Mais je vous laisse faire tout ça soit sur SpreadSheet, et si vous ne voulez pas réfléchir, Google Data Studio facilitera encore plus la tâche. Il y a comme souvent plein de chemins différents pour arriver à la même destination.