Optimisation des moteurs de recherche (SEO)
Docusaurus prend en charge l'optimisation des moteurs de recherche de plusieurs façons.
MĂ©tadonnĂ©es globalesâ
Fournir des méta-attributs globaux pour l'ensemble du site à travers la configuration du site. Les métadonnées seront toutes rendues dans le code HTML <head>
en utilisant les paires clé-valeur comme nom et valeur de la propriété. L'attribut metadata
est un raccourci pratique pour déclarer les balises <meta>
mais il est Ă©galement possible d'injecter des balises arbitraires dans <head>
avec l'attribut headTags
.
export default {
themeConfig: {
// DĂ©clare quelques balises <meta>
metadata: [
{name: 'keywords', content: 'cooking, blog'},
{name: 'twitter:card', content: 'summary_large_image'},
],
},
headTags: [
// DĂ©clare une balise <link> preconnect
{
tagName: 'link',
attributes: {
rel: 'preconnect',
href: 'https://example.com',
},
},
// Déclare des données structurées json-ld
{
tagName: 'script',
attributes: {
type: 'application/ld+json',
},
innerHTML: JSON.stringify({
'@context': 'https://schema.org/',
'@type': 'Organization',
name: 'Meta Open Source',
url: 'https://opensource.fb.com/',
logo: 'https://opensource.fb.com/img/logos/Meta-Open-Source.svg',
}),
},
],
};
Docusaurus ajoute quelques mĂ©tadonnĂ©es prĂȘtes Ă l'emploi. Par exemple, si vous avez configurĂ© i18n, vous obtiendrez un lien alternatif hreflang
.
Pour en savoir plus sur les types de balises méta, consultez les docs MDN.
MĂ©tadonnĂ©es d'une seule pageâ
Tout comme les métadonnées globales, Docusaurus permet également d'ajouter des méta-informations à des pages individuelles. Suivez ce guide pour configurer la balise <head>
. En bref :
# A cooking guide
<head>
<meta name="keywords" content="cooking, blog" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="preconnect" href="https://example.com" />
<script type="application/ld+json">
{JSON.stringify({
'@context': 'https://schema.org/',
'@type': 'Organization',
name: 'Meta Open Source',
url: 'https://opensource.fb.com/',
logo: 'https://opensource.fb.com/img/logos/Meta-Open-Source.svg',
})}
</script>
</head>
Some content...
Docusaurus ajoute automatiquement description
, title
, des liens URL canoniques et d'autres métadonnées utiles à chaque page Markdown. Ils sont configurables via le front matter :
---
title: Titre destinĂ© aux moteurs de recherche ; peut ĂȘtre diffĂ©rent de l'intitulĂ© rĂ©el.
description: Une brĂšve description de cette page
image: une image miniature à afficher dans les cartes de médias sociaux
keywords: [mots-clés, description, principaux sujets]
---
Lors de la création de votre page React, l'ajout de ces champs dans Layout
permettra également d'améliorer le référencement.
Préférez l'utilisation du front matter pour les champs comme description
et keywords
 : Docusaurus l'appliquera automatiquement à description
