Aller au contenu

Comment calculer le nombre de mots d'un bloc de texte avec Screaming Frog ?

Antoine Brisset
Antoine Brisset
Temps de lecture : 2 min
Comment calculer le nombre de mots d'un bloc de texte avec Screaming Frog ?
Photo by Leon Pauleikhoff / Unsplash

Table des matières

Après avoir vu comment identifier les balises Hn vides avec Screaming Frog, voici une nouvelle astuce consacrée au meilleur crawler du marché (selon moi).

Un de mes besoins récurrents en phase d'audit SEO, ou simplement d'analyse, c'est de savoir combien de mots se trouvent dans un élément HTML donné.

Exemple : quelle est la longueur du bloc de texte en-dessous (ou au-dessus) des pages catégories de mon site e-commerce ?

Avec Screaming Frog, on a bien quelques infos sur le nombre de mots, mais uniquement à l'échelle globale de la page (Internal > Word Count).

Chaque site étant différent, il faut donc passer par une extraction personnalisée pour connaître le nombre de mots à l'intérieur d'un nœud précis.

Peut-on utiliser les regex ?

Utiliser une expression régulière pour ce type d'opérations serait possible mais exigerait un double traitement :

  1. la récupération des mots dans Screaming Frog (avec le pattern \w par exemple)
  2. le comptage du nombre d'occurrences trouvées pour ce pattern

On le voit, la phase 2 nécessiterait de passer par un deuxième outil. Or, je souhaite faire cela en une seule passe.

Voyons donc la 2ème option.

XPath à la rescousse !

Et oui, une nouvelle fois, on va faire appel à XPath.

En combinant 3 fonctions : string-length, translate et normalize-space.

L'idée est simple : les mots d'une phrase étant séparés par des espaces, on va compter le nombre d'espaces. Par extrapolation, cela nous donnera le nombre de mots. On ajoutera 1 pour ne pas oublier le dernier mot.

OK, mais comment faire ?

1ère étape

D'abord, on va compter le nombre total de caractères à l'intérieur du contenu, espace inclus.

Ce qui donne : string-length(normalize-space(//*[@class="classe-de-mon-element"]))

La fonction normalize-space me permet ici de transformer les éventuels doubles espaces en espace unique et de supprimer les espaces de début ou de fin de chaîne superflus, afin de ne pas biaiser le résultat.

La fonction string-length quant à elle me retourne le nombre de caractères.

2ème étape

Puis, on va faire la même chose, mais cette fois en supprimant les espaces.

Ce qui donne string-length(translate(normalize-space(//*[@class="classe-de-mon-element"]), " ", "").

La fonction translate me permet ici de remplacer chaque espace par une chaîne vide.

3ème étape

On va soustraire le résultat de la 2ème étape au résultat de la 1ère étape afin, tu l'auras compris, de compter le nombre d'espaces.

Enfin, on va rajouter +1 car le dernier mot n'étant plus séparé par un espace, il n'est de base pas compté dans le total.

La requête finale

Voilà donc la requête à utiliser :

string-length(normalize-space(//[@class="classe-de-mon-element"])) - string-length(translate(normalize-space(//[@class="classe-de-mon-element"]),' ','')) +1

Il faudra bien entendu que tu remplaces //*[@class="classe-de-mon-element"]) par l'élément HTML qui t'intéresse dans ton template de page.

Si je prends l'exemple de SEO Memento et que je veux récupérer le nombre de mots de chaque article, j'utiliserai la requête XPath suivante :

string-length(normalize-space(//*[contains(@class, 'single-content')])) - string-length(translate(normalize-space(//*[contains(@class, 'single-content')]),' ','')) +1
Extraction du nombre de mots dans Screaming Frog

Et voilà !

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

Balise strong dans une balise hn : détectez la suroptimisation avec Screaming Frog !

Quand je reçois des contenus au format Word ou Google Docs, il arrive souvent qu'en les collant dans l'éditeur WordPress (ou un autre éditeur WYSIWIG), les titres soient automatiquement mis en gras. Ce qui donne par exemple ce type de code HTML : <h2><

Balise strong dans une balise hn : détectez la suroptimisation avec Screaming Frog !
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 ?