Aller au contenu
DocPensieve
Menu de la documentation

Se faire trouver

Progression du module66%

Leçon 2 sur 3.

Votre lecteur arrive rarement par la page d'accueil. Il arrive par un moteur de recherche, par un lien qu'un collègue a collé, ou par le champ de votre propre en-tête — trois portes, et cette leçon les ouvre toutes.

La recherche dans le site

Chaque page porte un champ dans son en-tête. Il mène à /search/, une page que la génération écrit avec le site : la liste de toutes les pages, qu'un petit script filtre à mesure que le lecteur tape.

search: false retire le champ et la page. Cela se défend sur un site de dix pages, où le menu montre déjà tout.

Les deux fichiers que lisent les robots

siteUrl: 'https://acme.example.com/docs',

Ce seul champ rend le reste possible — une adresse est ce dont un robot, un réseau social et un lecteur de flux ont tous besoin.

FichierÉcrit quandCe qu'il porte
sitemap.xmlsiteUrl est renseignéToutes les pages de toutes les versions, sauf une bêta
robots.txtle site se trouve à la racine de son domaineOù se trouve le plan du site
feed.xmlfeed: trueLes pages récentes, annoncées dans l'en-tête du document

Une version marquée prerelease reste hors du plan du site et demande à ne pas être indexée. C'est ce qui évite qu'un lecteur cherchant votre outil atterrisse sur la documentation d'une version que personne ne peut encore installer.

À quoi ressemble un lien partagé

Un lien collé dans une conversation montre un titre, une description et une image. Les trois viennent de ce que vous avez déjà écrit :

L'aperçu d'une page partagée
L'aperçu
Titre et description depuis le frontmatter, image depuis socialImage.

La description d'une page n'est pas une décoration : c'est la phrase sous le titre dans un résultat de recherche, et celle sous le lien dans une conversation. Une page qui n'en a pas est annoncée par son seul titre.

socialImage se déclare une fois, dans la configuration, et a besoin de siteUrl — une autre machine va la chercher, donc l'adresse doit être absolue.

Dire ce qu'est une page

Les moteurs de recherche lisent les données structurées. La génération les écrit depuis le frontmatter, et une page peut dire de quel genre elle relève :

---
title: Installation
description: Une commande met le projet en place.
jsonld:
  type: TechArticle
  faq:
    - question: Quelle version de Node faut-il ?
      answer: La version 22 ou plus récente.
---

Les questions deviennent un vrai bloc de FAQ dans les données structurées — celui qu'un moteur peut afficher replié sous votre résultat.

Le poids, que personne ne remarque avant qu'il soit mauvais

Scripts sur une page
Feuilles de style
100%
Images mesurées

Trois choses arrivent à la génération sans qu'on les demande :

  • Chaque image reçoit ses dimensions, lues dans son fichier, pour que la page cesse de sauter pendant le chargement.
  • Toutes les images sauf la première se chargent en différé, ce qui fait arriver le haut de la page en premier.
  • La feuille de style est minifiée, et ne porte que les règles qu'emploient les pages.

Rien à configurer. Cela mérite d'être su parce que cela explique une surprise : la première image d'une page n'est délibérément pas différée, et ce n'est pas un oubli.

Les étiquettes, et ce qu'elles ne sont pas

tags: [cours, avancé, découvrabilité]

Elles s'affichent sous la page et passent dans les données structurées comme mots-clés. Il n'y a pas de page par étiquette : elles étiquettent, elles ne naviguent pas. Un lecteur qui cherche tout ce qui touche à un sujet emploie le champ de recherche.

Vérifiez par vous-même

Votre bêta figure dans le plan du site. Qu'avez-vous oublié ?

prerelease: true sur cette version. Sans lui, rien ne la distingue de celle que les gens devraient lire.

Aucun robots.txt n'a été écrit alors que siteUrl est renseigné. Pourquoi ?

Le site est servi depuis un sous-dossier. Un robots.txt ne veut dire quelque chose qu'à la racine d'un domaine : la génération s'abstient plutôt que d'écrire un fichier qui parlerait pour des adresses qui ne sont pas les vôtres.

Le guide de déploiement couvre le même terrain du côté de l'hébergeur — ce qu'il faut servir, et ce qu'il faut vérifier avant la mise en ligne.