et og:description
, alors que vous devrez déclarer manuellement deux balises de métadonnées lorsque vous utiliserez la balise <head>
.
Les plugins officiels prennent en charge tous les front matter suivants : title
, description
, keywords
et image
. Reportez-vous à leur documentation de l'API respective pour une prise en charge supplémentaire du front matter :
Pour les pages JSX, vous pouvez utiliser le composant <Head>
de Docusaurus.
import React from 'react';
import Layout from '@theme/Layout';
import Head from '@docusaurus/Head';
export default function page() {
return (
<Layout title="Page" description="A React page demo">
<Head>
<meta property="og:image" content="image.png" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="preconnect" href="https://example.com" />
<script type="application/ld+json">
{JSON.stringify({
'@context': 'https://schema.org/',
'@type': 'Organization',
name: 'Meta Open Source',
url: 'https://opensource.fb.com/',
logo: 'https://opensource.fb.com/img/logos/Meta-Open-Source.svg',
})}
</script>
</Head>
{/* ... */}
</Layout>
);
}
Pour des raisons pratiques, le composant du thÚme par défaut<Layout>
accepte title
et description
comme props.
GĂ©nĂ©ration de HTML statiqueâ
Docusaurus est un générateur de sites statiques : les fichiers HTML sont générés de maniÚre statique pour chaque route URL, ce qui permet aux moteurs de recherche de découvrir votre contenu plus facilement.
MĂ©ta description de l'imageâ
La balise alt d'une image indique au moteur de recherche de quoi il s'agit. Elle est utilisée lorsque l'image n'est pas visible visuellement, par exemple lorsqu'on utilise un lecteur d'écran, ou lorsque l'image est endommagée. Les balises Alt sont généralement prises en charge dans le format Markdown.
Vous pouvez également ajouter un titre à votre image. Ce titre n'a pas une grande incidence sur le référencement, mais il s'affiche sous la forme d'une info-bulle lorsque vous survolez l'image, généralement utilisée pour fournir des indications.
![BanniĂšre de Docusaurus](./assets/docusaurus-asset-example-banner.png 'Titre de l'image')
![BanniĂšre de Docusaurus](./assets/docusaurus-asset-example-banner.png 'Titre de l'image')
Informations de recherche enrichiesâ
Les blogs Docusaurus prennent en charge dÚs le départ les résultats de recherche enrichies pour bénéficier d'une expérience maximale dans les moteurs de recherche. Les informations sont créées en fonction de vos méta-informations dans la configuration du blog/globale. Afin de bénéficier des avantages de la recherche riche, remplissez les informations relatives à la date de publication de l'article, des auteurs, de l'image, etc. Pour en savoir plus sur la méta-information, lisez ceci.
Fichier robotsâ
Un fichier robots.txt
rĂ©gule le comportement des moteurs de recherche sur ce qui doit ĂȘtre affichĂ© et ce qui ne doit pas l'ĂȘtre. Vous pouvez le fournir en tant que ressource statique. L'exemple suivant permettra d'accĂ©der Ă toutes les sous-pages Ă partir de toutes les requĂȘtes :
User-agent: *
Disallow:
Pour en savoir plus sur le fichier robots, consultez la documentation Google.
Important : le fichier robots.txt
n'empĂȘche pas les pages HTML d'ĂȘtre indexĂ©es.
Pour empĂȘcher l'indexation de l'ensemble de votre site Docusaurus, utilisez la configuration de site noIndex
. Certains hĂ©bergeurs peuvent Ă©galement vous permettre de configurer une entĂȘte HTTP X-Robots-Tag: noindex
(GitHub Pages ne le prend pas en charge).
Pour éviter qu'une seule page ne soit indexée, utilisez <meta name="robots" content="noindex">
comme métadonnées de page. En savoir plus sur la balise méta robots.
Fichier sitemapâ
Docusaurus fournit le plugin @docusaurus/plugin-sitemap
qui est fourni avec preset-classic
par défaut. Il génÚre automatiquement un fichier sitemap.xml
qui sera disponible depuis https://example.com/[baseUrl]/sitemap.xml
aprÚs la construction de la production. Ces métadonnées aident les robots des moteurs de recherche à explorer votre site avec plus de précision.
Le plugin sitemap filtre automatiquement les pages contenant une directive méta robots noindex
.
Par exemple, /examples/noIndex
n'est pas inclus dans le fichier sitemap.xml de Docusaurus car il contient les métadonnées de page suivantes :
<head>
<meta name="robots" content="noindex, nofollow" />
</head>
Liens lisibles par un humainâ
Docusaurus utilise vos noms de fichiers comme liens, mais vous pouvez toujours changer cela en utilisant des slugs, voir ce tutoriel pour plus de détails.
Contenu structurĂ©â
Les moteurs de recherche s'appuient sur les balises HTML telles que <h2>
, <table>
, etc pour comprendre la structure de votre page Web. Lorsque Docusaurus rend vos pages, des balises sémantiques, par exemple <aside>
, <nav>
, <main>
, sont utilisées pour diviser les différentes sections de la page, aidant ainsi le moteur de recherche à localiser des parties comme la barre latérale, la barre de navigation et le contenu principal de la page.
La plupart des syntaxes CommonMark ont leurs balises HTML correspondantes. En utilisant systématiquement le format Markdown dans votre projet, vous faciliterez la compréhension du contenu de vos pages par les moteurs de recherche.