📦 plugin-sitemap
Ce plugin crée des sitemaps pour votre site afin que les robots des moteurs de recherche puissent explorer votre site avec plus de précision.
Ce plugin est toujours inactif en développement et uniquement actif en production car il fonctionne sur la sortie de la construction.
Installation
- npm
- Yarn
- pnpm
npm install --save @docusaurus/plugin-sitemap
yarn add @docusaurus/plugin-sitemap
pnpm add @docusaurus/plugin-sitemap
Si vous utilisez le preset @docusaurus/preset-classic
, vous n'avez pas besoin d'installer ce plugin en tant que dépendance.
Vous pouvez configurer ce plugin via les options du preset.
Configuration
Champs acceptés :
Nom | Type | Par défaut | Description |
---|---|---|---|
lastmod | 'date' | 'datetime' | null | null | date is YYYY-MM-DD. datetime is a ISO 8601 datetime. null is disabled. See sitemap docs. |
changefreq | string | null | 'weekly' | Voir docs sitemap |
priority | number | null | 0.5 | Voir docs sitemap |
ignorePatterns | string[] | [] | Une liste de patterns de glob; les chemins de route correspondants seront filtrés du sitemap. Notez que vous devrez peut-être inclure l'URL de base ici. |
filename | string | sitemap.xml | Le chemin vers le fichier sitemap créé, relatif au répertoire de sortie. Utile si vous avez deux instances de plugin qui sortent deux fichiers. |
createSitemapItems | CreateSitemapItemsFn | undefined | undefined | An optional function which can be used to transform and / or filter the items in the sitemap. |
Types
CreateSitemapItemsFn
type CreateSitemapItemsFn = (params: {
siteConfig: DocusaurusConfig;
routes: RouteConfig[];
defaultCreateSitemapItems: CreateSitemapItemsFn;
}) => Promise<SitemapItem[]>;
Ce plugin respecte également la configuration de certains sites :
noIndex
: aucun sitemap n'est générétrailingSlash
: détermine si les URLs dans le sitemap ont des slashs de fin
lastmod
The lastmod
option will only output a sitemap <lastmod>
tag if plugins provide route metadata attributes sourceFilePath
and/or lastUpdatedAt
.
All the official content plugins provide the metadata for routes backed by a content file (Markdown, MDX or React page components), but it is possible third-party plugin authors do not provide this information, and the plugin will not be able to output a <lastmod>
tag for their routes.
Exemple de configuration
Vous pouvez configurer ce plugin via les options du preset ou du plugin.
La plupart des utilisateurs de Docusaurus configurent ce plugin via les options du preset.
- Options du preset
- Options du plugin
Si vous utilisez un preset, configurez ce plugin via le options du preset :
module.exports = {
presets: [
[
'@docusaurus/preset-classic',
{
sitemap: {
lastmod: 'date',
changefreq: 'weekly',
priority: 0.5,
ignorePatterns: ['/tags/**'],
filename: 'sitemap.xml',
createSitemapItems: async (params) => {
const {defaultCreateSitemapItems, ...rest} = params;
const items = await defaultCreateSitemapItems(rest);
return items.filter((item) => !item.url.includes('/page/'));
},
},
},
],
],
};
Si vous utilisez un plugin autonome, fournissez des options directement au plugin :
module.exports = {
plugins: [
[
'@docusaurus/plugin-sitemap',
{
lastmod: 'date',
changefreq: 'weekly',
priority: 0.5,
ignorePatterns: ['/tags/**'],
filename: 'sitemap.xml',
createSitemapItems: async (params) => {
const {defaultCreateSitemapItems, ...rest} = params;
const items = await defaultCreateSitemapItems(rest);
return items.filter((item) => !item.url.includes('/page/'));
},
},
],
],
};
Vous pouvez trouver votre sitemap sur /sitemap.xml
.