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 j'automatise les tâches répétitives pour gagner du temps dans mon quotidien de travailleur du web.


Articles Similaires

Membres Public

Comment vérifier ses liens d'affiliation avec Screaming Frog ?

Quand on fait de l'édition de sites, on passe beaucoup de temps à créer du contenu, à le promouvoir, à faire des liens. Mais on oublie parfois le plus important : s'assurer que les liens d'affiliation qu'on a glissés dans nos contenus sont

Comment vérifier ses liens d'affiliation avec Screaming Frog ?
Membres Public

Brotli, tu connais ?

Il y a quelques mois, j'avais partagé l'astuce suivante sur Twitter. Petit tips #ScreamingFrog La configuration par défaut de Screaming Frog n'ajoute pas automatiquement la compression Brotli au champ "Accept-Encoding" (il n'y a que Gzip). — Antoine Brisset (@ABrisset) March 27,

Brotli, tu connais ?
Membres Public

Comment crawler un site multilingue avec Screaming Frog ?

Aujourd'hui, je te donne une petite astuce pour crawler un site multilingue au complet avec Screaming Frog. Préambule Attention, je pars ici du principe que depuis l'URL de départ, Screaming Frog peut accéder à chacune des versions multilingues : * soit via un lien hypertexte * soit via une

Comment crawler un site multilingue avec Screaming Frog ?