Un script pour extraire les balises HN de toutes les pages d’un site

Quand on parle d’audit SEO, les balises H1, H2, H3, etc. (qu’on appelle les balises HN) sont un passage obligé. Ces balises structurent le contenu d’une page web, comme un sommaire (titres et sous-titres) d’un livre. Elles aident les moteurs de recherche à comprendre la hiérarchie des informations, mais aussi à juger de la pertinence d’une page par rapport à une requête. Une bonne gestion des HN, c’est un signal de qualité pour Google et un vrai plus pour l’accessibilité et l’expérience utilisateur.

Problème : analyser ces balises manuellement sur chaque page d’un site, c’est fastidieux. Et même si certains outils SEO comme Screaming Frog ou SEMrush le font, ils restent lourds en fonction de l’utilisation que l’on veut en faire. J’utilise aussi l’excellente extension SEOQuake, très pratique pour une vue rapide page par page, mais ça reste limité dès qu’on veut compiler les données de tout un site.

Pour être autonome et suivre facilement les HN de mes sites via un simple fichier excel, l’idée a été de récupérer toutes les balises, les ordonner, les trier pour les traiter à ma guise. Un outil simple, sur-mesure, qui s’intègre dans ma boîte à outils SEO personnelle (comme je l’ai fait pour le suivi des positions sur Google sans abonnement).

C’est pour ça que j’ai développé le script SeoHn, disponible ici : https://github.com/ChStram/SeoHn. Je vous explique comment il fonctionne et comment vous en servir.

Repo GitHub : https://github.com/ChStram/SeoHn

Le besoin : connaitre la hiérarchie HN de toutes les pages d’un site

En tant que développeur web freelance, j’ai souvent des missions où il faut analyser et améliorer l’architecture des contenus d’un site. Pas juste la page d’accueil, mais l’ensemble des pages.

J’avais donc besoin :

  • D’un script qui récupère les balises H1, H2, H3, etc. pour chaque page d’un site.
  • D’un export propre sous Excel, avec 1 feuille par URL.
  • D’une solution 100 % sous contrôle.

Les limites des solutions existantes

Certains outils proposent des exports partiels, ou bien noyés dans des données inutiles pour mon besoin. SEOQuake est génial pour analyser une page à la volée, mais il manque d’options pour compiler les données de plusieurs pages en une seule vue exploitable. Moi, je voulais aller à l’essentiel : voir en un coup d’œil si la structure des titres est cohérente sur tout un site, et si mes mots clés sont correctement positionnés.

Présentation du script SeoHn

Le principe :

  • On fournit l’URL de base du site et le nom du fichier sitemap.
  • Le script va explorer automatiquement les sitemaps (même imbriqués).
  • Pour chaque page, il extrait toutes les balises H1, H2, H3, etc.
  • Il génère un fichier Excel (.xlsx) avec 1 feuille par URL, listant les balises trouvées.

Les outils utilisés :

Le script est écrit en Python et utilise :

  • requests pour les requêtes HTTP.
  • BeautifulSoup pour parser le HTML et XML.
  • pandas pour gérer les données et les exports Excel.
  • tqdm pour afficher une barre de progression.
  • openpyxl pour écrire dans des fichiers Excel.

Prérequis

Avant de lancer le script, il faut avoir :

  • Python 3 installé.
  • Les packages nécessaires : requests, beautifulsoup4, pandas, openpyxl, tqdm.

Installez-les avec :

pip install requests beautifulsoup4 lxml pandas openpyxl tqdm

Configuration

1. Configurez l’URL de base et le nom du sitemap dans le fichier :

site_url = 'https://www.le-site.com'
sitemap_filename = 'sitemap.xml'
Configuration du script

2. Lancez le script :

python hn.py
Lancer le script

Le script récupère les pages depuis le sitemap (y compris les sitemaps imbriqués), analyse chaque page et exporte les résultats dans un fichier Excel.

Exemple de résultat

Le fichier généré sera nommé automatiquement, par exemple : hn-le-site-com.xlsx.

NiveauTexte
h1Titre principal
h2Sous-titre 1
h2Sous-titre 2

Chaque page aura sa propre feuille Excel, contenant :

Avec un tel fichier, il devient très simple de repérer :

  • Les pages sans H1.
  • Les répétitions abusives de H2.
  • Les structures incohérentes (H3 sans H2 parent, etc.).

En triant et filtrant sous Excel, vous maîtrisez totalement votre analyse.

Ce script est une solution légère, autonome et personnalisable pour analyser la structure HN d’un site. Il s’intègre parfaitement dans ma boîte à outils SEO perso, en complément de mes autres scripts maison. Si vous cherchez à automatiser ce genre de tâches sans vous ruiner en licences, c’est exactement le genre de projet qui vous plaira.

À retenir

  • SeoHn automatise l’extraction des balises HN d’un site via les sitemaps et produit un fichier Excel propre et exploitable.
  • Un outil open-source, léger et adapté pour des suivis réguliers et personnalisés.
  • Idéal pour enrichir sa boîte à outils SEO personnelle sans dépendre d’abonnements lourds.


Si cet article "Un script pour extraire les balises HN de toutes les pages d’un site" vous a aidé, si vous avez des questions ou des améliorations à proposer, n'hésitez pas à me laisser un commentaire en bas de page !
Charlie Stram,
Développeur web freelance

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *