appuyez sur ⌘K pour changer d’outil
NETWORK · HTTP

Extracteur de titres et de liens

Extrayez la structure des titres et tous les liens d'une page par son URL.

server
page-outline

🌐 sitekits fetches the URL server-side (private/internal addresses are blocked). The HTML is parsed as delivered — JavaScript is not executed, so client-rendered headings will not appear.

§01 À PROPOS DE CET OUTIL

Aperçu

La hiérarchie des titres d’une page est sa table des matières, et elle est lue par plus de choses qu’on ne l’imagine : un moteur de recherche qui construit un résumé, un lecteur d’écran qui propose une liste de titres navigable, un moteur de réponse par IA qui détermine le sujet de la page. Quand la structure est fausse, tous se dégradent en même temps, et rien n’en est visible à l’écran — un h3 stylé pour ressembler à un titre de section se lit exactement comme un h2.

Cet outil récupère une URL côté serveur, analyse le HTML tel qu’il est livré et renvoie l’arbre complet des titres, le nombre de h1, chaque niveau sauté et tous les liens répartis en internes et externes avec les nofollow signalés.

Utilisation

  1. Collez une URL. Le schéma peut être omis ; https est supposé.
  2. Lisez la ligne de synthèse : nombre de h1, nombre de titres, sauts de niveau.
  3. Basculez entre Outline et Links pour le détail.

Ce que signifie « le HTML tel qu’il est livré »

Aucun JavaScript n’est exécuté. C’est une contrainte délibérée, pas une limite à contourner : elle montre la page telle que la voit tout ce qui n’exécute pas de scripts.

Si vos titres proviennent d’un framework côté client, la structure sera ici presque vide — et c’est là le constat. Les moteurs de recherche exécutent bien le JavaScript, mais à leur propre rythme et sans garantie, et beaucoup d’autres consommateurs de votre HTML ne font jamais de rendu : aperçus de liens, lecteurs de flux, navigateurs en mode texte et la plupart des robots d’IA. Une structure rendue côté serveur est la seule que tous les consommateurs voient.

Le contenu de <script> et <style> ainsi que les commentaires HTML sont supprimés avant l’analyse : un titre dans un bloc commenté ou dans une chaîne de gabarit n’apparaît donc pas. Les balises dans le texte des titres sont retirées et les entités HTML décodées, <h2>Tarifs &amp; offres</h2> se lit donc Tarifs & offres.

Lire les sauts de niveau

Un saut est signalé dès qu’un titre est plus de un niveau plus profond que le précédent : h1 vers h3, ou h2 vers h5. Remonter n’est jamais un saut — un h3 suivi d’un h2 ferme simplement une sous-section.

La raison d’y prêter attention est que le niveau de titre est le seul signal d’imbrication en HTML. Les utilisateurs de lecteurs d’écran parcourent un document par niveau, et un niveau sauté leur annonce une sous-section que le contenu ne possède pas. La cause habituelle est visuelle : un h4 a été choisi parce que sa taille convenait, et cette taille a de toute façon été modifiée en CSS ensuite.

Le correctif consiste à choisir les niveaux d’après la structure et à définir la taille en CSS. La structure devient alors correcte pour tous les lecteurs, sans que l’apparence change.

Lire la liste des liens

