Comme évoqué lors de l’#OVH Summit 2017, il existe de nombreux logiciels SEO ( SEMrush, Visiblis, YourText.guru, SEOquantum, .. ) et je me lance sur une série de comparatifs pour l’anglais et le français. ( les comparatifs sur la langue de Shakespeare seront postés directement sur data-seo.com )
Je vais commencer par les outils d’analyse de mot clés ( SEMrush, Yooda Insight, Ranxplorer ) car Romain de Yooda Insight m’a proposé de tester sa nouvelle API en version alpha, ce qui m’a donné l’idée de cet article.
Ce qui m’intéresse, c’est l’écriture d’un protocole de test qui permettra à chacun de trouver l’outil qui lui correspond le plus selon de nombreux critères ( Budget, Documentation, Performance, Gestion du token, Fraicheur des données, … )
Voici les liens des APIs testées :
API SEMrush : https://fr.semrush.com/billing-admin/profile/subscription/api-units
API Ranxplorer : https://ranxplorer.com/user/api
API Yooda Insight : https://api-v2.yooda.com/doc/insight
Méthodologie de test
Je vais récupérer tous les mots clés positionnés en France pour le site https://www.ovh.com/fr/ en créant une fonction qui me permet de choisir la volumétrie ( de 1 à 100 000 mots clés )
Bien sûr , je vous donne le code pour que vous puissiez tester pour votre site.
Je vais tester dix critères et à chaque fois, je vais mettre 2 points au premier, 1 point au second. Il peut avoir des ex-aequo.
L’API Yooda étant en version Alpha, je la positionne mais elle ne rentre pas dans le classement final.
lien github : https://github.com/voltek62/testSeoAPI/
Critère 1 : Documentation
Il existe de nombreux documents sur « comment écrire son API Rest », la référence en la matière est : API Design et je vous invite à lire cette article pour en savoir plus : https://blog.octo.com/designer-une-api-rest/
Pour mesurer la précision et la clarté de la documentation, je regarde en combien de temps j’arrive à récupèrer les informations désirées.
SEMRush : https://fr.semrush.com/api-documentation/
– Points positifs: Endpoint précisé, tous les paramètres sont données, un exemple est fourni avec un exemple de réponse
– Points négatifs : Il existe tellement de fonctions, qu’il est très difficile de trouver rapidement l’appel qui vous sera utile. Les noms de filtres ne sont pas du tout intuitifs.
Ranxplorer : Doc API : https://ranxplorer.com/docs/
– Points positifs: Endpoint précisé, tous les paramètres sont donnés, un exemple est fourni.
– Point négatif : Aucun
Yooda : https://api-v2.yooda.com/doc/insigh [ non accessible pour le moment, l’url va surement changer ]
– Points positifs: Endpoint précisé, tous les paramètres sont donnés, un exemple est fourni. Les résultats sont paginés.
– Point négatif : Il faut faire un appel à l’API pour connaitre le domain_id et ensuite vous pouvez récupérer les mots clés associés
Verdict : J’ai mis à peine 10 min pour faire une fonction R avec Rankplorer, c’est un peu plus long avec SEMRush et Yooda
1er : Ranxplorer
2nd : SEMrush & Yooda
Critère 2 : Performance des appels
J’ai créé une fonction en R qui simule des appels et je contrôle les temps de réponse.
[lien github] https://github.com/voltek62/testAPI/blob/master/step5_microbenchmark.R
API Call | Keywords | Min ( ms ) | Max ( ms ) | Mean ( ms ) |
---|---|---|---|---|
SEMrush | 10 | 237 | 477 | 268 |
SEMrush | 100 | 239 | 451 | 287 |
SEMrush | 1000 | 670 | 916 | 732 |
Ranxplorer | 10 | 581 | 2033 | 901 |
Ranxplorer | 100 | 630 | 1479 | 949 |
Ranxplorer | 1000 | 919 | 1463 | 1178 |
Yooda | 10 | 670 | 780 | 722 |
Yooda | 100 | 736 | 817 | 779 |
Yooda | 1000 | 1239 | 1788 | 1359 |
Verdict: SEMrush s’avère beaucoup plus rapide que ses concurrents. Par contre, l’API Yooda est en version alpha et les performances sont déjà très prometteuses.
1er : SEMrush
2nd : Yooda
3ème : Ranxplorer
Critère 3 : Pricing & Quota
Pour 10 000 resultats
- SEMRush :
- 400$ / Mois
- 50$ pour 1 000 000 crédits
- 10 000 résultats = 100 000 crédits
- soit environ 342€ ( 405$ )
- Ranxplorer :
- 200€ / Mois pour 50 000 appels
- soit 50€
- Yooda : Version Alpha : le prix n’est pas communiqué mais à mon avis, on sera proche de Ranxplorer
Verdict :
1er : Ranxplorer
2nd : SEMrush
Critère 4 : Qualité
Pour vérifier ce que me fournit chaque outil, je vais comparer avec ce que me donne Google dans la Search Console.
Voici mon programme en R qui récupère les informations de la SearchConsole et effectue deux diagrammes de Venn :
– Un diagramme de Venn pour comparer les outils entre eux
– Un diagramme de Venn pour comparer les outils entre eux et la Search Console
https://github.com/voltek62/testSeoAPI/blob/master/step3_venn.R
Sur le premier diagramme qui compare les outils, je m’attendais à des différences importantes car chaque outil utilise sa propre méthode et avec la personnalisation des résultats de recherche, il est logique de voir des différences.
La meilleur façon de mesurer la qualité est de comparer avec les résultats fournis par la SearchConsole.
Verdict des mots clés commun avec SC
1er : Ranxplorer ( 11315 mots clés )
2eme : Yooda( 8587 mots clés )
3ème : SEMrush ( 6372 mots clés )
J’ai étudié les différences qui montrent des choses très intéressantes mais cela fera l’objet d’un article dédié. ( https://github.com/voltek62/testSeoAPI/blob/master/step4_ngram.R )
Google personnalise de plus en plus les résultats donc il est logique d’observer des écarts de plus en plus importants.
Critère 5 : Quantité
Je regarde combien de résultats uniques maximum l’API peut me retourner.
Verdict :
1er: Ranxplorer ( 81 889 mots clés )
2ème: SEMrush ( 29 135 mots clés )
3ème : Yooda ( 13 225 mots clés )
Critère 6 : Filtres
- SEMrush dispose de fonctionnalités si complètes et si avancées qu’il n’est pas possible de tout citer dans cet article ( https://fr.semrush.com/api-analytics/#filters )
Le système de tri est pratique quand un site retourne beaucoup de données.
Les filtres sont triés en trois grandes catégories :- Champs métriques ( Métrique sur Position, Mot clés )
- Champs textuels ( Titre, Url, Requête, .. )
- Champs avec des valeurs fixes ( Type, Zone, Base de donnée )
- Champs métriques ( Métrique sur Position, Mot clés )
- Ranxplorer dispose de filtres originaux et utiles.
- sur les positions du sites supérieures à un rang (>) entre 0 et 99
- sur les positions du sites égales à un rang (=) entre 1 et 10
- sur les positions du sites inférieures à un rang (<) entre 2 et 100
- sur les mots clés dont le volume de recherche est supérieur à une valeur
- sur les mots clés dont le volume de recherche est égal à une valeur
- sur les mots clés dont le volume de recherche est inférieur à une valeur
- sur les mots clés avec des Adwords
- sur les mots clés avec des annonces Shopping/PLA
- sur les mots clés avec des AnswerBox
- sur les mots clés avec des images
- sur les mots clés liés à des marques
- sur les mots clés avec des fautes d’orthographes
- sur les mots clés avec des actualités
- sur les mots clés avec des maps
- sur les mots clés avec des knowledges graphs
- Yooda Insight ne dispose pas de filtres au moment du test
Verdict :
1er: SEMrush
2ème: Ranxplorer
Critère 7 : Gestion des erreurs
- SEMRush
ERROR 50 :: NOTHING FOUND We haven’t found any information related to your request.
ERROR 40 :: MANDATORY PARAMETER action NOT SET OR EMPTY The required parameter action is missing or has been mistyped. Please add it to your request, or check the spelling.
ERROR 41 :: MANDATORY PARAMETER type NOT SET OR EMPTY The required parameter type is missing or has been mistyped. Please add it to your request, or check the spelling.
ERROR 42 :: MANDATORY PARAMETER domain NOT SET OR EMPTY The required parameter domain is missing, or its value is not set. Please add it to your request, or set its value.
ERROR 43 :: MANDATORY PARAMETER phrase NOT SET OR EMPTY The required parameter phrase is missing, or its value is not set. Please add it to your request, or set its value.
ERROR 44 :: MANDATORY PARAMETER url NOT SET OR EMPTY The required parameter url is missing, or its value is not set. Please add it to your request, or set its value.
ERROR 46 :: MANDATORY PARAMETER database NOT SET OR EMPTY The required parameter database is missing, or its value is not set. Please add it to your request, or set its value.
ERROR 120 :: WRONG KEY – ID PAIR You tried to use an unknown API key. Please go to your profile to find your correct API key.
ERROR 130 :: API DISABLED Your subscription doesn’t allow you to use API.
ERROR 131 :: LIMIT EXCEEDED The API request limit for the requested report has been reached. (Valid for users of old API plans.)
ERROR 132 :: API UNITS BALANCE IS ZERO The API request limit has been reached. To continue using API, recharge your balance, or upgrade your subscription.
ERROR 133 :: DB ACCESS DENIED You are not allowed to access the requested database.
ERROR 134 :: TOTAL LIMIT EXCEEDED The API request limit has been reached. (Valid for users of old API plans.)
ERROR 135 :: API REPORT TYPE DISABLED You are not allowed to access the requested report. - Ranxplorer
400 Bad request Un problème est survenu dans le traitement de la requête
403 Invalid token Votre token d’identification n’est pas reconnu comme valable
403 Not enough credits Votre crédit API n’est pas suffisant pour effectuer cette requête
404 Record not found L’adresse demandée n’existe pas - Yooda
400 => BAD VALUE FOR RETURN_MAX, ONLY : integer ALLOWED
400 => BAD VALUE FOR RETURN_INITIAL_POSITION, ONLY : integer ALLOWED
401 => BAD CREDENTIAL
402 => NOT ENOUGH CREDITS
403 => ACCESS DENIED
404 => NOT FOUND
429 => BANDWIDTH LIMIT EXCEEDED ONLY 2 REQUESTS AT THE SAME TIME
500 => AN ERROR HAS OCCURRED
Verdict:
Les codes retour de Ranxplorer s’avèrent légers pour aider au débuggage, Yooda semble avoir trouvé un bon compromis.
1er : SEMrush
2nd : Yooda
3ème: Ranxplorer
Critère 8 : Fraicheur des données
Sur tous les derniers résultats du 26 Octobre 2017, je calcule une date moyenne pour connaitre la fraicheur globale des données retournées par l’API.
Lien Github : https://github.com/voltek62/testAPI/blob/master/step7_freshness.R
- SEMrush : 2017-10-14
- Ranxplorer : 2017-10-05
- Yooda : 2017-08-26
Verdict :
1er : SEMrush
2ème : Ranxplorer
3ème : Yooda
Critère 9 : Nombre de zones gérées
- SEMrush : plus de 130 pays : États-Unis (us), Royaume-Uni (uk), Canada (ca), Russie (ru), Allemagne (de), France (fr), Espagne (es), Italie (it), Brésil (br), Australie (au), Argentine (ar), Belgique (be), Suisse (ch), Danemark (dk), Finlande (fi), Hong Kong (hk), Irlande (ie), Israël (il), Mexique (mx), Pays-Bas (nl), Norvège (no), Pologne (pl), Suède (se), Singapour (sg), Turquie (tr)
- Ranxplorer : Google.com, Google.fr
- Yooda : Google.fr
Verdict :
1er : SEMrush
2nd : Ranxplorer & Yooda
Critère 10 : Gestion du token
- SEMrush : Facile : https://fr.semrush.com/billing-admin/profile/subscription/api-units
- Ranxplorer : Facile mais le token est créé automatiquement, il faudrait pouvoir le regénérer : https://ranxplorer.com/user/api
- Yooda : Non testé sur la version Alpha
Verdict :
1er : SEMrush
2nd : Ranxplorer
Synthèse :
Je vous donne mon résultat final pour un benchmark sur le site OVH.com en Octobre 2017.
Attention, je donne mon code source pour que vous puissiez tester pour votre site.
La quantité et la qualité des mots clés peuvent différer d’un site à l’autre.
Si vous avez besoin d’étudier de nombreux mots clés, l’idéal est bien sûr d’utiliser les trois outils.
Criteria | Ranxplorer | SEMrush |
---|---|---|
Documentation | 1 [2pt] | 2 [1pt] |
Performance | 2 [1pt] | 1 [2pt] |
Pricing | 1 [2pt] | 2 [1pt] |
Quality | 1 [2pt] | 2 [1pt] |
Quantity | 1 [2pt] | 2 [1pt] |
Filters | 2 [1pt] | 1 [2pt] |
Errors Management | 2 [1pt] | 1 [2pt] |
Data Freshness | 2 [1pt] | 1 [2pt] |
Zones | 2 [1pt] | 1 [2pt] |
Token Management | 2 [1pt] | 1 [2pt] |
Total | 14/20 | 16/20 |
Les notes sont données à titre indicatif mais il est rassurant de voir que le logiciel le plus cher soit le plus efficace.
Ranxplorer peut rapidement monter en puissance en mettant en place plus de filtres, de meilleurs performances, une meilleur gestion des erreurs et une régénération du token.
La surprise peut être créée par Yooda Insight qui peut encore ajuster une API avec de nombreuses fonctionnalités et un prix attractif.
Après tout dépendra surtout de votre budget et dans quel pays, votre site est présent.
Un grand merci à ces trois sociétés qui m’ont permis de tester dans les meilleurs conditions ( certains de mes retours sont déjà pris en compte )
Je suis sûr que ce type de benchmark rend service à toute la communité SEO, n’hésitez pas à publier les vôtres.
Si vous souhaitez que je benchmark votre outil SEO, vous pouvez me contacter.
Merci aux relecteurs : Rémi, Pierre et Cédric
Joli test. Je pense qu’il manque une note plus objective sur la partie « country ».
Tu ne peux pas dire que Semrush est plus fort si tu travailles uniquement en France (bon on le capte très bien, mais la petite note serais au top). Si tu regardes sur un marché strictement Français, Ranx est largement au dessus des autres sans aucuns doutes.
Sinon, je pense que tu aurais pu ajouter ahrefs qui a aussi une partie keywords, tu devrais regarder car y’a du lourd !!
pas encore regardé la partie code, mais ca je pense que comme d’hab tu nous as bien gâté ^^
Merci pour ce super test 😉
Très bonne remarque pour les pays. Sinon si Ahrefs me donne accès à l’API, je peux tester et les intégrer.
Salut Vincent,
Merci pour cette étude très riche d’enseignements.
On avait aussi interpelé les outils sur l’utilisation des volumes de recherche et certains sont assez obscurs quant aux chiffres communiqués: Rankplorer est assez clair sur les données en indiquant qu’on est sur du large et que la fraîcheur des données est de plus ou moins 1 an ce qui me semble normal
Semrush dit utiliser un algo qui retraite les données, mais quand tu regardes le volume de recherche sur le terme « résultat brevet 2015 », il indique que la requête fait encore 110K recherches par mois ce qui semble assez étrange!
Excellent comparatif des outils SEO. Un grand merci, très utiles pour les webmasters et webmarketeurs.
Hello Vincent,
Je n’avais pas vu passer ton article à l’heure de sa sortie. Vraiment utile. Un grand merci.
Combien de temps t’as pris l’analyse à l’époque ? Penses-tu qu’il pourrait être intéressant de relancer un update une fois tous les 1 ou 2 ans ?
Quelques jours de mémoire.
Mais oui, il faudrait relancer cette analyse une fois par an.
Merci pour cet article que j’avais vu passer et qui (re)tombe à point nommé en cette période de renouvellement d’abonnement à un outil dédié au marché FR.
Si SR s’impose naturellement pour la richesse des fonctionnalités et des territoires couverts, un complémentaire est aussi nécessaire pour croiser les analyses amha.
Yooda n’est plus vraiment de la partie, il serait intéressant d’ajouter aujourd’hui Ahrefs qui a augmenté sa base de mots clés.