📦 plugin-sitemap
This plugin creates sitemaps for your site so that search engine crawlers can crawl your site more accurately.
This plugin is always inactive in development and only active in production because it works on the build output.
Installation
- npm
- Yarn
- pnpm
npm install --save @docusaurus/theme-bootstrap
yarn add @docusaurus/theme-bootstrap
pnpm add @docusaurus/theme-bootstrap
If you use the preset @docusaurus/preset-classic
, you don't need to install this plugin as a dependency.
You can configure this plugin through the preset options.
Configuration
Campos aceitos:
Nome | Type | Padrão | Descrição |
---|---|---|---|
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' | See sitemap docs |
priority | number | null | 0.5 | See sitemap docs |
ignorePatterns | string[] | [] | A list of glob patterns; matching route paths will be filtered from the sitemap. Note that you may need to include the base URL in here. |
filename | string | sitemap.xml | The path to the created sitemap file, relative to the output directory. Useful if you have two plugin instances outputting two files. |
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[]>;
This plugin also respects some site config:
noIndex
: results in no sitemap generatedtrailingSlash
: determines if the URLs in the sitemap have trailing slashes
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.
Example configuration
Você pode configurar este plugin através das opções de predefinição ou opções do plugin.
A maioria dos usuários do Docusaurus configura este plugin através das configurações de predefinição.
- Opções de predefinição
- Opções do plugin
Se você usar uma predefinição, configure este plugin através do opções de predefinição:
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/'));
},
},
},
],
],
};
Se você estiver usando um plugin independente, forneça opções diretamente para o 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/'));
},
},
],
],
};
You can find your sitemap at /sitemap.xml
.