Cette recipe sert une version markdown de vos pages HTML par négociation de contenu HTTP.
Le Markdown est un langage de balisage léger permettant de créer du texte formaté. Comparé au HTML, il est plus lisible et réduit fortement la quantité de balisage par rapport au contenu textuel.
Une fois cette recipe activée, lorsqu'un client envoie une requête dont l'en-tête Accept contient text/markdown, redirection.io convertit à la volée le corps de la réponse HTML en markdown et le renvoie avec un en-tête de réponse Content-Type: text/markdown. Les clients qui ne demandent pas de markdown continuent de recevoir le HTML d'origine. Aucun fichier markdown séparé n'est créé, et l'URL ne change pas.
Pourquoi servir du markdown ?
Les agents basés sur des LLM, les robots d'indexation IA et les outils de développement consomment de plus en plus de markdown plutôt que du HTML. Le markdown supprime la navigation, les scripts et le balisage de mise en page, ce qui réduit le nombre de tokens et fournit aux modèles une entrée plus propre. Le servir par négociation de contenu permet d'exposer une version markdown de chaque page sans maintenir un jeu de fichiers .md en parallèle, sans dupliquer les URL, et sans modifier votre application ni votre chaîne de build.
Comment fonctionne cette recipe
Une fois installée, la recipe active deux règles sur le chemin que vous avez configuré :
- Vary sur l'en-tête
Accept: cette règle ajoute un en-tête de réponseVary: Acceptà toutes les pages sous le chemin configuré. Comme une même URL peut désormais renvoyer soit du HTML, soit du markdown selon la requête, cet en-tête indique aux navigateurs, CDN et autres caches partagés de stocker les deux variantes séparément, afin qu'un client attendant du HTML ne reçoive jamais une réponse markdown mise en cache, ou l'inverse. - Conversion HTML vers markdown : lorsque l'en-tête de requête
Acceptcontienttext/markdown, cette règle convertit la réponse HTML en markdown et positionne l'en-tête de réponseContent-Typeàtext/markdown.
La conversion s'exécute dans l'agent redirection.io, au moment de la requête, sur la réponse que votre origine renvoie déjà. La qualité du résultat dépend de la structure du HTML source : un HTML bien structuré et sémantique produit un markdown plus propre.
Points d'attention
- Correspondance de l'en-tête
Accept: la règle de conversion se déclenche dès quetext/markdownapparaît dans l'en-têteAccept, quelle que soit sa position ou sa valeur de qualité. C'est volontaire : les navigateurs standards n'envoient jamaistext/markdown, donc tout client qui le mentionne le demande, en pratique. Si vous souhaitez un comportement plus strict, modifiez la règle et remplacez la condition parcommence parouest égal à. - Cache en amont de redirection.io : l'en-tête
Vary: Acceptn'est efficace que si les caches situés entre vos utilisateurs et l'agent redirection.io le respectent. La plupart des CDN le font, mais vérifiez la configuration de votre CDN si vous utilisez des clés de cache personnalisées. - Périmètre : appliquez la recipe aux parties de votre site où une sortie markdown a du sens, typiquement les pages de contenu comme les articles de blog ou la documentation. Les écrans applicatifs, les formulaires et les pages reposant fortement sur JavaScript se convertiront mal.
Comment installer cette recette sur mon site ?
-
1. Configuration -
2. Installation -
3. Validation
Pour installer cette recette sur votre site web, suivez les étapes suivantes :
Pour installer cette recipe, vous devez :
- Configurer le chemin à convertir en markdown à la demande : définissez la partie de votre site pour laquelle le markdown doit être servi sur demande. Le chemin doit commencer par un
/. Pour activer la conversion sur l'ensemble de votre site, utilisez le chemin/. Pour la restreindre à une section, utilisez un chemin plus précis, comme/blog/ou/docs/. - Cliquer sur "Installer sur mon site" : cliquez sur le bouton "Installer sur mon site". Cela crée les deux règles redirection.io associées en mode "brouillon".
- Vérifier les règles créées : l'une ajoute l'en-tête de réponse
Vary: Acceptsur le chemin configuré, l'autre effectue la conversion HTML vers markdown lorsque l'en-tête de requêteAcceptcontienttext/markdown. Modifiez-les si nécessaire. - Publier sur votre site : publiez les règles pour activer la conversion. Vous pouvez ensuite la tester avec
curl -H "Accept: text/markdown" https://www.example.com/blog/un-article.