Aller au contenu

Comment calculer un ratio, une fréquence et une moyenne avec Screaming Frog ?

Antoine Brisset
Antoine Brisset
Temps de lecture : 3 min
Comment calculer un ratio, une fréquence et une moyenne avec Screaming Frog ?
Photo by Ben Wicks / Unsplash

Table des matières

Chaque fois que je pense avoir fait le tour des subtilités du langage de requête XPath, j'apprends un nouveau truc cool.

Dernier exemple en date : j'ai découvert qu'il existait un opérateur div permettant, comme son nom le suggère, de réaliser une division.

Bon, dit comme ça, ça ne paraît pas dingue.

Et pourtant, les applications SEO sont nombreuses.

Je te donne ci-dessous différentes façons de t'en servir avec Screaming Frog (custom extraction + function value).

Calculer le ratio liens internes/liens externes

Imagine que tu souhaites vérifier si, dans chacun de tes articles, tu as un ratio liens internes/liens externes cohérent.

Ou encore si le lien que tu envisages de poser sur une page ne sera pas noyé dans une multitude d'autres liens.

Et bien, le XPath suivant est celui qu'il te faut :

count(//a[starts-with(@href, "https://example.com") or starts-with(@href, "/")]) div count(//a[not(starts-with(@href, "https://example.com") or starts-with(@href, "/") or starts-with(@href, "#") or starts-with(@href, "javascript:"))])

Explications :

  • je compte le nombre de liens pointant vers une URL interne (absolue ou relative) avec count(//a[starts-with(@href, "https://example.com") or starts-with(@href, "/")])
  • je le divise (div) par tous les autres liens de la page, à l'exception des liens ancrés et des liens appelant du code JavaScript avec count(//a[not(starts-with(@href, "https://example.com") or starts-with(@href, "/") or starts-with(@href, "#") or starts-with(@href, "javascript:"))])

Interprétation : plus le résultat est proche de 0, plus c'est mauvais.

❗Remplace https://example.com par l'adresse de ton site.

Calculer la fréquence d'apparition des <h2>

Si tu veux savoir de combien de mots sont séparés, en moyenne, chacun des titres h2 d'une page, tu peux utiliser la requête XPath suivante :

(string-length(normalize-space(//article)) - string-length(translate(normalize-space(//article),' ','')) +1) div count(//h2)

Explications :

  • je compte le nombre de mots contenus dans la balise article avec (string-length(normalize-space(//article)) - string-length(translate(normalize-space(//article),' ','')) +1) (plus de détails sur le calcul dans cet article)
  • je le divise (div) par le nombre total de h2 dans la page avec count(//h2)

Interprétation : plus le nombre obtenu est élevé, moins le contenu est "structuré" par des h2.

❗Si ta page ne contient pas de balise article, remplace //article par le chemin XPath correspondant au contenu principal de ta page.

Calculer la moyenne de liens par paragraphe

Voilà un indice intéressant pour vérifier que la "densité" de liens dans le contenu n'est pas trop élevée.

count(//p//a) div count(//p)

Explications :

  • je compte le nombre total de liens dans les paragraphes avec count(//p//a)
  • je le divise (div) par le nombre total de paragraphes avec count(//p)

Interprétation : si le résultat est > 1, il y a sûrement des questions à se poser.

Calculer un prix HT à partir d'un prix TTC

Imaginons, sur un site e-commerce, que le prix TTC d'un produit est contenu dans une balise <meta itemprop="price">, et que le taux de TVA est de 20%.

Ça donnerait :

//meta[@itemprop="price"]/@content div 1.2

Explications :

  • j'extrais le prix contenu dans l'attribut content de la balise meta avec //meta[@itemprop="price"]/@content
  • je le divise (div) par 1,2

Bonus : arrondir le résultat

Le problème avec le résultat des opérations précédentes, c'est que le nombre obtenu contient souvent beaucoup de décimales.

Du coup, voici une petite astuce pour arrondir le résultat à deux chiffres après la virgule.

Il suffit d'utiliser la fonction round, en multipliant le résultat par 100 puis en divisant le tout par 100.

Si je reprends l'exemple du prix TTC → HT, ça donnerait :

round((//meta[@itemprop="price"]/@content div 1.2) * 100) div 100

Et voilà ! À ton tour maintenant de trouver d'autres façons intéressantes d'utiliser l'opérateur div.

Screaming Frog

Antoine Brisset Twitter

Consultant SEO depuis 2010. Je traque les clics inutiles et automatise les tâches répétitives pour gagner du temps dans mon quotidien de travailleur du web.

Commentaires


Articles Similaires

Membres Public

Comment détecter les liens multiples avec Screaming Frog ?

Si tu t'intéresses de près au SEO, tu dois savoir qu'une des recommandations en matière de maillage interne est d'éviter, sur une page, de faire plusieurs liens vers la même page cible. D'après les derniers tests de la communauté SEO (je n'ai pas testé de mon côté), il semblerait que,

Comment détecter les liens multiples avec Screaming Frog ?
Membres Public

Comment récupérer les URLs d'un sitemap XML avec Screaming Frog (sans les crawler) ?

Il y a quelques semaines, j'ai découvert dans cet article une astuce toute bête mais très pratique pour extraire les URLs d'un sitemap XML avec Screaming Frog. L'idée c'est d'utiliser le mode liste de Screaming Frog de la façon suivante : * cliquer sur Download XML Sitemap * coller l'URL du sitemap * lancer

Comment récupérer les URLs d'un sitemap XML avec Screaming Frog (sans les crawler) ?
Membres Public

Comment sauvegarder ses extractions personnalisées (XPath, regex) dans Screaming Frog ?

Le tips du jour fait suite à une question très intéressante que m'a posée Christophe aka @stonetatara au sujet de Screaming Frog. La question est la suivante : est-il possible d'enregistrer une collection de requêtes XPath dans une librairie permanente, de manière à pouvoir les réutiliser à chaque crawl, peu importe

Comment sauvegarder ses extractions personnalisées (XPath, regex) dans Screaming Frog ?