Chaque lien est résolu par rapport à l’URL finale de la page, les href relatifs apparaissent donc comme les URL absolues qu’un robot suit. Les liens relatifs au protocole (//hôte/chemin) héritent du schéma de la page. Les href malformés sont écartés plutôt que rapportés comme liens.

rel="nofollow" est détecté sans tenir compte de la casse et au sein d’attributs rel à plusieurs valeurs, rel="NoFollow noopener" est donc signalé. Notez que nofollow est une indication plutôt qu’une directive pour l’exploration depuis 2019 : il n’empêche plus de manière fiable qu’un lien soit suivi, ce qui compte si vous comptiez sur lui pour tenir une URL hors d’un index. Seul un noindex sur la page cible fait cela.

Un texte vide est signalé explicitement. Un lien sans texte — le plus souvent une ancre réduite à une icône sans aria-label — est inatteignable pour les utilisateurs de lecteurs d’écran et ne porte aucun signal sur sa destination.

Exemples

  • Auditer un gabarit, pas une page — traitez une page par gabarit. Les défauts de titres vivent presque toujours dans le gabarit, une poignée d’URL couvre donc un site.
  • Vérifier que votre contenu est rendu côté serveur — si la structure est vide alors que la page est pleine de titres, rien qui ignore le JavaScript ne peut la lire.
  • Avant une migration — relevez la structure et le nombre de liens des pages clés, puis comparez après. Un h1 disparu ou une section rétrogradée d’un niveau se livrent très facilement sans être remarqués.
  • Trouver des liens externes accidentels — un hôte de préproduction ou de CDN égaré dans la liste externe signale d’ordinaire une URL absolue codée en dur qui a survécu à un déploiement.
  • Préparer du contenu pour les moteurs de réponse par IA — une hiérarchie de titres correcte est le signal structurel le moins coûteux disponible, et celui qui est le plus souvent cassé. Le validateur HTML couvre les erreurs de balisage, et l’aperçu OG la façon dont la page se présente lors d’un partage.

Ce qui n’est pas compté

Seuls les éléments <a href> sont collectés. <link>, <form action>, <iframe src> et la navigation pilotée par JavaScript sont exclus, car ce ne sont pas des liens qu’un robot suit depuis le document.

Remarques

Jusqu’à cinq redirections sont suivies, et chaque saut est revalidé selon les mêmes règles d’adressage : une URL publique ne peut donc pas rediriger vers un réseau privé. La structure décrit la réponse finale, et la chaîne est affichée.

La lecture s’arrête à 1 Mo et le rapport est plafonné à 300 titres et 500 liens. Lorsqu’une limite est atteinte, vous en êtes averti, car une structure tronquée silencieusement ressemble à une structure complète.

Les requêtes vers des adresses privées, de boucle locale, lien-local et réservées sont refusées avant toute connexion. Le corps de la réponse est analysé en mémoire pour produire ce rapport et n’est jamais conservé — voir la politique de confidentialité.

FAQ
Pourquoi des titres visibles dans mon navigateur n'apparaissent-ils pas ?
Le HTML est analysé tel que le serveur l'a livré, sans exécuter de JavaScript. Les titres rendus par un framework côté client après le chargement n'apparaissent pas. Cet écart est lui-même une information utile : un robot qui n'exécute pas votre JavaScript voit exactement la même structure vide que cet outil.
Plusieurs h1 nuisent-ils au référencement ?
Pas directement, et le sectionnement HTML5 l'autorise. Ce que cela coûte, c'est la clarté : avec plusieurs h1, la page n'énonce aucun sujet unique à son plus haut niveau, et tout ce qui la résume — un moteur de recherche, la liste de titres d'un lecteur d'écran, un moteur de réponse par IA — doit deviner lequel est le sujet. Le nombre est rapporté pour que vous décidiez, pas noté.
Qu'est-ce qu'un saut de niveau et pourquoi est-ce important ?
Un titre qui saute un niveau, par exemple un h3 directement après un h1. Les utilisateurs de lecteurs d'écran naviguent par niveau de titre : un niveau sauté fait donc annoncer à la structure une profondeur d'imbrication que le contenu n'a pas. C'est un défaut structurel invisible à l'écran, et c'est pourquoi il vaut la peine d'être signalé.
Les liens de fragment et mailto: sont-ils comptés ?
Non. Un href vide, les fragments internes (#top), javascript: et mailto: sont exclus, car aucun n'est un lien vers une page. Tout le reste est résolu par rapport à l'URL de la page, les liens relatifs apparaissent donc comme les URL absolues qu'un robot suivrait.
Comment interne et externe sont-ils déterminés ?
En comparant l'hôte du lien résolu avec l'hôte de l'URL finale après redirections. Un sous-domaine différent compte comme externe, car les moteurs de recherche et les navigateurs le traitent largement ainsi.
Y a-t-il une limite à la quantité lue ?
La réponse est lue jusqu'à 1 Mo, et jusqu'à 300 titres et 500 liens sont rapportés. Si la page dépassait 1 Mo, vous en êtes averti explicitement, plutôt que de voir une structure tronquée qui a l'air complète.